Издаване на СУБД TimescaleDB 1.7

Публикувано издание на СУБД TimescaleDB 1.7, предназначена за съхранение и обработка на данни под формата на времеви ред (отсечени стойности на параметри през зададени интервали от време, записът формира време и набор от стойности, съответстващи на това време). Тази форма на съхранение е оптимална за приложения като системи за мониторинг, търговски платформи, системи за събиране на метрики и състояния на сензори. Предоставят се средства за интеграция с проекта Grafana и Prometheus.

Проектът TimescaleDB е реализиран под формата на разширение на PostgreSQL и разпространява е под лицензия Apache 2.0. Част от кода с разширени възможности, е предоставена под отделна проприетарна лицензия Timescale (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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster