Випуск СУБД TimescaleDB 1.7

Опубліковано випуск СУБД TimescaleDB 1.7, призначеної для зберігання та обробки даних у формі тимчасового ряду (зрізи значень параметрів через задані проміжки часу, запис утворює час і набір значень, що відповідають цьому часу). Подібна форма зберігання є оптимальною для таких застосувань як системи моніторингу, торгові платформи, системи збору метрик та станів датчиків. Надаються кошти для інтеграції з проектом Grafana и Прометей.

Проект TimescaleDB реалізований у вигляді розширення до PostgreSQL та поширюється під ліцензією Apache 2.0 частина коду з розширеними можливостями постачається під окремою пропрієтарною ліцензією Часові рамки (TSL), що не допускає внесення змін, що забороняє використання коду в інших продуктах і не дозволяє безкоштовне використання в хмарних БД (database-as-a-service).

Серед змін у TimescaleDB 1.7:

  • Додано підтримку інтеграції з СУБД PostgreSQL 12. Оголошена застаріла підтримка PostgreSQL 9.6.x і 10.x (у Timescale 2.0 залишиться підтримка тільки PostgreSQL 11+).
  • Змінено поведінку запитів з безперервно виконуваними агрегатними функціями (агрегування даних, що безперервно надходять в режимі реального часу). Подібні запити тепер комбінують матеріалізовані уявлення з даними, що нещодавно надійшли, які ще не матеріалізовані (раніше агрегування охоплювало тільки вже матеріалізовані дані). Нова поведінка застосовується для безперервних агрегувань, що створюються, для існуючих уявлень слід виставити параметр «timescaledb.materialized_only=false» через «ALTER VIEW».
  • У Community-версію з комерційної редакції перенесено деякі розширені засоби управління життєвим циклом даних, включаючи можливості з перегрупування даних та обробки політик витіснення застарілих даних (дозволяють зберігати лише актуальні дані та автоматично видаляти, агрегувати або архівувати застарілі записи).

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

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

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

Джерело: opennet.ru

Додати коментар або відгук