Veröffentlichung von TimescaleDB 1.7

Veröffentlicht DBMS-Version TimescaleDB 1.7, konzipiert für die Speicherung und Verarbeitung von Daten in Form einer Zeitreihe (Scheiben von Parameterwerten in bestimmten Intervallen; der Datensatz bildet die Zeit und einen Satz von Werten, die dieser Zeit entsprechen). Diese Form der Speicherung ist optimal für Anwendungen wie Überwachungssysteme, Handelsplattformen, Systeme zur Erfassung von Metriken und Sensorzuständen. Es werden Tools zur Integration in das Projekt bereitgestellt Grafana и Prometheus.

Das TimescaleDB-Projekt ist als Erweiterung zu PostgreSQL implementiert und vertrieben von lizenziert unter Apache 2.0. Teil des Codes mit erweiterten Funktionen, die unter einer separaten proprietären Lizenz verfügbar sind Zeitskala (TSL), das keine Änderungen zulässt, die Verwendung von Code in Produkten von Drittanbietern verbietet und keine kostenlose Nutzung in Cloud-Datenbanken erlaubt (Database-as-a-Service).

Zu den Änderungen in TimescaleDB 1.7:

  • Unterstützung für die Integration mit DBMS hinzugefügt PostgreSQL 12. Die Unterstützung für PostgreSQL 9.6.x und 10.x ist veraltet (Timescale 2.0 unterstützt nur PostgreSQL 11+).
  • Das Verhalten von Abfragen mit kontinuierlich laufenden Aggregatfunktionen (Aggregation kontinuierlich eingehender Daten in Echtzeit) wurde geändert. Solche Abfragen kombinieren nun materialisierte Ansichten mit neu eingetroffenen Daten, die noch nicht materialisiert wurden (zuvor deckte die Aggregation nur Daten ab, die bereits materialisiert wurden). Das neue Verhalten gilt für neu erstellte kontinuierliche Aggregationen; für bestehende Ansichten sollte der Parameter „timescaledb.materialized_only=false“ über „ALTER VIEW“ gesetzt werden.
  • Einige erweiterte Tools für das Datenlebenszyklusmanagement wurden von der kommerziellen Edition auf die Community-Version übertragen, einschließlich der Möglichkeit, Daten neu zu gruppieren und veraltete Datenbereinigungsrichtlinien zu verarbeiten (so dass Sie nur aktuelle Daten speichern und veraltete Datensätze automatisch löschen, aggregieren oder archivieren können).

Erinnern wir uns daran, dass das TimescaleDB-DBMS Ihnen die Verwendung vollwertiger SQL-Abfragen zur Analyse akkumulierter Daten ermöglicht und dabei die Benutzerfreundlichkeit relationaler DBMS mit der Skalierung und den Funktionen spezialisierter NoSQL-Systeme kombiniert. Die Speicherstruktur ist optimiert, um eine hohe Geschwindigkeit beim Hinzufügen von Daten zu gewährleisten. Es unterstützt das Batch-Hinzufügen von Datensätzen, die Verwendung von In-Memory-Indizes, das nachträgliche Laden historischer Slices und die Verwendung von Transaktionen.

Ein Hauptmerkmal von TimescaleDB ist die Unterstützung der automatischen Partitionierung des Datenarrays. Der Eingabedatenstrom wird automatisch auf partitionierte Tabellen verteilt. Abschnitte werden abhängig von der Zeit (jeder Abschnitt speichert Daten für einen bestimmten Zeitraum) oder in Bezug auf einen beliebigen Schlüssel (z. B. Geräte-ID, Standort usw.) erstellt. Um die Leistung zu optimieren, können partitionierte Tabellen auf verschiedene Festplatten verteilt werden.

Für Abfragen sieht eine partitionierte Datenbank wie eine große Tabelle aus, die Hypertabelle genannt wird. Eine Hypertabelle ist eine virtuelle Darstellung vieler einzelner Tabellen, die eingehende Daten sammeln. Die Hypertabelle wird nicht nur für Abfragen und das Hinzufügen von Daten verwendet, sondern auch für Vorgänge wie das Erstellen von Indizes und das Ändern der Struktur („ALTER TABLE“), wodurch die segmentierte Struktur der Datenbank auf niedriger Ebene vor dem Entwickler verborgen bleibt. Mit einer Hypertabelle können Sie beliebige Aggregatfunktionen, Unterabfragen, Zusammenführungsoperationen (JOIN) mit regulären Tabellen und Fensterfunktionen verwenden.

Source: opennet.ru

Kommentar hinzufügen