Apache Pinot
Apache Pinot (Incubating) — распределенное хранилище данных OLAP в реальном времени
Описание
Apache Pinot — это распределенное хранилище данных OLAP в реальном времени, которое используется для предоставления масштабируемой аналитики в реальном времени с низкой задержкой. Он может принимать данные из автономных источников данных (таких как Hadoop и простые файлы), а также из онлайн-источников (таких как Kafka). Pinot рассчитан на горизонтальное масштабирование.
Особенности Apache Pinot
- Колонно-ориентированная база данных с различными схемами сжатия, такими как длина цикла, фиксированная длина битов
- Сменные технологии индексации — отсортированный индекс, битовый индекс, инвертированный индекс, индекс звездного дерева
- Возможность оптимизировать план запроса / выполнения на основе метаданных запроса и сегмента.
- Прием пищи в режиме реального времени от Kafka и прием пищи от Hadoop
- SQL-подобный язык, который поддерживает выбор, агрегацию, фильтрацию, группирование, упорядочение по, отдельные запросы к фактическим данным
- Поддержка многозначных полей
- Горизонтально масштабируемый и отказоустойчивый
Ограничения сервиса
- Пино не является заменой для базы данных, то есть он не может быть использован в качестве источника хранилища правды, не может изменять данные
- Хотя Pinot поддерживает текстовый поиск, он не заменяет поисковую систему, т.е. релевантность не поддерживается.
- Запрос не может охватывать несколько таблиц. Используйте соединитель Presto-Pinot для объединения и других функций.
Пино работает очень хорошо для запроса данных временных рядов с большим количеством измерений и метрик. Пример. Запрос (просмотры профиля, эффективность рекламной кампании и т. Д.) Аналитическим способом (кто просматривал этот профиль за последние недели, сколько объявлений было кликнуто за кампанию).
-
OLAP БД
Ключевые особенности OLAP сценария работы
- Подавляющее большинство запросов - на чтение;
- Данные обновляются достаточно большими пачками (> 1000 строк), а не по одной строке, или не обновляются вообще;
- Данные добавляются в БД, но не изменяются;
- При чтении, вынимается достаточно большое количество строк из БД, но только небольшое подмножество столбцов;
- Таблицы являются «широкими», то есть, содержат большое количество столбцов;
- Запросы идут сравнительно редко (обычно не более сотни в секунду на сервер);
- При выполнении простых запросов, допустимы задержки в районе 50 мс;
- Значения в столбцах достаточно мелкие - числа и небольшие строки (пример - 60 байт на URL);
- Требуется высокая пропускная способность при обработке одного запроса (до миллиардов строк в секунду на один сервер);
- Транзакции отсутствуют;
- Низкие требования к консистентности данных;
- В запросе одна большая таблица, все таблицы кроме одной маленькие;
- Результат выполнения запроса существенно меньше исходных данных - то есть, данные фильтруются или агрегируются; результат выполнения помещается в оперативку на одном сервере.
Аналоги и альтернативы для Apache Pinot
Apache Pinot - похожие продукты (инструменты, решения, сервисы)
Отзывы
Отзывов пока нет.