PipelineDB выпущен как расширение PostgreSQL


PipelineDB 1.0 был выпущен как расширение PostgreSQL. Он предназначен для использования для высокопроизводительного агрегирования временных рядов на основе непрерывных SQL-запросов.

Первоначальная версия PipelineDB была выпущена как форк PostgreSQL, но пользователи требовали расширения, а не отдельного форка, и, заработав деньги на исходной версии, разработчики вложили средства в переработку PipelineDB как стандартного расширения PostgreSQL.

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

Сила PipelineDB заключается в том, что он используется для непрерывного агрегирования потоковых данных временных рядов и сохраняет только компактный вывод этих непрерывных запросов в виде постепенно обновляемых строк таблицы, которые можно оценивать с минимальной задержкой запроса. Идеальная ситуация – это когда вы заранее знаете, какие запросы собираетесь выполнять, чтобы аналитика была проще, быстрее и дешевле, потому что вы уже выполнили предварительный запрос. Это означает, что сводные данные всегда доступны для поиска с малой задержкой.

Разработчики говорят, что:

“Даже если миллиарды и миллиарды строк записываются в events_stream, наше непрерывное представление гарантирует, что только одна физическая строка в час фактически сохраняется в базе данных. Как только непрерывное представление считывает новые входящие события, и отдельное количество обновляется, чтобы отразить новые информации, необработанные события будут отброшены “.

Такой способ работы обеспечивает чрезвычайно высокие уровни пропускной способности необработанных событий на скромных аппаратных площадях и чрезвычайно низкие задержки при чтении запросов.

Наряду с анализом временных рядов PipelineDB можно использовать для того, что разработчики называют непрерывными преобразованиями:

«В отличие от непрерывных представлений, которые хранят агрегированное состояние в постепенно обновляемых таблицах, непрерывные преобразования не имеют состояния и просто применяют преобразование к потоку, записывая результат в другой поток».

PipelineDB поставляется с рядом встроенных агрегатов, включая:

Основанный на HyperLogLog различает подсчет, объединение и манипуляции

Фильтры Блума для анализа членства в множестве

Отслеживание Top-K и “тяжелых нападающих”

Анализ распределений и процентилей


Добавить комментарий