Wydanie TimescaleDB 1.7

opublikowany Wydanie DBMS-a Skala czasuDB 1.7, przeznaczony do przechowywania i przetwarzania danych w postaci szeregu czasowego (wycinki wartości parametrów w określonych odstępach czasu; zapis tworzy czas i zbiór wartości odpowiadający temu czasowi). Ta forma przechowywania jest optymalna dla zastosowań takich jak systemy monitorowania, platformy handlowe, systemy gromadzenia metryk i stanów czujników. Dostępne są narzędzia umożliwiające integrację z projektem grafana и Prometheus.

Projekt TimescaleDB został zaimplementowany jako rozszerzenie PostgreSQL i dystrybuowane przez na licencji Apache 2.0. Część kodu z zaawansowanymi funkcjami dostępnymi w ramach osobnej, zastrzeżonej licencji Skala czasu (TSL), która nie pozwala na zmiany, zabrania używania kodu w produktach firm trzecich oraz nie pozwala na swobodne korzystanie z baz danych w chmurze (database-as-a-service).

Wśród zmian w TimescaleDB 1.7:

  • Dodano obsługę integracji z DBMS PostgreSQL 12. Obsługa PostgreSQL 9.6.xi 10.x została wycofana (Timescale 2.0 obsługuje tylko PostgreSQL 11+).
  • Zmieniono zachowanie zapytań z ciągle działającymi funkcjami agregującymi (agregacją napływających danych w czasie rzeczywistym). Takie zapytania łączą teraz zmaterializowane widoki z nowo otrzymanymi danymi, które jeszcze się nie zmaterializowały (poprzednio agregacja obejmowała tylko dane, które już się zmaterializowały). Nowe zachowanie dotyczy nowo utworzonych ciągłych agregacji, dla istniejących widoków parametr „timescaledb.materialized_only=false” należy ustawić poprzez „ALTER VIEW”.
  • Niektóre zaawansowane narzędzia do zarządzania cyklem życia danych zostały przeniesione do wersji Community z wersji komercyjnej, w tym możliwość przegrupowania danych i przetwarzania polityk eksmisji przestarzałych danych (umożliwiając przechowywanie tylko bieżących danych i automatyczne usuwanie, agregowanie lub archiwizowanie przestarzałych rekordów).

Przypomnijmy, że TimescaleDB DBMS umożliwia wykorzystanie pełnoprawnych zapytań SQL do analizy zgromadzonych danych, łącząc w sobie łatwość obsługi właściwą relacyjnym DBMS ze skalowaniem i możliwościami charakterystycznymi dla wyspecjalizowanych systemów NoSQL. Struktura pamięci jest zoptymalizowana w celu zapewnienia dużej szybkości dodawania danych. Obsługuje wsadowe dodawanie zestawów danych, korzystanie z indeksów w pamięci, wsteczne ładowanie wycinków historycznych i korzystanie z transakcji.

Kluczową cechą TimescaleDB jest obsługa automatycznego partycjonowania tablicy danych. Strumień danych wejściowych jest automatycznie rozdzielany pomiędzy podzielone na partycje tabele. Sekcje tworzone są w zależności od czasu (każda sekcja przechowuje dane przez określony czas) lub w powiązaniu z dowolnym kluczem (np. identyfikator urządzenia, lokalizacja itp.). Aby zoptymalizować wydajność, partycjonowane tabele można rozmieścić na różnych dyskach.

W przypadku zapytań partycjonowana baza danych wygląda jak jedna duża tabela zwana hipertabelą. Hipertabela to wirtualna reprezentacja wielu pojedynczych tabel, w których gromadzone są przychodzące dane. Hipertabela służy nie tylko do zapytań i dodawania danych, ale także do operacji takich jak tworzenie indeksów i zmiana struktury („ALTER TABLE”), ukrywając przed programistą segmentową strukturę bazy danych niskiego poziomu. Dzięki hipertabeli możesz używać dowolnych funkcji agregujących, podzapytań, operacji scalania (JOIN) ze zwykłymi tabelami i funkcjami okiennymi.

Źródło: opennet.ru

Dodaj komentarz