The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск СУБД TimescaleDB 1.2"
Отправлено opennews, 31-Янв-19 13:52 
Представлен (https://blog.timescale.com/timescaledb-1-2-analytical-functi.../)   выпуск СУБД TimescaleDB 1.2 (https://ww.timescale.com), предназначенной для хранения и обработки данных в форме временного ряда (срезы значений параметров через заданные промежутки времени, запись образует время и набор соответствующих этому времени значений). Подобная форма хранения оптимальна для таких применений как системы мониторинга, торговые платформы, системы сбора метрик и состояний датчиков. Предоставляются средства для интеграции с проектом Grafana (https://grafana.com/) и Prometheus (https://prometheus.io/). Проект TimescaleDB реализован в виде расширения к PostgreSQL и распространяется (https://github.com/timescale/timescaledb) под лицензией Apache 2.0.

Новый выпуск примечателен изменением модели лицензирования. Помимо ранее применяемой свободной лицензии Apache 2.0, часть кода (https://github.com/timescale/timescaledb/tree/master/tsl) с расширенными возможностями теперь поставляется под отдельной проприетарной лицензией Timescale (https://github.com/timescale/timescaledb/blob/master/tsl/LIC...) (TSL), не допускающей внесение изменений и запрещающей использование кода в сторонних продуктах. По сути код под лицензией TSL доступен лишь для просмотра. При этом функциональность под лицензией TLS можно использовать бесплатно. Ещё одна часть функций поставляется под коммерческой лицензией и входит только в состав закрытой платной Enterprise-редакции (для ознакомления поставляется ограниченная по времени trial-версия).  В том числе под коммерческой лицензией развивается код для обработки политик вытеснения устаревших данных, который позволяет хранить только актуальные данные и автоматически удалять, агрегировать или архивировать устаревшие записи.


Среди добавленных в  TimescaleDB 1.2 новшеств (https://github.com/timescale/timescaledb/releases/tag/1.2.0):

-  Поддержка упорядоченного добавления, позволяющего оптимизировать обработку больших запросов, выполняющих группировку по времени записи  и ограничивающих конечный вывод через выражение LIMIT. После включения указанной оптимизации производительность некоторых запросов с LIMIT возросла до 100 раз;

-  Добавлена поддержка установки поверх PostgreSQL 11 (https://www.opennet.ru/opennews/art.shtml?num=49462);

-  Под лицензией TSL предложены аналитические функции  для анализа данных в форме временного ряда (time_bucket_gapfill для создания непрерывных сгруппированных последовательностей, interpolate для интерполяции значений и locf для заполнения пустот предыдущим значением). Добавлена команда reorder_chunk для перегруппировки данных на диске для оптимизации выборки по определённому полю (аналог команды "CLUSTER (https://www.postgresql.org/docs/current/sql-cluster.html)" в PostgreSQL). После оптимизации хранилища зафиксировано увеличение скорость обработки некоторых запросов в 100-1000 раз;

-  Под коммерческой лицензией (Enterprise) предложены средства для управления жизненным циклом данных, позволяющие выполнять чистку устаревших записей и перегруппировку данных по расписанию или при достижении определённых параметров, таких как размер БД.


Напомним, что СУБД TimescaleDB позволяет применять полноценные SQL-запросы для анализа накопленных данных, сочетая удобство работы, свойственное реляционным СУБД, с масштабированием и возможностями, присущими специализированным NoSQL-системам. Структура хранения оптимизирована для обеспечения высокой скорости добавления данных. Поддерживается пакетное добавления наборов данных, использование размещаемых в оперативной памяти индексов, загрузка исторических срезов задним числом, применение транзакций.

Ключевой особенностью TimescaleDB  является поддержка автоматического секционирования (партицирования) массива данных. Входной поток данных автоматически распределяется по секционированным таблицам. Секции создаются в зависимости от времени (в каждой секции  хранятся данные за определённый промежуток времени) или в привязке к произвольному ключу (например, идентификатору устройства, местоположению и т.п.). Для оптимизации производительности секционированные таблицы могут распределяться по разным дискам.

Для запросов секционированная БД выглядит как одна большая таблица, именуемая  гипертаблицей. Гипертаблица представляет собой  виртуальное представление множества отдельных таблиц, в которых накапливаются поступающие данные. Гипертаблица используется не только для запросов и добавления данных, но и для таких операций, как создание индексов и изменение структуры ("ALTER TABLE"), скрывая от разработчика низкоуровневую сегментированную структуру БД. C гипертаблицей можно использовать любые агрегатные функции, подзапросы,  операции слияния (JOIN) с обычными таблицами и оконные функции.


URL: https://blog.timescale.com/timescaledb-1-2-analytical-functi.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=50063

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру