TimescaleDB ist eine Open-Source-Datenbank, die SQL für Zeitreihendaten skalierbar machen soll. Es basiert auf PostgreSQL und ist als PostgreSQL-Erweiterung verpackt. Es bietet automatische Partitionierung über Zeit und Raum (Partitionierungsschlüssel) sowie vollständige SQL-Unterstützung.
Wenn Sie Ihre Instanz von TimescaleDB lieber nicht installieren oder verwalten möchten, testen Sie die 30-tägige kostenlose Testversion von Timescale, unserem vollständig verwalteten Cloud-Angebot. Die Zeitskala ist nutzungsabhängig. Für nicht genutzten Speicher, Backups, Snapshots sowie eingehenden oder ausgehenden Datenverkehr berechnen wir keine Gebühren.
Um herauszufinden, welche Option für Sie am besten geeignet ist, finden Sie unter Timescale-Produkte weitere Informationen zu unserer Apache-2-Version, TimescaleDB Community (selbst gehostet) und Timescale Cloud (gehostet), einschließlich: Funktionsvergleiche, FAQ, Dokumentation und Support.
Nachfolgend finden Sie eine Einführung in TimescaleDB. Weitere Informationen finden Sie in diesen anderen Ressourcen:
Entwicklerdokumentation
Slack-Kanal
Timescale-Community-Forum
Zeitliche Versionshinweise und Zukunftspläne
Zur Orientierung und zur Verdeutlichung verweisen alle Codedateien in diesem Repository in ihrem Header auf die Lizenzierung (entweder die Apache-2-Open-Source-Lizenz oder die Timescale-Lizenz (TSL)). Apache-2-lizenzierte Binärdateien können erstellt werden, indem -DAPACHE_ONLY=1
an bootstrap
übergeben wird.
Mitwirkende willkommen.
(Um TimescaleDB aus der Quelle zu erstellen, lesen Sie die Anweisungen unter „Erstellen aus der Quelle “.)
TimescaleDB skaliert PostgreSQL für Zeitreihendaten durch automatische Partitionierung über Zeit und Raum (Partitionierungsschlüssel), behält jedoch die Standard-PostgreSQL-Schnittstelle bei.
Mit anderen Worten: TimescaleDB stellt Tabellen bereit, die wie normale Tabellen aussehen, in Wirklichkeit jedoch nur eine Abstraktion (oder eine virtuelle Ansicht) vieler einzelner Tabellen sind, die die eigentlichen Daten umfassen. Diese Einzeltabellenansicht, die wir Hypertabelle nennen, besteht aus vielen Blöcken, die durch Partitionierung der Daten der Hypertabelle in entweder einer oder zwei Dimensionen erstellt werden: nach einem Zeitintervall und nach einem (optionalen) „Partitionsschlüssel“ wie z Geräte-ID, Standort, Benutzer-ID usw.
Praktisch alle Benutzerinteraktionen mit TimescaleDB erfolgen über Hypertabellen. Das Erstellen von Tabellen und Indizes, das Ändern von Tabellen, das Einfügen von Daten, das Auswählen von Daten usw. kann (und sollte) alles auf der Hypertabelle ausgeführt werden.
Aus Sicht der Nutzung und Verwaltung sieht TimescaleDB einfach wie PostgreSQL aus und fühlt sich auch so an und kann als solches verwaltet und abgefragt werden.
Die Standardeinstellungen von PostgreSQL sind normalerweise zu konservativ für moderne Server und TimescaleDB. Sie sollten sicherstellen, dass Ihre postgresql.conf
Einstellungen optimiert sind, entweder mithilfe von timescaledb-tune oder manuell.
- Vergessen Sie nicht, die timescaledb-Erweiterung zu erstellen. CREATE EXTENSION timescaledb; Standorttext nicht NULL, Temperatur DOPPELTE PRÄZISION NULL, Luftfeuchtigkeit DOUBLE PRECISION NULL);-- Dann konvertieren wir es in eine Hypertabelle, die durch timeSELECT create_hypertable('conditions', 'time');
Schnellstart: Hypertabellen erstellen
Referenzbeispiele
Das Einfügen von Daten in die Hypertabelle erfolgt über normale SQL-Befehle:
INSERT INTO Bedingungen (Zeit, Ort, Temperatur, Luftfeuchtigkeit) VALUES (NOW(), 'Büro', 70,0, 50,0);SELECT * FROM Bedingungen ORDER BY time DESC LIMIT 100;SELECT time_bucket('15 Minutes', time) AS twenty_min , Standort, COUNT(*),MAX(Temperatur) AS max_temp,MAX(Luftfeuchtigkeit) AS max_hum FROM Bedingungen WHERE Zeit > JETZT() - Intervall '3 Stunden' GROUP BY fiveteen_min, location ORDER BY fiveteen_min DESC, max_temp DESC;
Darüber hinaus enthält TimescaleDB zusätzliche Funktionen für die Zeitreihenanalyse, die in Vanilla PostgreSQL nicht vorhanden sind. (Zum Beispiel die Funktion time_bucket
oben.)
Schnellstart: Grundfunktionen
Referenzbeispiele
TimescaleDB-API
Timescale, eine vollständig verwaltete TimescaleDB in der Cloud, ist als kostenlose Testversion verfügbar. Erstellen Sie eine PostgreSQL-Datenbank in der Cloud mit vorinstalliertem TimescaleDB, damit Sie Ihre Anwendung ohne Verwaltungsaufwand mit TimescaleDB betreiben können.
TimescaleDB ist auch vorgefertigt für mehrere Plattformen wie Linux, Windows, MacOS, Docker und Kubernetes verfügbar. Weitere Informationen finden Sie unter TimescaleDB installieren.
Informationen zum Erstellen aus der Quelle finden Sie unter Erstellen aus der Quelle.
Grundlegende TimescaleDB-Funktionen
Erweiterte TimescaleDB-Funktionen
TimescaleDB testen
timescaledb-tune: Hilft beim Festlegen Ihrer PostgreSQL-Konfigurationseinstellungen basierend auf den Ressourcen Ihres Systems.
timescaledb-parallel-copy: Parallelisieren Sie Ihr anfängliches Massenladen, indem Sie COPY
von PostgreSQL für mehrere Worker verwenden.
Warum TimescaleDB verwenden?
Migration von PostgreSQL
Daten schreiben
Abfragen und Datenanalyse
Tutorials und Beispieldaten
Slack-Kanal
Github-Probleme
Zeitrahmen-Support: siehe Support-Optionen (Community & Abonnement)
Timescale-Versionshinweise: Sehen Sie sich detaillierte Informationen zu aktuellen und früheren Versionen an und abonnieren Sie, um über neue Versionen, Korrekturen und Early-Access-/Beta-Programme benachrichtigt zu werden.
Anweisungen für Mitwirkende
Code-Styleguide