YugabyteDB ist eine PostgreSQL-kompatible, leistungsstarke, cloudnative, verteilte SQL-Datenbank. Es kombiniert die Vorteile traditioneller relationaler Datenbanken mit der Skalierbarkeit von NoSQL-Systemen und eignet sich daher für Anwendungen, die sowohl Transaktionskonsistenz als auch die Fähigkeit zur Verarbeitung großer Datenmengen erfordern. Es eignet sich am besten für Cloud-native OLTP-Anwendungen (d. h. geschäftskritische Echtzeitanwendungen), die absolute Datenkorrektheit und mindestens eine der folgenden Voraussetzungen erfordern: Skalierbarkeit, hohe Fehlertoleranz oder global verteilte Bereitstellungen.
Kernfunktionen
Legen Sie los
Erstellen Sie Apps
Aktuelle Roadmap
Aktuelle Funktionen
Architektur
Brauchen Sie Hilfe?
Beitragen
Lizenz
Mehr lesen
Leistungsstarke RDBMS-Funktionen Yugabyte SQL (kurz YSQL ) verwendet die PostgreSQL-Abfrageschicht wieder (ähnlich wie Amazon Aurora PostgreSQL) und unterstützt dadurch die meisten seiner Funktionen (Datentypen, Abfragen, Ausdrücke, Operatoren und Funktionen, gespeicherte Prozeduren, Trigger, Erweiterungen usw.). ).
Verteilte Transaktionen Das Transaktionsdesign basiert auf der Google Spanner-Architektur. Eine starke Konsistenz der Schreibvorgänge wird durch die Verwendung des Raft-Konsenses für die Replikation und Cluster-weite verteilte ACID-Transaktionen unter Verwendung hybrider logischer Uhren erreicht. Unterstützt werden die Isolationsstufen „Snapshot“ , „serialisierbar“ und „Read Committed“ . Lesevorgänge (Abfragen) verfügen standardmäßig über eine starke Konsistenz, können jedoch dynamisch angepasst werden, um von Followern und Lesereplikaten zu lesen.
Kontinuierliche Verfügbarkeit YugabyteDB ist dank nativem Failover und Reparatur äußerst widerstandsfähig gegenüber häufigen Ausfällen. YugabyteDB kann so konfiguriert werden, dass es Festplatten-, Rack-, Knoten-, Zonen-, Regions- und Cloud-Ausfälle automatisch toleriert. Für eine typische Bereitstellung, bei der ein YugabyteDB-Cluster in einer Region über mehrere Zonen in einer öffentlichen Cloud bereitgestellt wird, beträgt der RPO 0 (was bedeutet, dass bei einem Ausfall keine Daten verloren gehen) und der RTO 3 Sekunden (was bedeutet, dass die Daten vom ausgefallenen Knoten bereitgestellt werden). ist in 3 Sekunden verfügbar).
Horizontale Skalierbarkeit Die Skalierung eines YugabyteDB-Clusters zur Erzielung von mehr IOPS oder Datenspeicher ist so einfach wie das Hinzufügen von Knoten zum Cluster.
Geoverteilte Multi-Cloud -YugabyteDB kann in öffentlichen Clouds und nativ in Kubernetes bereitgestellt werden. Es unterstützt Bereitstellungen, die sich über drei oder mehr Fehlerdomänen erstrecken, z. B. Bereitstellungen in mehreren Zonen, mehreren Racks, mehreren Regionen und mehreren Clouds. Es unterstützt auch die asynchrone xCluster-Replikation mit unidirektionalen Master-Slave- und bidirektionalen Multi-Master-Konfigurationen in Bereitstellungen in zwei Regionen. Lesereplikate werden auch unterstützt, um (veraltete) Daten mit geringen Latenzen bereitzustellen.
Multi-API-Design Die YugabyteDB-Abfrageschicht ist erweiterbar. Derzeit unterstützt YugabyteDB zwei verteilte SQL-APIs: Yugabyte SQL (YSQL), eine vollständig relationale API, die die PostgreSQL-Abfrageebene wiederverwendet, und Yugabyte Cloud QL (YCQL), eine semirelationale SQL-ähnliche API mit Dokumenten-/Indizierungsunterstützung mit Apache Cassandra QL-Wurzeln.
100 % Open Source YugabyteDB ist vollständig Open Source unter der Apache 2.0-Lizenz. Die Open-Source-Version verfügt über leistungsstarke Unternehmensfunktionen wie verteilte Backups, Verschlüsselung ruhender Daten, In-Flight-TLS-Verschlüsselung, Änderungsdatenerfassung, Lesereplikate und mehr.
YugabyteDB wurde mit Blick auf mehrere wichtige Designziele entwickelt und zielt darauf ab, die Herausforderungen moderner, cloudnativer Anwendungen zu bewältigen und gleichzeitig die Vertrautheit und Leistungsfähigkeit traditioneller relationaler Datenbanken beizubehalten. Lesen Sie mehr darüber in unseren Designzielen.
Schnellstart
Versuchen Sie, eine reale Demoanwendung auszuführen:
Microservices-orientierte E-Commerce-App
Streaming der IoT-App mit Kafka und Spark Streaming
Sie können nicht finden, was Sie suchen? Haben Sie eine Frage? Veröffentlichen Sie Ihre Fragen oder Kommentare in unserem Community Slack oder Forum.
YugabyteDB unterstützt viele Sprachen und Client-Treiber, darunter Java, Go, NodeJS, Python und mehr. Eine vollständige Liste, einschließlich Beispielen, finden Sie unter Treiber und ORMs.
Im Folgenden finden Sie eine Liste einiger wichtiger Funktionen, an denen für kommende Versionen gearbeitet wird.
Besonderheit | Einzelheiten |
---|---|
PostgreSQL 15-Kompatibilität | Für die neuesten Funktionen, neue PostgreSQL-Erweiterungen, Leistung und Community-Korrekturen. |
PostgreSQL-Publikations-/Replikations-Slot-API in CDC | PostgreSQL hat eine riesige Community, die eine PG-kompatible API benötigt, um Datenbankänderungen einzurichten und zu nutzen. |
Bitmap-Scan | Bitmap-Scan-Unterstützung für die Verwendung von Index-Scans, Remote-Filter und erweitertem Kostenmodell. |
Kostenbasierter Optimierer (CBO) | Effiziente Abfragepläne basierend auf Statistiken (z. B. Tabellengröße, Anzahl der Zeilen) und Datenverteilung. |
Parallele Abfrageausführung | Höhere Abfrageleistung durch Aufteilung einer einzelnen Abfrage zur Ausführung auf verschiedene CPU-Kerne. |
pgvector-Erweiterung | Unterstützung für Vektordatentypen, die eine effiziente Speicherung und Abfrage hochdimensionaler Vektoren ermöglicht. |
Verbindungsmanagement | Serverseitiges Verbindungsmanagement, das bis zu 30.000 Verbindungen pro Knoten ermöglicht |
Die Liste aller Elemente in der aktuellen Roadmap finden Sie im Roadmap-Tracker.
v2.23 ist die aktuelle Vorschauversion. Dies schließt Funktionen ein, die sich in der aktiven Entwicklung befinden, und wird nur für Entwicklungs- und Testzwecke empfohlen. Die vollständige Liste der Funktionen und Verbesserungen in dieser Version finden Sie in den Versionshinweisen – Version 2.23. Hier sind einige der herausragenden Merkmale.
Erstellen Sie schnell unabhängige Kopien Ihrer Datenbank für Datenwiederherstellung, Entwicklung und Tests.
Verwenden Sie pg_cron, um YSQL-Befehle mithilfe der vertrauten Cron-Syntax zu planen, einschließlich Jobs in Intervallen von bis zu Sekunden.
Vereinfachte Verwaltung der YSQL-Transaktions-xCluster-Replikation durch Betrieb auf Datenbankebene statt auf Tabellenebene.
Durch Verbesserungen der Leistung des Rückwärtsscans können solche Abfragen jetzt sofort 10-mal schneller durchgeführt werden!
v2024.1 ist die aktuelle stabile Version. Stabile Releases werden über einen längeren Zeitraum strengen Tests unterzogen und sind für den Produktionseinsatz bereit. Die vollständige Liste der Funktionen und Verbesserungen in dieser Version finden Sie in den Versionshinweisen – v2024.1. Hier sind einige der herausragenden Merkmale.
Ermöglicht Ihnen, viele neue Verbesserungen sowohl bei der PostgreSQL-Kompatibilität als auch bei der Leistungsparität zu nutzen, wodurch es noch einfacher wird, Ihre Anwendungen von PostgreSQL auf YugabyteDB zu übertragen. Wenn dieser Modus aktiviert ist, verwendet YugabyteDB den Read-Committed-Isolationsmodus, den Wait-on-Conflict-Parallelitätsmodus für vorhersehbare P99-Latenzen und den neuen Cost Based Optimizer.
Wenn Sie mit der aktualisierten Version nicht zufrieden sind, können Sie nahtlos auf die Version vor dem Upgrade zurückgreifen.
Eine Join-Ausführungsstrategie, die Nested-Loop-Joins verbessert, indem pro Stapel von Tupeln der äußeren Tabelle eine Anfrage an die innere Tabelle gesendet wird, anstatt einmal pro einzelnem Tupel der äußeren Tabelle.
Wenn Explain Analyze mit der Option DIST verwendet wird, werden auch die aus der Speicherschicht gelesenen Zeilen angezeigt, was bei der Diagnose der Abfrageleistung hilfreich sein kann.
Sehen Sie sich die detaillierte Architektur in unseren Dokumenten an.
Sie können Fragen stellen, Antworten finden und anderen in unserem Community Slack, Forum, Stack Overflow sowie Twitter @Yugabyte helfen.
Verwenden Sie GitHub-Probleme, um Probleme zu melden oder neue Funktionen anzufordern.
Informationen zur Fehlerbehebung bei YugabyteDB und Problemen auf Cluster-/Knotenebene finden Sie in der Dokumentation zur Fehlerbehebung.
Als Open-Source-Projekt mit starkem Fokus auf die Benutzergemeinschaft freuen wir uns über Beiträge als GitHub-Pull-Requests. Sehen Sie sich unsere Leitfäden für Mitwirkende an, um loszulegen. Diskussionen und RFCs für Funktionen finden im Abschnitt „Designdiskussionen“ unseres Forums statt.
Der Quellcode in diesem Repository ist unterschiedlich unter der Apache License 2.0 und der Polyform Free Trial License 1.0.0 lizenziert. Eine Kopie jeder Lizenz finden Sie im Lizenzverzeichnis.
Der Build erzeugt zwei Sätze von Binärdateien:
Die gesamte Datenbank mit all ihren Funktionen (einschließlich der Enterprise-Funktionen) ist unter der Apache-Lizenz 2.0 lizenziert
Die Binärdateien, die -managed
im Artefakt enthalten und die Ausführung eines verwalteten Dienstes unterstützen, sind unter der Polyform Free Trial License 1.0.0 lizenziert.
Standardmäßig generieren die Build-Optionen nur die Apache License 2.0-Binärdateien.
Um unsere Updates zu sehen, gehen Sie zum Distributed SQL Blog.
Detaillierte Design- und Architekturdetails finden Sie in unseren Designspezifikationen.
Tech Talks und Videos.
Sehen Sie, wie YugabyteDB im Vergleich zu anderen Datenbanken abschneidet.