Выпуск СКБД TimescaleDB 1.7

Апублікаваны выпуск СКБД TimescaleDB 1.7, прызначанай для захоўвання і апрацоўкі дадзеных у форме часовага шэрагу (зрэзы значэнняў параметраў праз зададзеныя прамежкі часу, запіс утварае час і набор адпаведных гэтаму часу значэнняў). Падобная форма захоўвання аптымальная для такіх ужыванняў як сістэмы маніторынгу, гандлёвыя платформы, сістэмы збору метрык і станаў датчыкаў. Прадстаўляюцца сродкі для інтэграцыі з праектам Графана и Праметэй.

Праект 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

Дадаць каментар