Übersicht über AlloyDB

AlloyDB for PostgreSQL ist ein vollständig verwalteter, PostgreSQL-kompatibler Datenbankdienst. Die Kombination aus Google-Datenbank-Engine und cloudbasierter Multi-Node-Architektur bietet Leistung, Zuverlässigkeit und Verfügbarkeit auf Unternehmensniveau für Ihre anspruchsvollsten Anwendungen.

Anwendungsfälle für AlloyDB

AlloyDB bietet eine skalierbare Alternative zu selbstverwaltetem Standard-PostgreSQL. Verwenden Sie AlloyDB, wenn Sie weniger Zeit für die Verwaltung der Infrastruktur und mehr Zeit für die Entwicklung von Anwendungen aufwenden möchten.

AlloyDB ist für anspruchsvolle Arbeitslasten konzipiert, darunter:

  • Hybride transaktionsorientierte und analytische Verarbeitung (HTAP): Führen Sie komplexe analytische Abfragen für Ihre Live-Transaktionsdaten aus, ohne die Leistung oder Verfügbarkeit zu beeinträchtigen.
  • KI-Anwendungen mit niedriger Latenz: Erstellen Sie generative KI-Anwendungen mit AlloyDB AI, das die Vektorsuche und den Aufruf von Modellen für maschinelles Lernen direkt in die Datenbank-Engine einbindet. So sind keine externen Datenverschiebungen mit hoher Latenz mehr erforderlich.
  • Geschäftskritische Arbeitslasten auf Unternehmensniveau: Stellen Sie Anwendungen bereit, die ein Höchstmaß an Leistung, Zuverlässigkeit und Verfügbarkeit erfordern. Unterstützt werden sie durch eine disaggregierte Computing- und Speicherarchitektur, die sich über mehrere Verfügbarkeitszonen erstreckt.

Was AlloyDB bietet

AlloyDB bietet viele Dienste, sodass Sie diese nicht selbst erstellen und verwalten müssen. Sie können sich auf Ihre Daten konzentrieren und AlloyDB die folgenden Vorgänge überlassen:

  • Sicherungen: Schützen Sie Ihre Daten mit On-Demand- und automatischen geplanten Sicherungen sowie einem kontinuierlichen Wiederherstellungssystem, das die Wiederherstellung zu einem bestimmten Zeitpunkt ermöglicht.
  • Hochverfügbarkeit: Gewährleisten Sie die Dienstkontinuität durch redundante Knoten in verschiedenen Zonen mit automatischem Failover zwischen ihnen.
  • Ressourcenverwaltung: Optimieren Sie Leistung und Effizienz mit Systemen, die Arbeitsspeicher und Speicherplatz nach Bedarf automatisch zuweisen und freigeben.
  • Abfrageoptimierung: Verbessern Sie die Datenbankleistung mit einem Indexberater, der Schemaverbesserungen vorschlägt, und einer spaltenbasierten Engine, die analytische Abfragen beschleunigt.
  • Sicherheit und Verschlüsselung: Schützen Sie ruhende Daten mit Google-owned and Google-managed encryption keys oder kundenverwalteten Verschlüsselungsschlüsseln (CMEK) und verwalten Sie den Zugriff mit integriertem Identity and Access Management (IAM).

Datenbankverwaltung

AlloyDB verwaltet die zugrunde liegende Infrastruktur Ihrer Datenbank, z. B. automatische Sicherungen, Sicherheitspatches und Ressourcenzuweisung. AlloyDB ist jedoch kein eigenständiges Tool zur Datenbankverwaltung. Sie benötigen weiterhin Verwaltungstools, um die Schemas, Daten und Nutzer in Ihren Datenbanken zu verwalten.

Mit den folgenden Tools können Sie eine Verbindung zu Ihren Datenbanken herstellen und diese verwalten:

  • AlloyDB Studio: Ein webbasiertes Tool, das direkt in die Google Cloud Console eingebunden ist und mit dem Sie Ihre Daten über eine interaktive SQL-Oberfläche untersuchen und verwalten können.
  • PostgreSQL-Clients: Da AlloyDB vollständig mit PostgreSQL kompatibel ist, können Sie Standard-Verwaltungsclients und -Befehlszeilentools wie psql und pgAdmin verwenden, um mit Ihrer Datenbank zu arbeiten.

AlloyDB-Preise

AlloyDB verwendet ein nutzungsbasiertes Preismodell. Das bedeutet, dass Ihnen die von Ihnen verwendeten Ressourcen in Rechnung gestellt werden. Die AlloyDB-Preise variieren je nach Konfigurationseinstellungen und hängen von den folgenden Faktoren ab:

  • Instanzressourcen: Der Maschinentyp (Anzahl der vCPUs und RAM-Größe), der für Ihre primären und Lesepoolinstanzen ausgewählt wurde.
  • Speicher: die Menge der Daten, die in der flexiblen Speicherebene Ihres Clusters gespeichert sind.
  • Netzwerk: die Menge des ausgehenden Netzwerktraffics von Ihren Instanzen.

Weitere Informationen finden Sie unter AlloyDB for PostgreSQL – Preise.

Funktionsweise von AlloyDB

Eine Anwendung stellt über Standard-PostgreSQL-Protokolle eine Verbindung zu AlloyDB-Instanzen her.

Im Hintergrund verwendet AlloyDB eine disaggregierte Architektur und eine Hierarchie von Ressourcen, die auf maximale Verfügbarkeit und Leistung ausgelegt sind.

Architekturunterschied zu Standard-PostgreSQL

Bei herkömmlichem PostgreSQL ist die Datenbank-Engine, die Abfragen verarbeitet, mit dem Speicher auf demselben Server gekoppelt. AlloyDB verwendet eine disaggregierte Architektur, bei der Rechen- und Speicherebenen getrennt sind und unabhängig voneinander skaliert werden.

  • Computing: Virtuelle Maschinen oder Knoten, die Ihre Abfragen verarbeiten.
  • Speicher: Eine cloudnative, verteilte Speicher-Engine, die Ihre Daten über mehrere Verfügbarkeitszonen hinweg speichert und automatisch skaliert, wenn Ihre Datenmenge wächst.

AlloyDB-Ressourcenhierarchie

AlloyDB organisiert seine Ressourcen auf drei Ebenen: Cluster, Instanzen und Knoten.

Das folgende Diagramm zeigt die AlloyDB-Ressourcenhierarchie mit einem Cluster, der mit einer primären Instanz und mehreren Lesepoolinstanzen mit Load Balancing skaliert wurde:

Diagramm eines Clusters mit einer primären Instanz und Lesepoolinstanzen

  • Cluster: Eine Ressource auf oberster Ebene, die als logischer Container für Ihre Datenbanken, Logs und andere Metadaten innerhalb einer Region dient. Sie können mehrere Cluster im selben Projekt und in derselben Region erstellen.
  • Instanz: Ein Cluster enthält eine oder mehrere Instanzen. Eine Instanz stellt den Verbindungspunkt für Ihre Anwendungen bereit.
  • Knoten: Eine Instanz wird von einem oder mehreren Knoten unterstützt. Ein Knoten ist eine virtuelle Maschine (VM), die für die Ausführung der Datenbank-Engine vorgesehen ist.

Was ist eine AlloyDB-Instanz?

Eine AlloyDB-Instanz ist der Zugriffspunkt für Ihre Datenbank. Jede Instanz hat eine private, statische IP-Adresse in Ihrem VPC-Netzwerk (Virtual Private Cloud). Wenn Ihre Anwendung eine Abfrage an diese IP-Adresse sendet, leitet die Instanz die Anfrage zur Verarbeitung an die zugrunde liegenden Knoten weiter.

AlloyDB verwendet zwei Arten von Instanzen:

  • Primäre Instanz: Bietet Lese- und Schreibzugriff auf Ihre Daten. Jeder Cluster hat genau eine primäre Instanz. Eine primäre Instanz kann entweder hochverfügbar (HA) oder einfach sein.

    • Hochverfügbar: Enthält zwei Knoten, einen aktiven Knoten und einen Standby-Knoten, die sich in verschiedenen Zonen für automatisches Failover befinden.

    • Basic-Instanz: Enthält einen einzelnen Knoten für Nicht-Produktionsumgebungen, die keine Hochverfügbarkeit erfordern. Eine Basisinstanz hat nur einen Knoten und keinen Standby-Knoten. Weitere Informationen finden Sie unter Kosten mit einfachen Instanzen reduzieren.

  • Lesepoolinstanz: bietet Lesezugriff, um Ihre Arbeitslasten zu skalieren. Sie können eine oder mehrere Lesepoolinstanzen hinzufügen, die jeweils insgesamt bis zu 20 Knoten im Cluster enthalten. AlloyDB verteilt Anfragen automatisch auf die Knoten in einem Lesepool.

Wichtige Features

AlloyDB unterscheidet sich von einer Standard-PostgreSQL-Installation in mehrfacher Hinsicht, abgesehen von den Vorteilen der vertikalen und horizontalen Skalierung, die mit der zuvor beschriebenen Multi-Node-Architektur einhergehen. In den folgenden Abschnitten werden die wichtigsten Funktionen von AlloyDB genauer beschrieben.

Automatische und adaptive Datenbankfunktionen

Die vollständig PostgreSQL-kompatible Datenbank-Engine, die jeden AlloyDB-Knoten unterstützt, bietet mehrere Funktionen, mit denen die Struktur und Häufigkeit der von Ihren Instanzen verarbeiteten Abfragen kontinuierlich analysiert werden. Diese Informationen werden verwendet, um Schemaverbesserungen vorzuschlagen oder Optimierungen automatisch anzuwenden:

  • Ein Indexberater hilft Ihnen, Möglichkeiten zur Optimierung Ihres Datenbankschemas mithilfe neuer Indexe basierend auf Ihren Nutzungsmustern zu finden.

  • Eine spaltenbasierte Engine kann die Leistung analytischer Abfragen beschleunigen, indem Daten im Arbeitsspeicher in einem spaltenbasierten Format gespeichert werden. So kann AlloyDB erweiterte Verarbeitungstechniken verwenden, um bei Bedarf eine große Menge an Tabellendaten effizient zu scannen.

  • Eine adaptive Variante der PostgreSQL-Funktion für die automatische Bereinigung veralteter Daten passt die Bereinigungsparameter automatisch an die Form Ihrer Arbeitslast an.

  • Automatische Speicherverwaltungssysteme nutzen die von Google entwickelte, cloudbasierte Umgebung, in der AlloyDB ausgeführt wird. Sie weisen kontinuierlich Speicher zu und geben ihn nach Bedarf frei, damit Ihr Cluster mit optimaler Leistung und Ressourceneffizienz ausgeführt wird.

Hochverfügbarkeit

Standardmäßig bietet ein AlloyDB-Cluster Hochverfügbarkeit über die redundanten Knoten der primären Instanz, die sich in zwei verschiedenen Zonen befinden, mit automatischem Failover.

Cluster, die in Nicht-Produktionsumgebungen ausgeführt werden, für die keine Hochverfügbarkeit erforderlich ist, können stattdessen optional einfache, zonale primäre Instanzen verwenden.

Wenn Sie Lesepoolinstanzen mit mindestens zwei Knoten hinzufügen, werden weitere multizonale Hochverfügbarkeits-Zugriffspunkte mit Load Balancing für Ihre Daten erstellt. Alle Lesepoolinstanzen werden unabhängig von der primären Instanz ausgeführt.

Weitere Informationen zu regionsspezifischen Aspekten finden Sie unter Geografie und Regionen

Datensicherung und Wiederherstellung im Notfall

AlloyDB bietet ein System für die kontinuierliche Sicherung und Wiederherstellung, mit dem Sie einen neuen Cluster basierend auf einem beliebigen Zeitpunkt innerhalb einer anpassbaren Aufbewahrungsdauer erstellen können. So können Sie sich schnell von Datenverlusten erholen.

Darüber hinaus kann AlloyDB vollständige Sicherungen der Daten Ihres Clusters erstellen und speichern, entweder bei Bedarf oder nach einem regelmäßigen Zeitplan. Sie können jederzeit eine Sicherung in einem neuen AlloyDB-Cluster wiederherstellen, der alle Daten aus dem ursprünglichen Cluster zum Zeitpunkt der Erstellung der Sicherung enthält.

Weitere Informationen finden Sie unter Sicherungen.

Als weitere Methode zur Notfallwiederherstellung können Sie eine regionenübergreifende Replikation erreichen, indem Sie sekundäre Cluster in separaten Google Cloud-Regionen erstellen. AlloyDB streamt Daten asynchron von einem festgelegten primären Cluster an jeden seiner sekundären Cluster. Sie können jederzeit einen sekundären Cluster zu einem primären Cluster hochstufen oder ein regionenübergreifendes Failover (Vorabversion) durchführen, um Ihre Replikationstopologie bei einem Ausfall automatisch beizubehalten.

Weitere Informationen finden Sie unter Informationen zur regionenübergreifenden Replikation.

Sicherheit und Zugriffssteuerung

Sie können einen Cluster so konfigurieren, dass eine Verbindung mit dem sicheren AlloyDB Auth-Proxy erforderlich ist, der IAM für die Zugriffssteuerung verwendet. Weitere Informationen finden Sie unter Autorisierung.

AlloyDB verwendet das standardmäßige PostgreSQL-Nutzerrollensystem für die Authentifizierung und führt einige zusätzliche Rollen ein, die für AlloyDB spezifisch sind. Weitere Informationen finden Sie unter AlloyDB-Nutzerrollen verwalten.

Verschlüsselung

AlloyDB schützt alle inaktiven Daten standardmäßig mit Google-owned and Google-managed encryption keys. Wenn Sie Ihre Daten stattdessen mit einem von Ihnen bereitgestellten Schlüssel verschlüsseln möchten, können Sie beim Erstellen eines Clusters einen kundenverwalteten Verschlüsselungsschlüssel (CMEK) angeben. AlloyDB verwendet dann den CMEK-Schlüssel, um alle in diesen Cluster geschriebenen Daten zu verschlüsseln.

CMEK gilt auch für Sicherungen. Sie können einen CMEK-Schlüssel angeben, wenn Sie eine On-Demand-Sicherung erstellen, einen Sicherungszeitplan konfigurieren oder eine Sicherung wiederherstellen.

Weitere Informationen finden Sie unter Informationen zu CMEK.

Wartung und Updates

Während der Lebensdauer eines AlloyDB-Clusters können zwei Arten von Updates auftreten:

  • Systemupdates: Google führt regelmäßig Systemupdates durch, um dafür zu sorgen, dass die zugrunde liegende Hardware und Software zuverlässig, sicher und optimal funktioniert. Diese Updates umfassen Sicherheitspatches, Betriebssystemupgrades und kleinere Updates der PostgreSQL-Serverversion.
  • Konfigurationsupdates: Dies sind Änderungen, die Sie manuell an Ihrem Cluster oder Ihren Instanzen vornehmen, um sich ändernden Arbeitslastanforderungen gerecht zu werden. Beispiele hierfür sind das Ändern der Anzahl der vCPUs und des Arbeitsspeichers einer Instanz oder das Ändern von Datenbank-Flags.

AlloyDB-Wartungsvorgänge sind so konzipiert, dass sie unterbrechungsfrei sind. Dazu werden Ersatzserver vorbereitet und schnell gegen die aktiven Server ausgetauscht, sobald sie bereit sind. Während dieses Vorgangs kommt es bei primären Instanzen in der Regel zu einer Ausfallzeit von weniger als einer Sekunde, während Lesepools kontinuierlich verfügbar bleiben. Alle aktiven Verbindungen zur Datenbank werden vorübergehend getrennt. Sie können Ihre Datenbank jedoch während des gesamten Vorgangs normal weiterverwenden.

Wenn Sie eine Flag-Aktualisierung schneller anwenden möchten, auch wenn dies zu einer längeren Ausfallzeit führt, können Sie den Aktualisierungsmodus FORCE_APPLY verwenden.

AlloyDB AI

AlloyDB AI integriert eine Reihe von KI- und ML-Funktionen direkt in Ihre AlloyDB-Datenbank. Bisher waren für die Entwicklung von KI-Anwendungen komplexe Datenpipelines und ETL-Prozesse erforderlich, um Daten aus operativen Datenbanken auf spezialisierte KI-/ML-Plattformen zu verschieben. Diese Methode führte zu Herausforderungen wie erhöhter Latenz bei der Datenübertragung, höherem Betriebsaufwand für die Verwaltung verschiedener Systeme und doppeltem Speicher. Durch die Integration von KI-Funktionen direkt in die Datenbank entfällt bei AlloyDB AI die Notwendigkeit, umfangreiche externe Daten zu verschieben.

Um die Entwicklung von KI-Anwendungen zu erleichtern, bietet AlloyDB AI die folgenden Erweiterungen:

  • vector (eine für AlloyDB AI angepasste Version von pgvector): Speichert und indexiert Vektoreinbettungen für die semantische Suche. Unterstützt das Ausführen von hybriden Abfragen und Ähnlichkeitssuchen. Informationen zu den ersten Schritten mit der Vektorsuche finden Sie unter Vektorsuche ausführen.
  • alloydb_scann: Bietet eine leistungsstarke Suche nach ungefähren nächsten Nachbarn, indem ein hocheffizienter Index für die Suche nach dem nächsten Nachbarn implementiert wird, der auf dem ScaNN-Algorithmus basiert. Weitere Informationen finden Sie unter ScaNN-Index erstellen.
  • google_ml_integration: bietet Zugriff auf die KI-Funktionen, mit denen ML-Modelle aus AlloyDB für Aufgaben wie das Generieren von Einbettungen, semantisches Ranking, KI-basierte Filter und Joins sowie Textgenerierung und -zusammenfassung aufgerufen werden können. Die Modellendpunktverwaltung ermöglicht die Registrierung und den Aufruf von KI-Modellen, einschließlich externer Modelle von OpenAI oder Anthropic. Weitere Informationen finden Sie unter Modellendpunkt registrieren und Semantische Abfragen mit KI-Operatoren auswerten.
  • alloydb_ai_nl: Ermöglicht die Interaktion mit Ihrer Datenbank in natürlicher Sprache. Anwendungsentwickler können damit präzise und sichere SQL-Abfragen als Antwort auf Fragen von Endnutzern in natürlicher Sprache generieren. So können auch Nutzer ohne SQL-Kenntnisse auf Daten zugreifen. Weitere Informationen finden Sie unter Übersicht über natürliche Sprache.

Eine Liste der Anwendungsfälle für AlloyDB AI-Funktionen finden Sie unter Generative KI-Anwendungen erstellen.

Unterstützung für Erweiterungen

AlloyDB unterstützt eine Reihe gängiger PostgreSQL-Erweiterungen. Eine vollständige Liste finden Sie unter Unterstützte Datenbankerweiterungen.

Eine selbst gehostete Alternative: AlloyDB Omni

Als Alternative zur Ausführung von AlloyDB in Google Cloudbietet Google AlloyDB Omni an. Mit dieser optimierten, herunterladbaren Version von AlloyDB können Sie das leistungsstarke Datenbankmodul in Ihrer eigenen Linux-basierten Computing-Umgebung ausführen, wo auch immer diese sich befindet.

Wenn Sie Bereitstellungsoptionen und Code-Labs kennenlernen und Abos in derGoogle Cloud Console verwalten möchten, rufen Sie die AlloyDB Omni-Konsolenseite auf.

Weitere Informationen finden Sie in der AlloyDB Omni-Übersicht.

Nächste Schritte