AVRO

Apache Avro

Avro – это линейно-ориентированный (строчный) формат хранения файлов Big Data, активно применяемый в экосистеме Apache Hadoop и широко используемый в качестве платформы сериализации. Как устроен формат Avro для файлов Big Data: структура и принцип работы Avro сохраняет схему в независимом от реализации текстовом формате JSON (JavaScript Object Notation), что облегчает ее чтение и интерпретацию как программами, так и человеком [1]. Файл Авро состоит из заголовка и блоков данных. Заголовок содержит: 4 байта, ASCII ‘O’, ‘b’, ‘j’, далее 1. метаданные файла, содержащие схему – структуру представления данных. 16-байтное случайное число — маркер файла. Для блоков данных Avro может использовать компактную бинарную кодировку или человекочитаемый формат JSON, удобный для отладки. В отличие от многих других форматов Big Data, столбцовых (RCFile, Apache ORC и Далее …

Big Data

Big Data (Большие данные) Big Data — данные большого объема, высокой скорости накопления или изменения и/или разновариантные информационные активы, которые требуют экономически эффективных, инновационных формы обработки данных, которые позволяют получить расширенное  понимание информации, способствующее принятию решений и автоматизации процессов. Для каждой организации или компании существует предел объема данных (Volume) которые компания или организация способна обрабатывать одновременно для целей аналитики, как правило этот объем ограничен объемами оперативной памяти серверов корпоративных приложений и баз данных и необходимостью партиционирования (Partitioning)  хранимых данных. Для каждой организации или компании существуют физические ограничения на количество транзакций/ объем данных (Velocity) , которая корпоративныя система может обработать или передать за единицу времени вследствии ограничений scale in архитектуры.  Традиционные корпоративные системы (реляционные) могут использовать эффективно только структурированные источники поступления Далее …

CAP

Big Data, Большие данные, NoSQL, SQL, HBase, Cassandra, архитектура

CAP – это акроним от англоязычных слов Consistency (Согласованность, Целостность), Availability (Доступность) и Partition tolerance (Устойчивость к разделению). Согласно утверждению профессора Калифорнийского университета в Беркли, Эрика Брюера, сделанному в 2000-м году, в распределенных системах осуществимы лишь 2 свойства из указанных 3-х. В частности, считается что нереляционные базы данных жертвуют согласованностью данных в пользу доступности и устойчивости к разделению, когда расщепление распределённой системы на несколько изолированных частей сохраняет корректный отклик от каждой из них [1]. В 2002 году Сет Гилберт и Нэнси Линч из MIT опубликовали формальное доказательство гипотезы Брюера, после чего она стала считаться теоремой [2]. Классы NoSQL-СУБД с точки зрения CAP-теоремы и их значимость для Big Data По аналогии с железным треугольником проектного менеджмента, когда требуется найти баланс между сроками, затратами Далее …

Cassandra

Big Data, Большие данные, архитектура, обработка данных, NoSQL, SQL, Cassandra

Apache Cassandra – это нереляционная отказоустойчивая распределенная СУБД, рассчитанная на создание высокомасштабируемых и надёжных хранилищ огромных массивов данных, представленных в виде хэша. Проект был разработан на языке Java в корпорации Facebook в 2008 году, и передан фонду Apache Software Foundation в 2009 [1]. Эта СУБД относится к гибридным NoSQL-решениям, поскольку она сочетает модель хранения данных на базе семейства столбцов (ColumnFamily) с концепцией key-value (ключ-значение) [2]. Модель данных Apache Cassandra Модель данных Cassandra состоит из следующих элементов [3]: столбец или колонка (column) – ячейка с данными, включающая 3 части – имя (column name) в виде массива байтов, метку времени (timestamp) и само значение (value) также в виде байтового массива. С каждым значением связана метка времени — задаваемое пользователем 64-битное число, которое используется Далее …

Cloudera

Cloudera CDH (Cloudera’s Distribution including Apache Hadoop) — дистрибутив Apache Hadoop с набором программ, библиотек и утилит, разработанных компанией Cloudera для больших данных (Big Data) и машинного обучения (Machine Learning), бесплатно распространяемый и коммерчески поддерживаемый для некоторых Linux-систем (Red Hat, CentOS, Ubuntu, SuSE SLES, Debian) [1]. Состав и архитектура Клаудера CDH Помимо классического Hadoop от Apache Software Foundation, состоящего из 4-х основных модулей (HDFS, MapReduce, Yarn и Hadoop Common), CDH также содержит дополнительные решения Apache для работы с большими данными и машинным обучением: инструменты для управления потоками данных (Flume, Sqoop); фреймворки распределённой и потоковой обработки, а также брокеры сообщений (Spark, Kafka) СУБД для Big Data аналитики (HBase, Hive, Impala); высокоуровневый процедурный язык для выполнения запросов к большим слабоструктурированным наборам данных Далее …

CRISP-DM

CRISP-DM, обработка данных, Big Data, Большие данные, жизненный цикл, Machine Learning, машинное обучение

CRISP-DM (от английского Cross-Industry Standard Process for Data Mining) — межотраслевой стандартный процесс исследования данных. Это проверенная в промышленности и наиболее распространённая методология, первая версия которой была представлена в Брюсселе в марте 1999 года, а пошаговая инструкция опубликована в 2000 году [1]. CRISP-DM описывает жизненный цикл исследования данных, состоящий из 6 фаз, от постановки задачи с точки зрения бизнеса до внедрения технического решения. Последовательность между фазами определена не строго, переходы могут повторяться от итерации к итерации [1]. Все фазы CRISP-DM делятся на задачи, по итогам каждой должен быть достигнут конкретный результат [2]. Рассмотрим подробнее фазы жизненного цикла исследования данных по CRISP-DM [3]: Понимание бизнеса (Business Understanding) – определение целей проекта и требований со стороны бизнеса. Затем эти знания конвертируются в Далее …

Data Lake

Data Lake (Озеро данных) — это метод хранения данных системой или репозиторием в натуральном (RAW) формате, который предполагает одновременное хранение данных в различных схемах и форматах. Обычно используется blob-объект (binary large object) или файл. Идея озера данных в том чтобы иметь логически определенное, единое хранилище всех данных в организации (enterprise data) начиная от сырых, необработанных исходных данных (RAW data) до предварительно обработанных (transformed) данных, которые используются для различных задач: отчеты, визуализация, аналитика и машинное обучение. Data Lake (озеро данных) включает структурированные данные из реляционных баз данных (строки и колонки), полуструктурированные данные (CSV, лог файлы, XML, JSON), неструктурированные данные (почтовые сообщения, документы, pdf) и даже бинарные данные (видео, аудио, графические файлы). Data Lake (озеро данных), кроме методов хранения и описания данных, предполагает Далее …

Data Mining

Data Mining — процесс поиска в сырых необработанных данных интересных, неизвестных, нетривиальных взаимосвязей и полезных знаний, позволяющих интерпретировать и применять результаты для принятия решений в любых сферах  человеческой деятельности. Представляет собой совокупность методов  визуализации, классификации, моделирования и прогнозирования, основанные на применении деревьев решений, искусственных нейронных сетей, генетических алгоритмов, эволюционного программирования, ассоциативной памяти, нечёткой логики.   Дополнительно о Data Mining на Википедии

Data Science

Big Data, Большие данные, обработка данных, машинное обучение, Machine Learning

Data Science – это наука о данных, объединяющая разные области знаний: информатику, математику и системный анализ. Сюда входят методы обработки больших данных (Big Data), интеллектуального анализа данных (Data Mining), статистические методы, методы искусственного интеллекта, в т.ч машинное обучение (Machine Learning). DS включает методы проектирования и разработки баз данных и прикладного программного обеспечения [1]. Немного истории: как появилась Data Science и при чем тут большие данные В отличие от термина «большие данные», который стал популярен с 2010-х гг., наука о данных зародилась намного раньше, во второй половине 20-го века. Первое упоминание этого понятия датируется 1974 годом, когда вышла книга Петера Наура. В этой публикации Data Science определяется как дисциплина по изучению жизненного цикла цифровых данных, от момента их появления до преобразования Далее …

Flink

Apache Flink, Apache Spark, Флинк, Спарк, Big Data, Большие данные

Apache Flink – это распределенная отказоустойчивая платформа обработки информации с открытым исходным кодом, используемая в высоконагруженных Big Data приложениях для анализа данных, хранящихся в кластерах Hadoop. Разработанный в 2010 году в Техническом университете Берлина в качестве альтернативы Hadoop MapReduce для распределенных вычислений больших наборов данных, Flink использует подход ориентированного графа, устраняя необходимость в отображении и сокращения [1]. Подобно Apache Spark, Flink имеет готовые коннекторы с Apache Kafka, Amazon Kinesis, HDFS, Cassandra, Google Cloud Platform и др., а также интегрируется со всеми основными системами управления кластерами: Hadoop YARN, Apache Mesos и Kubernetes. Кроме того, Флинк может использоваться в качестве основы автономного кластера [1]. Как устроен Apache Flink: архитектура и принцип работы Входные данные каждого потока Флинк берутся с одного или нескольких источников, например, из очереди сообщений Далее …

Hadoop

хадуп, Hadoop

Hadoop – это свободно распространяемый набор утилит, библиотек и фреймворк для разработки и выполнения распределённых программ, работающих на кластерах из сотен и тысяч узлов. Эта основополагающая технология хранения и обработки больших данных (Big Data) является проектом верхнего уровня фонда Apache Software Foundation. Из чего состоит Hadoop: концептуальная архитектура Изначально проект разработан на Java в рамках вычислительной парадигмы MapReduce, когда приложение разделяется на большое количество одинаковых элементарных заданий, которые выполняются на распределенных компьютерах (узлах) кластера и сводятся в единый результат [1]. Проект состоит из основных 4-х модулей: Hadoop Common – набор инфраструктурных программных библиотек и утилит, которые используются в других решениях и родственных проектах, в частности, для управления распределенными файлами и создания необходимой инфраструктуры [1]; HDFS – распределённая файловая система, Hadoop Далее …

HBase

Big Data, Большие данные, архитектура, обработка данных, Hadoop, SQL

Apache HBase – это нереляционная, распределенная база данных с открытым исходным кодом, написанная на языке Java по аналогии BigTable от Google. Изначально эта СУБД класса NoSQL создавалась компанией Powerset в 2007 году для обработки больших объёмов данных в рамках поисковой системы на естественном языке. Проектом верхнего уровня Apache Software Foundation HBase стала в 2010 году. СУБД относится к категории «семейство столбцов» (wide-column store) и представляет собой колоночно-ориентированное, мультиверсионное хранилище типа «ключ-значение» (key-value). Она работает поверх распределенной файловой системы HDFS и обеспечивает возможности BigTable для Hadoop, реализуя отказоустойчивый способ хранения больших объёмов разреженных данных [1]. Как хранится информация в NoSQL СУБД: модель данных Модель данных HBase отличается от классических реляционных СУБД, реализуясь по типу ключ-значение – <table, RowKey, Column Family, Column, timestamp> -> Value [2]: данные организованы в Далее …

HDFS

HDFS (Hadoop Distributed File System) — распределенная файловая система Hadoop

HDFS (Hadoop Distributed File System) — распределенная файловая система Hadoop для хранения файлов больших размеров с возможностью потокового доступа к информации, поблочно распределённой по узлам вычислительного кластера [1], который может состоять из произвольного аппаратного обеспечения [2]. Hadoop Distributed File System, как и любая файловая система – это иерархия каталогов с вложенными в них подкаталогами и файлами [3]. Применение Hadoop Distributed File System HDFS – неотъемлемая часть Hadoop, проекта верхнего уровня Apache Software Foundation, и основа инфраструктуры больших данных (Big Data). Однако, Hadoop поддерживает работу и с другими распределёнными файловыми системами, в частности, Amazon S3 и CloudStore. Также некоторые дистрибутивы Hadoop, например, MapR, реализуют свою аналогичную распределенную файловую систему – MapR File System [1]. HDFS может использоваться не только для запуска MapReduce-заданий, но Далее …

HDInsight

HDInsight — это корпоративный сервис с открытым кодом от Microsoft для облачной платформы Azure, позволяющий работать с кластером Apache Hadoop в облаке в рамках управления и аналитической работы с большими данными (Big Data).  Экосистема HDInsight Azure HDInsight – это облачная экосистема компонентов Apache Hadoop на основе платформы данных Hortonworks Data Platform (HDP) [1], которая поддерживает несколько версий кластера Hadoop. Каждая из версий создает конкретную версию платформы HDP и набор компонентов, содержащихся в этой версии. C 4 апреля 2017 г. Azure HDInsight по умолчанию использует версию кластера 3.6 на основе HDP 2.6. Кроме основных 4-х компонентов Hadoop (HDFS, YARN, Hadoop Common и Hadoop MapReduce), в состав версии 3.6 также входят следующие решения Apache Software Foundation [2]: Pig — высокоуровневый язык обработки данных и фреймворк Далее …

Hortonworks

Большие данные, Big Data, Hadoop, Apache, администрирование, инфраструктура, дистрибутив хортонворкс

Hortonworks Data Platform (HDP) — дистрибутив Apache Hadoop с набором программ, библиотек и утилит Apache Software Foundation, адаптированных компанией Hortonworks для больших данных (Big Data) и машинного обучения (Machine Learning), бесплатно распространяемый и коммерчески поддерживаемый [1]. Помимо HDP, компания Hortonworks предлагает еще другие продукты для Big Data и Machine Learning, также основанные на проектах Apache Software Foundation [2]: Hortonworks DataFlow (HDF) –NiFi, Storm и Kafka; Сервисы Hortonworks DataPlane: Apache Atlas и Cloudbreak для интеграции со сторонними решениями. Состав и архитектура Hortonworks Кроме базового набора модулей Hadoop от Apache Software Foundation (HDFS, MapReduce, Yarn и Hadoop Common), HDP также содержит дополнительные решения Apache для работы с большими данными и машинным обучением: Flume, Sqoop, Falcon, NFS, WebHDFS для управления потоками данных; Kerberos, Далее …

Impala

IMPA: Cloudera Impala Data Analytics

Impala – это массово-параллельный механизм интерактивного выполнения SQL-запросов к данным, хранящимся в Apache Hadoop (HDFS и HBase), написанный на языке С++ и распространяющийся по лицензии Apache 2.0. Также Импала называют MPP-движком (Massively Parallel Processing), распределенной СУБД и даже базой данных стека SQL-on-Hadoop. Как появился Apache Impala и чем это связано с Cloudera: история разработки Изначально рассматриваемый продукт был разработан компанией Cloudera и представлен на рынок в 2012 году, а 2 декабря 2015 года был принят в инкубатор фонда Apache Software Foundation. Поэтому сегодня Apache Импала обычно означает свободно распространяемое решение, а Cloudera Impala – коммерчески поддерживаемую версию от исходной компании-разработчика (Cloudera) [1]. Разумеется, Импала – это не единственное решение класса SQL-on-Hadoop. Помимо рассматриваемого продукта, такими аналитическими средствами для Big Data являются Далее …

Kubernetes

Kubernetes, K8s, контейнеризация в Big Data, DevOps

Kubernetes (K8s) – это программное обеспечение для автоматизации развёртывания, масштабирования и управления контейнеризированными приложениями. Поддерживает основные технологии контейнеризации (Docker, Rocket) и аппаратную виртуализацию [1]. Зачем нужен Kubernetes Kubernetes необходим для непрерывной интеграции и поставки программного обеспечения (CI/CD, Continuos Integration/ Continuos Delivery), что соответствует DevOps-подходу. Благодаря «упаковке» программного окружения в контейнер, микросервис можно очень быстро развернуть на рабочем сервере (production), безопасно взаимодействуя с другими приложениями. Наиболее популярной технологией такой виртуализации на уровне операционной системы считается Docker, пакетный менеджер которого (Docker Compose) позволяет описывать и запускать многоконтейнерные приложения [2]. Однако, если необходим сложный порядок запуска большого количества таких контейнеров (от нескольких тысяч), как это бывает в Big Data системах, потребуется средство управления ими – инструмент оркестрации. Именно это считается основным назначением Kubernetes. Далее …

MapR

мапр, MapRDataTechnologies

MapR Convergent Data Platform (MapRCDP) — дистрибутив Apache Hadoop с набором программ, библиотек и утилит Apache Software Foundation, а также средств собственной разработки американской компании MapR для больших данных (Big Data) и машинного обучения (Machine Learning) [1]. Существует три версии MapRCDP: Community Edition (M3) — бесплатная версия сообщества; Enterprise Edition (M5) — обеспечивает высокую доступность и защиту данных, включая мультиузловый NFS; Enterprise Database Edition (M7) – включает данные структурированных таблиц изначально на уровне хранилища и предоставляет гибкую базу данных NoSQL. MapRCDP может быть установлен на многих версиях Red Hat Enterprise Linux, CentOS, Ubuntu, Oracle Linux и SUSE.  Состав и архитектура MapR Как и другие популярные дистрибутивы Hadoop (Cloudera, HortonWorks, ArenaData), кроме его основных модулей, MapR содержит дополнительные продукты для работы Далее …

MapReduce

Big Data, Большие данные, архитектура, обработка данных, Spark, Hadoop

MapReduce – это модель распределённых вычислений от компании Google, используемая в технологиях Big Data для параллельных вычислений над очень большими (до нескольких петабайт) наборами данных в компьютерных кластерах, и фреймворк для вычисления распределенных задач на узлах (node) кластера [1]. Назначение и области применения MapReduce можно по праву назвать главной технологией Big Data, т.к. она изначально ориентирована на параллельные вычисления в распределенных кластерах. Суть MapReduce состоит в разделении информационного массива на части, параллельной обработки каждой части на отдельном узле и финального объединения всех результатов. Программы, использующие MapReduce, автоматически распараллеливаются и исполняются на распределенных узлах кластера, при этом исполнительная система сама заботится о деталях реализации (разбиение входных данных на части, разделение задач по узлам кластера, обработка сбоев и сообщение между распределенными компьютерами). Далее …

NoSQL

Big Data, Большие данные, архитектура, обработка данных, SQL, HBase, Hadoop, Cassandra, NoSQL

NoSQL – это подход к реализации масштабируемого хранилища (базы) информации с гибкой моделью данных, отличающийся от классических реляционных СУБД. В нереляционных базах проблемы масштабируемости (scalability) и доступности (availability), важные для Big Data, решаются за счёт атомарности (atomicity) и согласованности данных (consistency) [1]. Зачем нужны нереляционные базы данных в Big Data: история появления и развития NoSQL-базы оптимизированы для приложений, которые должны быстро, с низкой временной задержкой (low latency) обрабатывать большой объем данных с разной структурой [2]. Таким образом, нереляционные хранилища непосредственно ориентированы на Big Data. Однако, идея баз данных такого типа зародилась гораздо раньше термина «большие данные», еще в 80-е годы прошлого века, во времена первых компьютеров (мэйнфреймов) и использовалась для иерархических служб каталогов. Современное понимание NoSQL-СУБД возникло в начале 2000-х годов, в Далее …