Unterstützen von IoT- und Zeitreihenworkloads mit TimescaleDB für Azure Database for PostgreSQL

Veröffentlicht am 18 März, 2019

Principal Program Manager, Azure SQL Engineering

Wir freuen uns, eine Partnerschaft mit Timescale verkünden zu können. Hierbei geht es um die Unterstützung von TimescaleDB unter Azure Database for PostgreSQL für Kunden, die IoT- und Zeitreihenworkloads entwickeln. TimescaleDB ist eine bewährte Anwendung, die in vielen verschiedenen Branchen in Produktionsumgebungen eingesetzt wird, z. B. Öl und Gas, Finanzdienstleistungen und Fertigung. Die Partnerschaft ist eine Verstärkung im Hinblick auf unser Ziel, die Open-Source-Community zu unterstützen, damit unsere Benutzer die innovativste PostgreSQL-Technologie erhalten.

Mit TimescaleDB können Sie eine Skalierung durchführen, um schnelle Erfassungen und komplexe Abfragen zu ermöglichen, während gleichzeitig die vollständige native Unterstützung von SQL sichergestellt ist. PostgreSQL wird als wichtiger Baustein genutzt. Dies bedeutet, dass Benutzer die Vertrautheit und Zuverlässigkeit von PostgreSQL und zusätzlich die Skalierbarkeit und hohe Leistung von TimescaleDB erhalten. Durch die Aktivierung von TimescaleDB auf einem neuen oder vorhandenen Azure Database for PostgreSQL-Server müssen Sie nicht mehr zwei Datenbanken ausführen, um relationale und Zeitreihendaten zu erfassen.

Erste Schritte

Wenn Sie nicht bereits über einen Azure Database for PostgreSQL-Server verfügen, können Sie mit dem Azure CLI-Befehl az postgres up einen erstellen. Führen Sie als Nächstes den folgenden Befehl aus, um TimescaleDB Ihren Postgres-Bibliotheken hinzuzufügen:

az postgres server configuration set --resource-group mygroup ––server-name myserver --name shared_preload_libraries --value timescaledb

Starten Sie den Server neu, um die neue Bibliothek zu laden:

az postgres server restart --resource-group meinegruppe --name meinserver​

Stellen Sie anschließend eine Verbindung mit Ihrer Postgres-Datenbank her, und führen Sie Folgendes aus:

CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

Sie können jetzt eine TimescaleDB-Hypertable ganz neu erstellen oder Ihre vorhandenen Zeitreihendaten migrieren. Weitere Informationen zu TimescaleDB und anderen Erweiterungen in Azure Database for PostgreSQL finden Sie in der Dokumentation PostgreSQL-Erweiterungen in Azure Database for PostgreSQL

Postgres mit TimescaleDB als Grundlage von IoT-Anwendungen

Mit PostgreSQL können viele IoT-Szenarien realisiert werden. Weitere Informationen erhalten Sie im Blogbeitrag „Creating IoT applications with Azure Database for PostgreSQL“ (Erstellen von IoT-Anwendungen mit Azure Database for PostgreSQL). Durch die Einbindung von TimescaleDB erzielen Sie hierbei ein noch besseres Ergebnis. IoT-Organisationen können jetzt auch die Erkenntnisse nutzen, die in maschinell generierten Daten verborgen sind, um neue Features zu entwickeln, Prozesse zu automatisieren und die Effizienz zu steigern.

Anforderung Lösung
IoT-Geräte generieren viele Daten, die effizient gespeichert werden müssen. Mit TimescaleDB werden die Daten automatisch in Blöcke partitioniert, um eine Skalierung für diese Arten von Workloads zu erzielen.
IoT-Daten sind komplex (beispielsweise aufgrund der Verknüpfung von Gerätemetadaten, Geodaten und Zeitreihendaten). Bei TimescaleDB werden relationale Funktionen mit zeitreihenspezifischen Funktionen kombiniert, und die Erweiterung ist mit anderen PostgreSQL-Erweiterungen kompatibel, z. B. PostGIS.
Für IoT-Daten ist der Zugriff durch viele Benutzer erforderlich (z. B. interne Benutzer zu Analysezwecken und externe Benutzer zum Verfügbarmachen von Daten in Echtzeit). TimescaleDB versteht SQL ohne Einschränkungen. Mit dieser Abfragesprache sind viele Mitarbeiter von Organisationen vertraut.
Für IoT-Daten werden vielfältige, anpassbare Erfassungspipelines benötigt, für die eine Datenbank mit einem umfassenden Ökosystem erforderlich ist. TimescaleDB erbt von PostgreSQL das gesamte Ökosystem mit Tools und Erweiterungen.
IoT-Anwendungen bestehen von Grund auf aus Daten und müssen in einer zuverlässigen Datenbank gespeichert werden. TimescaleDB erbt von PostgreSQL über 20 Jahre an Erfahrung in Bezug auf Zuverlässigkeit und Stabilität.

TimescaleDB verfügt über wertvolle Leistungsmerkmale, die über PostgreSQL hinausgehen. Für IoT-Anwendungsfälle mit starker Nutzung von Zeitreihendaten wird von TimescaleDB die automatische Partitionierung in Blöcke implementiert, damit hohe Einfügeraten unterstützt werden. Unten ist ein Vergleich von Azure PostgreSQL mit und ohne TimescaleDB und der zu beobachtende Abfall der Einfügeleistung im Laufe der Zeit dargestellt. Sie können sich sicherlich vorstellen, dass sich bei IoT-Anwendungsfällen mit großen Mengen von Zeitreihendaten durch die Verwendung von TimescaleDB ein großer Nutzen für IoT-Anwendungen ergeben kann, für die sowohl relationale Features als auch Skalierbarkeit benötigt werden.

Vergleich von Azure PostgreSQL mit und ohne TimescaleDB und beobachtetem Abfall der Einfügeleistung im Laufe der Zeit.

Hinweis: Computegeneration 5 (Universell) mit acht virtuellen Kernen, 45 GB RAM mit Storage Premium

IoT ist für eine Zeitreihendatenbank zwar ein offensichtlicher Anwendungsfall, aber Zeitreihendaten sind überall vorhanden. Zeitreihendaten werden im Allgemeinen im Laufe der Zeit mit einem zugeordneten Zeitstempel erfasst. Mit TimescaleDB können Entwickler PostgreSQL weiter verwenden, während sie TimescaleDB zum Skalieren von Zeitreihenworkloads nutzen.

Nächste Schritte

Wie immer bitten wir Sie, uns unten Ihr Feedback zu senden. Sie können sich mit Azure Database for PostgreSQL auch auf unserer Feedbackseite und in unseren Foren befassen, falls Sie Fragen oder Vorschläge für Funktionen haben.