Veröffentlichung der Datenbank TimescaleDB 1.7

Veröffentlicht Erscheinung der DBMS TimescaleDB 1.7, die für die Speicherung und Verarbeitung von Daten in Form von Zeitreihen (Schnitte von Werten über festgelegte Zeitintervalle, wobei jede Aufzeichnung eine Zeit und eine Menge entsprechender Werte zu diesem Zeitpunkt bildet) bestimmt ist. Diese Form der Speicherung ist optimal für Anwendungen wie Überwachungssysteme, Handelsplattformen, Systeme zur Sammlung von Metriken und Sensorstatus. Es werden Mittel zur Integration mit dem Projekt bereitgestellt Grafana und Prometheus.

Das Projekt TimescaleDB ist als Erweiterung für PostgreSQL realisiert und wird verbreitet unter der Apache 2.0 Lizenz. Ein Teil des Codes mit erweiterten Funktionen wird unter einer separaten proprietären Lizenz bereitgestellt Timescale (TSL), die keine Modifikationen erlaubt, die Verwendung des Codes in Drittanbieterlösungen untersagt und die kostenlose Nutzung in Cloud-Datenbanken (Database-as-a-Service) nicht gestattet.

Zu den Änderungen in TimescaleDB 1.7 gehören:

  • Die Unterstützung für die Integration mit DBMS wurde hinzugefügt PostgreSQL 12. Die Unterstützung für PostgreSQL 9.6.x und 10.x wurde als veraltet erklärt (in Timescale 2.0 bleibt nur die Unterstützung für PostgreSQL 11+ bestehen).
  • Das Verhalten von Abfragen mit kontinuierlich durchgeführten Aggregatfunktionen (Aggregation kontinuierlich eintreffender Daten in Echtzeit) wurde geändert. Solche Abfragen kombinieren jetzt materialisierte Ansichten mit neu eingehenden Daten, die noch nicht materialisiert sind (zuvor umfasste die Aggregation nur bereits materialisierte Daten). Dieses neue Verhalten gilt für neu zu erstellende kontinuierliche Aggregationen, für bestehende Ansichten sollte der Parameter „timescaledb.materialized_only=false“ über „ALTER VIEW“ gesetzt werden.
  • Einige erweiterte Datenlebenszyklusmanagement-Tools aus der kommerziellen Edition wurden in die Community-Version übertragen, einschließlich der Möglichkeiten zur Neugruppierung von Daten und zur Anwendung von Richtlinien zur Ablösung veralteter Daten (erlauben die Speicherung nur relevanter Daten und die automatische Löschung, Aggregation oder Archivierung veralteter Datensätze).

Erinnern wir uns daran, dass die Datenbank TimescaleDB vollständige SQL-Abfragen zur Analyse gesammelter Daten ermöglicht, die den Bedienkomfort relationaler Datenbanken mit der Skalierbarkeit und den Möglichkeiten spezialisierter NoSQL-Systeme kombinieren. Die Speicherkstruktur ist optimiert, um eine hohe Geschwindigkeit beim Hinzufügen von Daten zu gewährleisten. Die Unterstützung für das partielle Hinzufügen von Datensätzen, die Verwendung von im Arbeitsspeicher abgelegten Indizes, das Laden historischer Schnappschüsse rückblickend und die Durchführung von Transaktionen wird geboten.

Ein wesentliches Merkmal von TimescaleDB ist die Unterstützung automatischer Partitionierung des Datenarrays. Der Datenstrom wird automatisch über partitionierte Tabellen verteilt. Partitionen werden je nach Zeit (in jeder Partition werden Daten für einen bestimmten Zeitraum gespeichert) oder basierend auf einem beliebigen Schlüssel (z. B. einer Geräte-ID, einem Standort usw.) erstellt. Um die Leistung zu optimieren, können partitionierte Tabellen auf verschiedene Festplatten verteilt werden.

Für Abfragen sieht die partitionierte Datenbank wie eine große Tabelle aus, die als Hypertabelle bezeichnet wird. Eine Hypertabelle ist eine virtuelle Darstellung vieler einzelner Tabellen, in denen die eingehenden Daten gespeichert werden. Hypertabellen werden nicht nur für Abfragen und das Hinzufügen von Daten verwendet, sondern auch für Operationen wie das Erstellen von Indizes und das Ändern der Struktur ("ALTER TABLE"), wodurch die niedrigere segmentierte Datenbankstruktur vor dem Entwickler verborgen bleibt. Mit Hypertabellen können alle Aggregatfunktionen, Unterabfragen, JOIN-Operationen mit normalen Tabellen und Fensterfunktionen verwendet werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4