DBMS-Version , zum Speichern und Verarbeiten von Daten in Form einer Zeitreihe (Ausschnitte von Parameterwerten in festgelegten Zeitintervallen, der Datensatz bildet eine Zeit und eine dieser Zeit entsprechende Wertemenge). Diese Speicherform eignet sich optimal für Anwendungen wie Überwachungssysteme, Handelsplattformen, Systeme zur Messwerterfassung und Sensorstatus. Tools zur Integration in das Projekt werden bereitgestellt и .
Das TimescaleDB-Projekt ist als Erweiterung zu PostgreSQL implementiert und lizenziert unter Apache 2.0. mit erweiterten Funktionen wird unter einer separaten proprietären Lizenz bereitgestellt (TSL), das keine Änderungen zulässt, die Verwendung von Code in Produkten von Drittanbietern verbietet und keine kostenlose Verwendung in Cloud-Datenbanken (Datenbank als Service) zulässt.
Zu den Änderungen in TimescaleDB 1.7 gehören:
- Unterstützung für die Integration mit DBMS hinzugefügt . 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 ausgeführten Aggregatfunktionen (Aggregation kontinuierlich eingehender Daten in Echtzeit) wurde geändert. Solche Abfragen kombinieren nun materialisierte Sichten mit kürzlich eingegangenen, noch nicht materialisierten Daten (zuvor umfasste die Aggregation nur bereits materialisierte Daten). Das neue Verhalten gilt für neu erstellte kontinuierliche Aggregationen; für bestehende Sichten sollten Sie den Parameter "timescaledb.materialized_only=false" über "ALTER VIEW" setzen.
- Die Community-Version verfügt über einige erweiterte Funktionen zur Datenlebenszyklusverwaltung der kommerziellen Edition, einschließlich der Möglichkeit, Daten neu zu gruppieren und Richtlinien zum Löschen veralteter Daten zu handhaben (so dass Sie nur relevante Daten speichern und veraltete Datensätze automatisch löschen, aggregieren oder archivieren können).
Zur Erinnerung: Mit TimescaleDB DBMS können Sie vollwertige SQL-Abfragen zur Analyse angesammelter Daten verwenden und dabei die Benutzerfreundlichkeit relationaler DBMS mit der Skalierbarkeit und den Funktionen spezialisierter NoSQL-Systeme kombinieren. Die Speicherstruktur ist optimiert, um eine hohe Geschwindigkeit beim Hinzufügen von Daten zu gewährleisten. Unterstützt das Batch-Hinzufügen von Datensätzen, die Verwendung von In-Memory-Indizes, das rückwirkende Laden historischer Slices und die Verwendung von Transaktionen.
Das Hauptmerkmal von TimescaleDB ist die Unterstützung der automatischen Partitionierung des Datenarrays. Der Eingabedatenstrom wird automatisch auf partitionierte Tabellen verteilt. Partitionen werden zeitabhängig (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. Zur Leistungsoptimierung können partitionierte Tabellen auf verschiedene Festplatten verteilt werden.
Bei Abfragen wird eine partitionierte Datenbank als eine große Tabelle, eine sogenannte Hypertabelle, dargestellt. 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 Operationen wie das Erstellen von Indizes und das Ändern der Struktur („ALTER TABLE“). Dadurch wird die segmentierte Struktur der Datenbank auf niedriger Ebene vor dem Entwickler verborgen. Alle Aggregatfunktionen, Unterabfragen, Zusammenführungsoperationen (JOIN) mit regulären Tabellen und Fensterfunktionen können mit einer Hypertabelle verwendet werden.
Source: opennet.ru
