Apache Tajo - Введение
Система распределенных хранилищ данных
Хранилище данных - это реляционная база данных, предназначенная для запросов и анализа, а не для обработки транзакций. Это предметно-ориентированный, интегрированный, изменяющийся во времени и энергонезависимый сбор данных. Эти данные помогают аналитикам принимать обоснованные решения в организации, но объемы реляционных данных увеличиваются день ото дня.
Чтобы решить эти проблемы, система распределенного хранилища данных обменивается данными между несколькими репозиториями данных для целей онлайн-аналитической обработки (OLAP). Каждое хранилище данных может принадлежать одной или нескольким организациям. Он выполняет балансировку нагрузки и масштабируемость. Метаданные реплицируются и распределяются централизованно.
Apache Tajo - это система распределенного хранилища данных, которая использует распределенную файловую систему Hadoop (HDFS) в качестве уровня хранения и имеет собственный механизм выполнения запросов вместо инфраструктуры MapReduce.
Обзор SQL в Hadoop
Hadoop - это среда с открытым исходным кодом, которая позволяет хранить и обрабатывать большие данные в распределенной среде. Он очень быстрый и мощный. Однако Hadoop имеет ограниченные возможности запросов, поэтому его производительность можно повысить с помощью SQL на Hadoop. Это позволяет пользователям взаимодействовать с Hadoop с помощью простых команд SQL.
Некоторые из примеров SQL в приложениях Hadoop: Hive, Impala, Drill, Presto, Spark, HAWQ и Apache Tajo.
Что такое Apache Tajo
Apache Tajo - это среда для реляционной и распределенной обработки данных. Он разработан для анализа нерегулярных запросов с малой задержкой и масштабируемости.
Tajo поддерживает стандартный SQL и различные форматы данных. Большинство запросов Tajo можно выполнить без каких-либо изменений.
Тахо имеет fault-tolerance через механизм перезапуска для неудачных задач и расширяемый механизм перезаписи запросов.
Тахо выполняет необходимые ETL (Extract Transform and Load process)операции для суммирования больших наборов данных, хранящихся в HDFS. Это альтернатива Hive / Pig.
Последняя версия Tajo имеет улучшенные возможности подключения к программам Java и сторонним базам данных, таким как Oracle и PostGreSQL.
Особенности Apache Tajo
Apache Tajo имеет следующие особенности -
- Превосходная масштабируемость и оптимизированная производительность
- Низкая задержка
- Пользовательские функции
- Фреймворк для хранения строк / столбцов.
- Совместимость с HiveQL и Hive MetaStore
- Простой поток данных и простота обслуживания.
Преимущества Apache Tajo
Apache Tajo предлагает следующие преимущества -
- Легко использовать
- Упрощенная архитектура
- Оптимизация запросов на основе затрат
- План выполнения векторизованного запроса
- Быстрая доставка
- Простой механизм ввода-вывода и поддерживает различные типы хранилищ.
- Отказоустойчивость
Примеры использования Apache Tajo
Ниже приведены некоторые варианты использования Apache Tajo:
Хранилище данных и анализ
Корейская компания SK Telecom обработала Tajo с объемом данных 1,7 терабайта и обнаружила, что она может выполнять запросы с большей скоростью, чем Hive или Impala.
Обнаружение данных
Корейский музыкальный потоковый сервис Melon использует Tajo для аналитической обработки. Tajo выполняет задания ETL (процесс извлечения-преобразования-загрузки) в 1,5–10 раз быстрее, чем Hive.
Анализ журнала
Корейская компания Bluehole Studio разработала TERA - многопользовательскую онлайн-игру в жанре фэнтези. Компания использует Tajo для анализа игрового журнала и поиска основных причин прерывания качества обслуживания.
Хранение и форматы данных
Apache Tajo поддерживает следующие форматы данных -
- JSON
- Текстовый файл (CSV)
- Parquet
- Файл последовательности
- AVRO
- Буфер протокола
- Apache Orc
Tajo поддерживает следующие форматы хранения -
- HDFS
- JDBC
- Amazon S3
- Apache HBase
- Elasticsearch