Издаване на СУБД 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