Файл: Доклад по дисциплине Информатика.rtf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.05.2024

Просмотров: 17

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


  • эволюция схемы для модификации таблиц без необходимости переписывать или переносить данные;

  • скрытое разделение данных, что избавляет пользователей от необходимости поддерживать разделы; и

  • возможность "путешествия во времени", которая поддерживает воспроизводимые запросы с использованием одного и того же снапшота таблицы.

11. Kafka

Kafka — это платформа распределенной потоковой передачи событий, которая, по данным Apache, используется более чем 80% компаний из списка Fortune 100 и тысячами других организаций для высокопроизводительных дата-пайплайнов, потоковой аналитики, интеграции данных и критически важных приложений. Проще говоря, Kafka — это фреймворк для хранения, чтения и анализа потоковых данных.

Технология разделяет потоки информации и системы, удерживая потоки данных, чтобы затем использовать их в других местах. Она работает в распределенной среде и использует высокопроизводительный сетевой протокол TCP для связи с системами и приложениями. Kafka была создана компанией LinkedIn, а в 2011 году была передана компании Apache.

Ниже перечислены некоторые из ключевых компонентов Kafka:

  • набор из пяти основных API для Java и языка программирования Scala;

  • отказоустойчивость для серверов и клиентов в кластерах Kafka; и

  • эластичная масштабируемость до 1 000 "брокеров", или серверов хранения, на кластер.

12. Kylin

Kylin — это распределенное хранилище информации и аналитическая платформа для больших данных. Она предоставляет механизм аналитической обработки информации (OLAP), предназначенный для работы с очень большими массивами данных. Поскольку Kylin построена на базе других технологий Apache, включая Hadoop, Hive, Parquet и Spark, то она, по словам ее сторонников, может легко масштабироваться для обработки больших объемов данных.

Кроме того, она работает быстро, обеспечивая ответы на запросы, измеряемые миллисекундами. Также, Kylin обладает простым интерфейсом для многомерного анализа больших данных и интегрируется с Tableau, Microsoft Power BI и другими инструментами BI. Изначально Kylin была разработан компанией eBay, которая предоставила ее в качестве технологии с открытым исходным кодом в 2014 году; в следующем году она стал проектом верхнего уровня в рамках Apache. Среди других возможностей, которые она предоставляет, можно отметить следующие:

  • интерфейс ANSI SQL для многомерного анализа больших данных; интеграция с Tableau, Microsoft Power BI и другими инструментами BI;

  • предварительный расчет многомерных OLAP-кубов для ускорения аналитики.


13. Presto

Ранее известная как PrestoDB, эта система запросов SQL с открытым исходным кодом может одновременно обрабатывать как быстрые запросы, так и большие объемы информации в распределенных массивах данных. Presto оптимизирована для интерактивных запросов с низкой задержкой и масштабируется для поддержки аналитических приложений, работающих с несколькими петабайтами информации в хранилищах данных и других репозиториях.

Разработка Presto началась в Facebook в 2012 году. Когда ее создатели покинули компанию в 2018 году, технология раскололась на две ветви: PrestoDB, которую по-прежнему возглавляла Facebook, и PrestoSQL, которую запустили первоначальные разработчики. Так продолжалось до декабря 2020 года, когда PrestoSQL была переименована в Trino, а PrestoDB вернулась к названию Presto. В настоящее время проект Presto с открытым исходным кодом курируется Фондом Presto Foundation, который был создан как часть Linux Foundation в 2019 году.

Presto также включает следующие функции:

  • поддержка запросов к данным в Hive, различных базах данных и проприетарных хранилищах информации;

  • возможность объединять данные из нескольких источников в одном запросе;

  • время отклика на запрос, которое обычно составляет от менее секунды до нескольких минут.

14. Samza

Samza — это система распределенной обработки потоков, созданная компанией LinkedIn и являющаяся в настоящее время проектом с открытым исходным кодом под управлением Apache. Согласно сайта проекта, Samza позволяет пользователям создавать стейтфул-приложения, способные в реальном времени обрабатывать данные из Kafka, HDFS и других источников.

Система может запускаться поверх Hadoop YARN или Kubernetes, также предлагается вариант автономного развертывания. На сайте Samza говорится, что она может обрабатывать "несколько терабайт" информации о состоянии данных с низкой задержкой и высокой пропускной способностью для быстрого анализа. При запуске пакетных приложений унифицированный API также может использовать тот же код, который был написан для работы с потоковыми данными. К другим особенностям относятся следующие:

  • встроенная интеграция с Hadoop, Kafka и некоторыми другими платформами данных;

  • возможность запуска в качестве встроенной библиотеки в приложениях на Java и Scala;

  • функции отказоустойчивости, разработанные для быстрого восстановления после сбоев системы.

15. Spark

Spark — это механизм обработки и анализа данных в памяти, который может работать на кластерах, управляемых Hadoop YARN, Mesos и Kubernetes, или в автономном режиме. Он позволяет выполнять масштабные преобразования и анализ данных; может использоваться как для пакетных, так и потоковых приложений, а также для машинного обучения и обработки графов. Все это поддерживается следующим набором встроенных модулей и библиотек:


  • Spark SQL, для оптимизированной обработки структурированных данных с помощью SQL-запросов;

  • Spark Streaming и Structured Streaming, два модуля обработки потоков;

  • MLlib, библиотека машинного обучения, включающая алгоритмы и соответствующие инструменты;

  • GraphX, API, который добавляет поддержку графовых приложений.

Доступ к информации можно получить из различных источников, включая HDFS, реляционные и NoSQL базы данных, а также датасеты в виде плоских файлов. Spark также поддерживает различные форматы файлов и предлагает разнообразный набор API для разработчиков.

Но его главная визитная карточка — скорость: разработчики Spark утверждают, что он может работать в 100 раз быстрее традиционного аналога MapReduce на пакетных заданиях при обработке в памяти. В результате Spark стал лучшим выбором для многих пакетных приложений в средах больших данных, а также функционировал как универсальный механизм. Впервые разработанный в Калифорнийском университете Беркли и в настоящее время поддерживаемый компанией Apache, он также может обрабатывать данные на диске, когда датасеты слишком велики, чтобы уместиться в доступной памяти.

16. Storm

Еще одна технология Apache с открытым исходным кодом, Storm — это распределенная система вычислений в реальном времени, предназначенная для надежной обработки неограниченных потоков данных. Согласно сайта проекта, она может использоваться для приложений, включающих аналитику в реальном времени, онлайновое машинное обучение и непрерывные вычисления, а также задания по извлечению, преобразованию и загрузке данных (ETL).

Кластеры Storm схожи с кластерами Hadoop, но приложения продолжают выполняться на постоянной основе, если их не остановить. Система отказоустойчива и гарантирует, что данные будут обработаны. Кроме того, на сайте Apache Storm говорится, что ее можно использовать с любым языком программирования, системой очередей сообщений и базой данных. Storm также включает следующие элементы:

  • функция Storm SQL, позволяющая выполнять SQL-запросы к потоковым датасетам;

  • Trident и Streams API, два других высокоуровневых интерфейса для обработки в Storm;

  • использование технологии Apache Zookeeper для координации кластеров.

17. Trino

Как упоминалось выше, Trino — это одна из двух ветвей системы обработки запросов Presto. Известный как PrestoSQL до ребрендинга в декабре 2020 года, Trino "работает со смехотворной скоростью", по словам Trino Software Foundation. Эта группа, контролирующая разработку Trino, была первоначально создана в 2019 году как Presto Software Foundation; ее название также было изменено в рамках ребрендинга.


Trino позволяет пользователям запрашивать информацию независимо от того, где она хранится, с поддержкой нативного выполнения запросов в Hadoop и других репозиториях данных. Как и Presto, Trino также:

  • предназначена как для ситуативной интерактивной аналитики, так и для длительных пакетных запросов;

  • может объединять в запросах данные из нескольких систем;

  • работает с Tableau, Power BI, R и другими инструментами BI и аналитики.

Также следует рассмотреть: Базы данных NoSQL

Базы данных NoSQL являются еще одним основным элементом технологии больших данных. Они отличаются от традиционных реляционных баз данных на основе SQL тем, что поддерживают гибкие схемы. Это делает их удобными для работы с огромными объемами всех типов информации - особенно с неструктурированными и полуструктурированными данными, которые плохо подходят для строгих схем, используемых в реляционных системах.

Программное обеспечение NoSQL появилось в конце 2000-х годов, чтобы помочь справиться с растущими объемами разнообразной информации, которую организации генерировали, собирали и хотели анализировать в рамках реализации инициатив по работе с большими данными. С тех пор базы данных NoSQL получили широкое распространение и в настоящее время используются на предприятиях различных отраслей. Многие из них являются технологиями с открытым исходным кодом, которые также предлагаются поставщиками в коммерческих версиях, а некоторые представляют собой проприетарные продукты, контролируемые одним вендором.

Кроме того, сами базы данных NoSQL бывают разных типов, которые поддерживают различные приложения для работы с большими данными. Вот четыре основные категории NoSQL с примерами доступных технологий в каждой из них:

Базы данных документов. Они хранят элементы данных в структурах, подобных документам, используя такие форматы, как JSON. Примеры включают Apache CouchDB, Couchbase Server, MarkLogic и MongoDB.

Графовые базы данных. Они соединяют "узлы" данных в графоподобные структуры, чтобы подчеркнуть взаимосвязи между информационными элементами. Примеры: AllegroGraph, Amazon Neptune и Neo4j.

Хранилища "ключ-значение". Они объединяют уникальные ключи и связанные с ними значения в относительно простую модель данных, которая легко масштабируется. Примерами являются Aerospike, Amazon DynamoDB и Redis.

Многоколоночные базы данных. Они хранят информацию в таблицах, которые могут содержать очень много столбцов для обработки огромного количества элементов данных. Примерами являются Cassandra, Google Cloud Bigtable и HBase.


Также были созданы мультимодельные базы данных с поддержкой различных NoSQL-подходов, а в некоторых случаях и SQL; примерами являются ArangoDB и Azure Cosmos DB от Microsoft. Другие вендоры NoSQL добавили поддержку мультимодельности в свои базы данных. Например, MarkLogic теперь включает хранилище графов, Couchbase Server поддерживает пары ключ-значение, а Redis предлагает модули баз данных документов и графов.