С развитием индустрии больших данных сопутствующие технологии в экосистеме больших данных также постоянно совершенствуются. Автору посчастливилось лично испытать процесс развития отечественной индустрии больших данных с нуля до одного. надеемся помочь каждому быстро построить экосистему больших данных.
Основные технологии в современной экосистеме больших данных обобщены, как показано на рисунке 1, и разделены на следующие 9 категорий, которые представлены ниже.
Сбор данных также известен как синхронизация данных.
С развитием таких технологий, как Интернет, мобильный Интернет и Интернет вещей, были созданы огромные объемы данных. Эти данные разбросаны повсюду, и нам нужно объединить эти данные, а затем вычислить ценный контент из этих огромных данных. Первый шаг, который вам нужно сделать на этом этапе, — это собрать данные. Сбор данных — основа больших данных. Без сбора данных не бывает больших данных!
Существует несколько технологий сбора данных.
Выбор технологий Flume, Logstash и FileBeat показан на рисунке 2.
Выбор технологии между Sqoop и Datax показан на рисунке 3.
Выбор технологий между Cannal и Maxwell показан на рисунке 4.
Быстрый рост объема данных способствовал развитию технологий, и появился ряд отличных систем хранения, поддерживающих распределенное хранение. Платформы технологий хранения данных включают HDFS, HBase, Kudu, Kafka и т. д.
В традиционной ИТ-сфере ресурсы корпоративных серверов (память, процессор и т. д.) ограничены и фиксированы. Однако сценарии применения серверов гибки и изменчивы. Например, сегодня система временно подключена к сети и требует нескольких серверов. Через несколько дней систему необходимо отключить и очистить эти серверы.
До наступления эпохи больших данных изменения в ресурсах серверов соответствовали переходу системы в режим онлайн и офлайн, и эти изменения были ограничены.
С приходом эпохи больших данных спрос на временные задачи сильно возрос, и эти задачи часто требуют большого количества ресурсов сервера.
Очевидно, что в настоящее время нереально полагаться на персонал по эксплуатации и техническому обслуживанию, который вручную будет обрабатывать изменения в ресурсах сервера.
Поэтому, как того требует время, появились системы управления распределенными ресурсами, к числу распространенных из которых относятся YARN, Kubernetes и Mesos. Их типичные области применения показаны на рисунке 5.
Расчет данных делится на расчет данных в автономном режиме и расчет данных в реальном времени.
После более чем десяти лет разработки механизм автономных вычислений больших данных претерпел три основных изменения.
(2) Расчет данных в реальном времени
Наиболее типичным сценарием обработки данных в реальном времени в отрасли является экран больших данных Tmall «Double Eleven».
Индикаторы данных, такие как общая сумма транзакции и общий объем заказа, отображаемые на большом экране данных, рассчитываются в режиме реального времени.
После того, как пользователь приобретет продукт, сумма продукта будет добавлена к общей сумме транзакции на экране больших данных в режиме реального времени.
Для расчета данных в реальном времени используются три основных инструмента:
Различия между Spark Streaming, Storm и Flink показаны в таблице 4.
Выбор технологий среди Storm, Spark и Flink показан на рисунке 6.
Раньше Spark в основном использовался для автономных вычислений на предприятиях, а Flink в основном использовался для вычислений в реальном времени.
В число технологий анализа данных входят Hive, Impala, Kylin, Clickhouse, Druid, Drois и т. д. Типичные сценарии их применения показаны на рисунке 7.
Hive, Impala и Kylin являются типичными механизмами автономного анализа данных OLAP и в основном используются в области автономного анализа данных. Различия между ними показаны в таблице 5.
Clickhouse, Druid и Drois являются типичными механизмами анализа данных OLAP в реальном времени и в основном используются в области анализа данных в реальном времени. Различия между ними показаны в таблице 6.
Технологические платформы планирования задач включают Azkaban, Ooize, DolphinScheduler и т. д. Они подходят для планирования рутинных задач, которые выполняются в обычное время, а также многоуровневых задач, содержащих сложные зависимости. Они поддерживают распределение и обеспечивают производительность и стабильность системы планирования. Различия между ними показаны в таблице 7.
Предыдущий выбор технологии показан на рисунке 8.
Базовая технологическая основа больших данных в основном относится к Zookeeper. Zookeeper в основном предоставляет часто используемые базовые функции (такие как пространство имен, службы конфигурации и т. д.). Zookeeper используется для запуска таких технических компонентов, как Hadoop (HA), HBase и Kafka, в экосистеме больших данных.
С постепенным накоплением данных на предприятиях требования к статистическому анализу массивных данных будут становиться все более разнообразными: не только анализ, но и быстрые и сложные запросы с множеством условий. Например, функция поиска продуктов на веб-сайтах электронной коммерции и функция поиска информации в различных поисковых системах относятся к категории быстрых и сложных запросов с множеством условий. Выбирая инструмент полнотекстового поиска, вы можете сравнить его по простоте использования, масштабируемости, стабильности, сложности эксплуатации и обслуживания кластера, степени интеграции проекта и активности сообщества. Сравнение Lucene, Solr и Elasticsearch показано в таблице 8.
Если предприятие хочет перейти от традиционной обработки данных к обработке больших данных, первое, что нужно сделать, — это построить стабильную и надежную платформу больших данных. Полноценная платформа больших данных должна включать сбор данных, хранение данных, расчет данных, анализ данных, мониторинг кластера и другие функции, а это означает, что она должна включать Flume, Kafka, Haodop, Hive, HBase, Spark, Flink и другие компоненты. Эти компоненты необходимо развернуть на сотнях или даже тысячах машин.
Если вы полагаетесь на персонал по эксплуатации и техническому обслуживанию для установки каждого компонента по отдельности, рабочая нагрузка будет относительно большой, и необходимо учитывать проблемы соответствия и различные конфликты между версиями, а последующие работы по обслуживанию кластера также окажут большое давление на персонал по эксплуатации и техническому обслуживанию.
Поэтому некоторые зарубежные производители инкапсулировали компоненты в большие данные и предоставили интегрированную платформу больших данных, которую можно использовать для быстрой установки компонентов больших данных. В настоящее время к наиболее распространенным в отрасли относятся CDH, HDP, CDP и т. д.
Взаимосвязь между ними показана на рисунке 9.