Apache Pinot, сховище даних OLAP з відкритим кодом

Апач Піно

Apache Pinot — це розподілене сховище даних OLAP у реальному часі

Apache Pinot — це розподілене рішення для зберігання даних OLAP у режимі реального часу, розроблене для забезпечення масштабованої аналітики в режимі реального часу з низькою затримкою.

Він може отримувати дані з пакетних джерел даних (таких як HDFS, S3, Azure Data Lake, Google Cloud Storage), а також з потокових джерел (таких як Kafka). Pinot розроблений для горизонтального масштабування, тому він може масштабуватися до більших наборів даних та вищої частоти запитів за потреби.

Про Apache Pinot

Проєкт Pinot спочатку був розроблений LinkedIn , а в 2015 році був переданий Apache Foundation для подальшої спільної розробки. Сховище розроблено для роботи в середовищі, де постійно додаються нові дані, і спроектовано таким чином, щоб забезпечити мінімальну та передбачувану затримку, що дозволяє використовувати його для обробки запитів у режимі реального часу.

Як і більшість інших сховищ даних та рішень для зберігання даних OLAP, Pinot підтримує мову запитів, подібну до SQL , яка підтримує вибір, агрегацію, фільтрацію, групування, сортування та інші запити даних.

Apache Pinot забезпечує горизонтальну масштабованість та засіб досягнення відмовостійкості й стійкості до програмних та апаратних збоїв. Процеси реплікації та резервного копіювання інтегровані безпосередньо в цикл обробки даних, що додаються до сховища даних. З одного боку, такий підхід значно спрощує архітектуру, але з іншого боку, він вводить затримку між додаванням даних та їх доступністю для запитів.

Дані зберігаються в таблицях у стовпчасто-орієнтованій базі даних, підтримуються різні схеми стиснення та можливість розміщення кількох значень в одному полі. Pinot надає підключаєму систему індексування, яка може використовувати різні технології індексування (впорядкований індекс, растровий індекс, інвертований індекс, індекс StarTree, фільтр Блума, індекс діапазону, індекс текстового пошуку (Lucence/FST), індекс JSON, геопросторовий індекс).

З характеристик, які виділяються з Apache Pinot:

  • Орієнтований на колонку– Орієнтована на стовпці база даних із різними схемами стиснення, такими як довжина серії та фіксована довжина бітів.
  • Підключаюча індексація: підключаються технології індексування, відсортований індекс, растровий індекс, інвертований індекс.
  • Оптимізація запитів- Можливість оптимізації плану запиту/виконання на основі метаданих запиту та сегмента.
  • Поглинання потоків і пакетів: Завантаження потоків Hadoop і пакетне завантаження майже в реальному часі.
  • Консультація: Механізм виконання запитів на основі SQL.
  • Upsert під час прийому в реальному часі: оновлювати дані в масштабі з послідовністю
  • Кілька полів значень: підтримка багатозначних полів, що дозволяє запитувати поля як значення, розділені комами.
  • Власна хмара на Kubernetes: Helm chart забезпечує горизонтально масштабоване, відмовостійке кластерне розгортання, яким легко керувати за допомогою Kubernetes.

Нова версія Apache Pinot

Варто зазначити, що нещодавно вийшла версія 1.0 Apache Pinot , яка, по суті, підсумувала велику роботу зі стабілізації кодової бази та врахувала побажання спільноти (було враховано понад 300 коментарів).

Крім того, варто зазначити, що новий багатоетапний механізм запитів досяг свого повного потенціалу , забезпечивши підтримку об'єднань таблиць (JOIN). Спочатку механізм чудово працював з простими операціями фільтрації та агрегації, але для забезпечення передбачуваного часу виконання запитів він не підтримував операції об'єднання таблиць.

Новий рушій включає проміжні етапи для обробки складних запитів, а його семантика SQL близька до ANSI SQL . Крім того, нова версія пропонує вбудовану підтримку обробки даних JSON, забезпечує підтримку значення "NULL", інтегрується з Apache Spark 3.x та покращує реалізацію таблиць у режимі Upsert (додаючи стиснення сегментів та надаючи підтримку операцій видалення).

Зрештою, якщо ви хочете дізнатися більше , вам слід знати, що код проєкту написаний на Java та розповсюджується за ліцензією Apache. Ви можете знайти детальну інформацію про нову версію за наступним посиланням.


Додати як пріоритетне джерело в Google