Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Hochverfügbarkeit der Datenbank

Für Datenbank- und Infrastrukturteams im öffentlichen Sektor. Was Exponential selbst für die Datenbankverfügbarkeit bietet (Verbindungswiederholungen, Lese-Replikate unter MySQL und MariaDB, Failover-Einstellungen für…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/government/operations/availability/database-high-availability.md

On this page

This page is a translation. Read the English original

Hochverfügbarkeit der Datenbank

Diese Seite richtet sich an Datenbankadministratorinnen und -administratoren sowie Infrastrukturteams in öffentlichen Stellen, die die Datenbank einer Exponential-Website verfügbar halten müssen, wenn eine Datenbankmaschine ausfällt. Sie beantwortet, was Exponential selbst leistet, was es der Datenbank-Engine überlässt und was das Umschalten auf eine Bereitschaftsdatenbank umfasst. Die Referenzen sind 9 Datenbanken und Datenbankunterstützung.

Inhalt

  1. Was Exponential leistet und was nicht
  2. Je Engine
  3. Auf eine Bereitschaftsdatenbank umschalten
  4. Es testen
  5. Checkliste

Was Exponential leistet und was nicht

Exponential verbindet sich je Website mit einem Datenbankserver, der in site.ini [DatabaseSettings] Server benannt ist. Es bietet:

FunktionEinstellungEngines
Wiederholungen, wenn die erste Verbindung scheitert[DatabaseSettings] ConnectRetries (ausgeliefert 0)MySQL, PostgreSQL, SQLite
Lesezugriffe an ReplikateUseSlaveServer mit SlaveServerArray[] (ausgeliefert disabled)nur MySQL und MariaDB
Ein Deskriptor über mehrere Listener, Failover, Wiederholungenezoracle.ini [ConnectionSettings] Hosts[], Failover, RetryCountOracle

Es hat keine eingebaute automatische Ausfallumschaltung für PostgreSQL, MariaDB oder MySQL: Fällt der in Server benannte Server aus, kann die Website ihre Datenbank nicht erreichen, bis diese Adresse wieder funktioniert. Die Datenbankverfügbarkeit ist daher Aufgabe der Datenbankplattform: ihrer Replikation, einer virtuellen IP oder eines DNS-Namens, die auf die Bereitschaftsdatenbank wechseln, oder eines Proxys vor der Datenbank. Wählen Sie, was Ihr Datenbankteam bereits betreibt.

Je Engine

EngineVerfügbarkeitsoptionenHinweise
1. SQLite 3keine eigenenein Host; keine Replikation; Wiederherstellung aus Datensicherungen (9.2)
2. PostgreSQLeigene Replikation und zeitpunktgenaue WiederherstellungEinrichtung nach der PostgreSQL-Dokumentation
3. MongoDBsiehe die Dokumentation des Herstellerslesen Sie zuerst die Grenzen von MongoDB
4. MariaDB, 6. MySQLdie Replikation des Servers; Exponential kann von Replikaten lesenLese-Replikate
5. Oracle[ConnectionSettings]-Failover über mehrere Listener, DRCP, Wiederholungenjede Funktion ist standardmäßig ausgeschaltet (9.6)

Für eine öffentliche Stelle mit einer Pflicht zur Aufrechterhaltung des Betriebs ist SQLite die falsche Engine, sobald diese Pflicht eine Bereitschaftsdatenbank verlangt; planen Sie den Umstieg auf einen Datenbankserver (Die Datenbank-Engine wechseln).

Auf eine Bereitschaftsdatenbank umschalten

Wenn die Plattform keine wandernde Adresse hat und Sie von Hand umschalten, ist die Änderung auf der Seite von Exponential eine einzige Einstellung. Die Datenbankschritte (das Hochstufen der Bereitschaftsdatenbank) folgen der Dokumentation Ihrer Engine.

  1. Versetzen Sie die Website in den Wartungsmodus, damit während der Umschaltung niemand schreibt:

    php bin/php/maintenance.php on --message="Switching database" --until=30m --allow-root-user
  2. Stufen Sie die Bereitschaftsdatenbank mit den eigenen Werkzeugen der Datenbank hoch.

  3. Ändern Sie Server (und bei Bedarf Port) in settings/override/site.ini.append.php, [DatabaseSettings]; bei einem Cluster auch die Datenbankeinstellungen des Clusters und CLUSTER_STORAGE_HOST.

  4. Leeren Sie den INI-Cache und lassen Sie die Engine den neuen Wert lesen:

    php bin/php/ezcache.php --clear-tag=ini --allow-root-user
    ./console exp:velocity deploy --allow-root-user

    Unter PHP-FPM ohne Velocity laden Sie das PHP-FPM neu, das die Website ausliefert.

  5. Prüfen Sie die Website und beenden Sie dann den Wartungsmodus:

    php bin/php/maintenance.php off --allow-root-user

Ein DNS-Name oder eine virtuelle Adresse, die das Datenbankteam verschiebt, macht Schritt 3 überflüssig und ist die bessere Architektur.

Es testen

Eine Bereitschaftsdatenbank, auf die nie umgeschaltet wurde, ist eine Hoffnung. Testen Sie die Umschaltung in einer Testumgebung (Umgebungen für Entwicklung, Test und Produktion), messen Sie, wie lange sie dauert, und halten Sie die Zeit zusammen mit Ihren Wiederherstellungszielen fest. Prüfen Sie nach einer echten Umschaltung die Inhalte, die kurz vor dem Ausfall veröffentlicht wurden: Eine Replikationsverzögerung kann die letzten Schreibvorgänge kosten.

Checkliste

  • To do: Die Engine trägt die Pflicht zur Aufrechterhaltung des Betriebs (nicht SQLite, wenn eine Bereitschaftsdatenbank verlangt ist).
  • To do: Das Datenbankteam betreibt die Replikation und ist für das Verfahren zum Hochstufen verantwortlich.
  • To do: Die Website erreicht die Datenbank über eine Adresse, die wandern kann, oder die manuelle Umschaltung ist dokumentiert.
  • To do: Über ConnectRetries ist entschieden.
  • To do: Die Umschaltung wurde getestet und ihre Dauer festgehalten.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x