Die Einführung von DevOps in Organisationen hat den Entwicklungsprozess verändert und auch einige neue Herausforderungen mit sich gebracht. Darüber hinaus haben Entwickler und DevOps-Teams neben ihren eigenen gewählten Programmiersprachen auch ihre bevorzugten Datenbanksysteme.
Der Produktlebenszyklus wird jedes Jahr kürzer, daher möchten Entwickler in der Lage sein, schnell zu entwickeln und Technologien zu verwenden, die sie am besten kennen.
Mehrere RDBMS-Datenbank-Backends zu haben bedeutet, dass Ihr Unternehmen auf der Entwicklungsseite agiler wird, aber es erfordert auch zusätzliches Wissen von den Betriebsteams.
Wenn Sie Ihre Infrastruktur von einer auf viele Datenbanken erweitern, müssen Sie diese auch überwachen, verwalten und skalieren.
Da sich jedes Speicher-Backend in verschiedenen Anwendungsfällen auszeichnet, bedeutet dies auch, dass Sie das Rad für jeden von ihnen neu erfinden müssen.
Die Kenntnis der Ähnlichkeiten und Hauptunterschiede wird Ihnen helfen, in die verschiedenen Varianten von RDBMS einzutauchen.
In diesem Artikel gehen wir auf die folgenden Punkte ein:
- Eine kurze Einführung in die Plattform
- Oracle, MSSQL, MySQL, PostgreSQL
- Plattformunterstützung
- Installationsprozess
- Datenbankzugriff
- Sicherungsprozess
- Abfrageausführung steuern
- Sicherheit
- Replikationsoptionen
- Community-Unterstützung
Eine kurze Einführung in die Plattform
PostgreSQL wird von vielen als die fortschrittlichste Open-Source-Datenbank der Welt angesehen. Es ist ein vollständig Open-Source-Datenbanksystem, das unter einer eigenen Lizenz veröffentlicht wird, der PostgreSQL-Lizenz, vergleichbar mit den MIT- oder BSD-Lizenzen. Die PostgreSQL-Community ist aktiv und verbessert kontinuierlich bestehende und neue Funktionen. PostgreSQL war das DBMS des Jahres 2017 und 2018 laut Rangliste der DB-Engine-Beliebtheit. Die Popularität der DB-Engines zeigt, dass sich der Trend im Laufe der Jahre nicht geändert hat.
Eine interessante Tatsache ist, dass PostgreSQL SQL bis 1994 nicht unterstützte. Die QUEL-Sprache wurde verwendet, um Daten daraus abzufragen. SQL-Unterstützung wurde später hinzugefügt.
PostgreSQL verfügt über viele erweiterte Funktionen, die andere Datenbankverwaltungssysteme für Unternehmen bieten, wie z. B. Ansichten, gespeicherte Prozeduren, Indizes und Trigger zusätzlich zu den Primärschlüssel-, Fremdschlüssel- und Atomizitätsfunktionen.
PostgreSQL kann von Benutzern erweitert werden, indem vorhandene Funktionen geändert, neue Funktionen hinzugefügt und frei verteilt werden, da es Open Source ist. Es läuft auf wichtigen Plattformen wie UNIX, MacOS, Windows und Linux usw. Es unterstützt Video, Text, Audio, Bilder, Programmierschnittstellen für verschiedene Sprachen. Die Liste der unterstützten Sprachen umfasst C/C++, Java, Python, Perl usw.
Orakel ist einer der größten Anbieter von RDBMS (Relational Database Management System) in der IT-Welt. Es ist als Oracle-Datenbank, Oracle DB oder von Oracle vertriebenes Oracle bekannt.
Oracle Database wird von vielen Unternehmen in der IT-Branche für Transaktionsverarbeitung, Geschäftsanalysen, Business-Intelligence-Anwendungszwecke usw. verwendet.
Oracle hat eine lange und sehr interessante Geschichte:
Am 16. Juni 1977 wurden Software Development Laboratories (SDL) in Santa Clara, Kalifornien, von Larry Ellison, Bob Miner und Ed Oates gegründet. 1977 übernahm Oracle seinen Namen vom Codenamen des CIA-Projekts und das erste kommerzialisierte Oracle RDBMS wird 1979 der Welt gezeigt.
Die Oracle-Datenbank ist in verschiedenen Editionen wie Enterprise Edition Standard Edition, Express Edition und Oracle Lite verfügbar. Der größte Konkurrent für die Oracle-Datenbank ist der Microsoft SQL-Server.
Microsoft SQL-Server ist ein sehr beliebtes RDBMS mit restriktiver Lizenzierung und geringen Betriebskosten, wenn die Datenbank eine beträchtliche Größe hat oder von einer beträchtlichen Anzahl von Kunden verwendet wird.
Es ist neben Oracle Database und DB2 von IBM eine der drei marktführenden Datenbanktechnologien.
Es bietet eine sehr benutzerfreundliche Oberfläche und ist leicht zu erlernen, was zu einer großen installierten Benutzerbasis geführt hat.
Wie andere RDBMS-Software basiert Microsoft SQL Server auf SQL, einer standardisierten Programmiersprache, die Datenbankadministratoren (DBAs) und andere IT-Experten verwenden, um Datenbanken zu verwalten und die darin enthaltenen Daten abzufragen. SQL Server ist an Transact-SQL (T-SQL) gebunden, eine SQL-Implementierung von Microsoft, die der Standardsprache eine Reihe proprietärer Programmiererweiterungen hinzufügt.
MySQL
MySQL ist ein von Oracle unterstütztes relationales Open-Source-Datenbankverwaltungssystem, das auf SQL basiert.
Ursprünglich von der schwedischen Firma MySQL AB konzipiert, wurde MySQL 2008 von Sun Microsystems übernommen und dann von Oracle, als es Sun 2010 kaufte.
Entwickler können MySQL unter der GNU General Public License (GPL) verwenden. Die Enterprise-Version bietet Support und zusätzliche Funktionen für Sicherheit und Hochverfügbarkeit.
Es ist laut db-engines-Ranking die zweitbeliebteste Datenbank der Welt und wahrscheinlich das präsenteste Datenbank-Backend der Welt, da es die meisten Internetdienste rund um den Globus betreibt. MySQL läuft auf praktisch allen Plattformen, einschließlich Linux, UNIX und Windows.
MySQL ist eine wichtige Komponente eines Open-Source-Enterprise-Stacks namens LAMP.
LAMP ist eine Webentwicklungsplattform, die Linux als Betriebssystem, Apache als Webserver, MySQL als relationales Datenbankverwaltungssystem und PHP als objektorientierte Skriptsprache verwendet.
Plattformunterstützung
Orakel
Die beliebteste Version von Oracle DB, Oracle 12c, ist ein echtes RDBMS-System für Unternehmen, das auf einer Vielzahl von Betriebssystemen und Plattformen unterstützt wird. Oracle dominiert die Datenbankwelt zum Teil, weil es auf Dutzenden von Plattformen läuft, von Mainframe, Sparc, Mac bis Intel. Die Liste umfasst die folgenden Betriebssystem- und Architekturkombinationen:Linux auf x86-64 (nur Red Hat Enterprise Linux-, Oracle Linux- und SUSE-Distributionen werden unterstützt) Microsoft Windows auf x86-64. Oracle Solaris auf SPARC und x86-64. IBM AIX auf POWER-Systemen. Linux auf IBM zEnterprise Systems HP-UX auf Itanium.
MSSQL
Als Microsoft-Produkt wurde SQL so konzipiert, dass es sehr kompatibel mit dem Windows-Betriebssystem ist. Am 16. November 2016 kündigte Microsoft den Beginn einer neuen Geschichte an:SQL Server wird jetzt unter Linux und Docker unterstützt. Die Hölle friert zu!
MySQL
MYSQL führt eine reibungslosere Ausführung auf allen Plattformen wie Microsoft, UNIX, Linux, Mac usw. durch.
PostgreSQL
Im Allgemeinen kann davon ausgegangen werden, dass PostgreSQL auf verschiedenen (sogar exotischen) CPU-Architekturen und Betriebssystemen funktioniert.
Es umfasst CPU-Architekturen wie x86, x86_64, IA64, PowerPC, PowerPC 64, S/390, S/390x, Sparc, Sparc 64, Alpha, ARM, MIPS, MIPSEL, M68K und PA-RISC. Es ist oft möglich, auf einem nicht unterstützten CPU-Typ aufzubauen, indem man mit --disable-spinlocks konfiguriert, aber die Leistung wird schlecht sein.
PostgreSQL funktioniert voraussichtlich auf den folgenden Betriebssystemen:Linux (alle neueren Distributionen), Windows (Win2000 SP4 und höher), FreeBSD, OpenBSD, NetBSD, Mac OS X, AIX, HP/UX, IRIX, Solaris, Tru64 Unix, und UnixWare.
Installationsprozess
Orakel
Von allen vier vorgestellten Datenbanksystemen hat Oracle die komplexesten Systemanforderungen, die mit einem komplexen Installationsprozess einhergehen. Sowohl auf Windows- als auch auf Linux-basierten Plattformen verwendet Oracle ein dediziertes Oracle Universal Installer (OUI)-Tool als Hauptinstallationsprozess. Die OUI wird verwendet, um die Oracle Database-Software zu installieren. OUI ist ein Dienstprogramm für eine grafische Benutzeroberfläche, mit dem Sie:
- Zeigen Sie die auf Ihrem Computer installierte Oracle-Software an
- Neue Oracle Database-Software installieren
- Löschen Sie nicht mehr benötigte Oracle-Software.
Während des Installationsvorgangs startet OUI den Oracle Database Configuration Assistant (DBCA), der eine vorab erstellte Standarddatenbank installieren kann, die Beispielschemas enthält, oder Sie durch den Prozess zum Erstellen und Konfigurieren einer benutzerdefinierten Datenbank führen kann.
Wenn Sie während der Installation keine Datenbank erstellen, können Sie DBCA nach der Installation der Software aufrufen, um eine oder mehrere Datenbanken zu erstellen.
MSSQL
Ab SQL Server 2016 (13.x) ist SQL Server nur als 64-Bit-Anwendung verfügbar.
Die Installation erfolgt über den Installationsassistenten, eine Eingabeaufforderung oder über das Sysprep-Tool.
Der Installationsassistent führt das SQL Server-Installationscenter aus. Um eine neue Installation von SQL Server zu erstellen, wählen Sie die Installationsoption auf der linken Seite und klicken Sie dann auf Neue eigenständige SQL Server-Installation oder Funktionen zu einer vorhandenen Installation hinzufügen.
Die Linux-basierte Installation ist der Open-Source-Datenbankinstallationsmethode sehr ähnlich. Es unterstützt Paketierung für Debian- und RedHat-basierte Systeme. Die Schritte bestehen aus Repository-Konfiguration, Paketinstallation und Konfiguration nach der Installation, ganz ähnlich wie bei MySQL. Der gesamte Prozess wird im folgenden Artikel ausführlich beschrieben.
MSSQL-Installationsassistent
MySQL
Oracle stellt eine Reihe von Binärdistributionen von MySQL bereit. Dazu gehören generische Binärdistributionen in Form von komprimierten Tar-Dateien (Dateien mit der Erweiterung .tar.gz) für eine Reihe von Plattformen und Binärdateien in plattformspezifischen Paketen. Auf der Windows-Plattform wird der Installationsprozess vom Standard-Installationsassistenten über die GUI ausgelöst.
PostgreSQL
PostgreSQL ist in den meisten Linux-Distributionen verfügbar, daher ist es sehr wahrscheinlich, dass Sie es mit einem einfachen yum- oder apt-get-Befehl installieren können. Für die HA-Konfiguration können Sie das ClusterControl s9s-Tool oder die GUI verwenden. S9S-Tools können Ihnen helfen, einen PostgreSQL-Cluster mit nur einem einzigen Zeilenbefehl zu erstellen:
$ s9s cluster \
--create \
--cluster-type=postgresql \
--nodes="192.168.0.91?master;192.168.0.92?slave;192.168.0.93?slave" \
--provider-version='11' \
--db-admin='postgres' \
--db-admin-passwd='s3cr3tP455' \
--os-user=root \
--os-key-file=/root/.ssh/id_rsa \
--cluster-name='PostgreSQL 11 Streaming Replication' \
--wait
Creating PostgreSQL Cluster
\ Job 259 RUNNING [█▋ ] 15% Installing helper packages
Weitere Informationen finden Sie in diesem Blog.
Zugriff auf die Datenbank und DB-Erstellung
Orakel
Oracle trennt den Prozess der Binär- und Datenbankerstellung. Im Gegensatz zu anderen gängigen Datenbanksystemen umfasst die Datenbankerstellung viel mehr Schritte.
Der Datenbankkonfigurationsassistent (DBCA) ist die bevorzugte Methode zum Erstellen einer Datenbank, da er dies in einem viel automatisierteren Ansatz tun kann. DBCA kann je nach ausgewähltem Installationstyp vom Oracle Universal Installer (OUI) gestartet werden. Sie können DBCA auch jederzeit nach der Oracle Database-Installation als eigenständiges Tool starten.
Sie können DBCA im interaktiven Modus oder im nicht interaktiven/unbeaufsichtigten Modus ausführen. Der interaktive Modus bietet eine grafische Benutzeroberfläche und einen geführten Arbeitsablauf zum Erstellen und Konfigurieren einer Datenbank. Der nicht interaktive/unbeaufsichtigte Modus ermöglicht es Ihnen, die Datenbankerstellung per Skript auszuführen. Sie können DBCA im nicht interaktiven/stillen Modus ausführen, indem Sie Befehlszeilenargumente, eine Antwortdatei oder beides angeben.
Oracle DBCA – DatenbankerstellungWenn eine Datenbank erstellt wird, können Sie mit einem dedizierten Client namens sqlplus darauf zugreifen. SQL*Plus ist ein Terminal-Client-Programm, mit dem Sie auf Oracle Database zugreifen können.
MSSQL
SQL Server Management Studio (SSMS) ist das Haupttool zum Verwalten der Datenbank-Engine und zum Schreiben von Transact-SQL-Code. SSMS ist als kostenloser Download im Microsoft Download Center verfügbar. Die neueste Version kann mit älteren Versionen der Datenbank-Engine verwendet werden.
Management Studio ist eine bevorzugte Methode zum Erstellen einer neuen Datenbank. Um eine Datenbank in Microsoft SQL Server zu erstellen, verbinden Sie sich mit einem Administratorkonto mit dem Computer, auf dem Microsoft SQL Server installiert ist.
Starten Sie Microsoft SQL Server Management Studio und wählen Sie die Option zum Erstellen einer Datenbank. Der Assistentenprozess führt Sie durch den Prozess. Wenn Sie die Befehlszeile bevorzugen, kann dies mit der CREATE DATABASE-Syntax erfolgen.
MySQL
Um auf Ihre MySQL-Datenbank zuzugreifen, verwenden Sie den mysql-Client. Die Datenbankerstellung ist so einfach wie CREATE DATABASE
PostgreSQL
Die PostgreSQL-Datenbank bietet die Option für mehrere „Schemas“, die ähnlich wie Datenbanken in MySQL funktionieren.
Schemata enthalten die Tabellen, Indizes usw. und es kann gleichzeitig über dieselbe Verbindung zu der Datenbank zugegriffen werden, in der sie sich befinden. Zugriffsmethoden für PostgreSQL sind in einer Datei definiert:pg_hba.conf. Es kann sich an verschiedenen Orten befinden. Unter Ubuntu 14.04 befindet es sich in /etc/postgresql/9.3/main/pg_hba.conf, unter Centos 7 dagegen standardmäßig in /var/lib/pgsql/data/pg_hba.conf.
Sicherungsprozess
Orakel
Oracle hat das komplexeste, dedizierte integrierte Backup-Tool aller vier hier beschriebenen Server; es heißt Recovery Manager (RMAN).
Mit RMAN können Sie ausgeklügelte Sicherungsrichtlinien und selektive Wiederherstellungen ausführen. Dieselben Vorgänge erfordern normalerweise viele manuelle Schritte in anderen RDBMS.
Wir können Backups auf zwei Arten erstellen:
- Deaktivieren der Datenbank und Kopieren physischer Dateien (sog. Cold Backup)
- RMAN verwenden und ein Backup erstellen, ohne die Datenbank zu deaktivieren (Hot Backup)
Um eine Hot-Sicherung zu erstellen, versetzen Sie die Basisstation in den ARCHIVELOG-Modus. Dadurch wird Oracle angewiesen, die Kopie der Redo-Protokolldateien nicht als Archivprotokolle aufzubewahren.
MSSQL
In der MS SQL-Welt können Sie die integrierten T-SQL-Befehle zum Sichern und Wiederherstellen von Datenbanken verwenden. Es besteht keine Notwendigkeit, Tools wie mysqlhotcopy und mysqldump zu verwenden.
MS SQL Server bietet drei verschiedene Online-Backup-Strategien:
- Einfaches Wiederherstellungsmodell (ALTER DATABASE dbname SET RECOVERY SIMPLE)
- Vollständiges Wiederherstellungsmodell (ALTER DATABASE dbname SET RECOVERY FULL)
- Massenprotokolliertes Wiederherstellungsmodell (ALTER DATABASE dbname SET RECOVERY BULK_LOGGED)
Das empfohlene Modell ist die vollständige Wiederherstellung, wenn kein Datenverlust akzeptabel ist. Dieser Modus ähnelt der MySQL-Funktion, wenn das Binärprotokoll aktiviert ist. Sie können die Datenbank zu jedem Zeitpunkt wiederherstellen, aber Sie sollten das Transaktionsprotokoll sowie die Datenbank regelmäßig sichern.
Das massenprotokollierte Modell kann für große Massenvorgänge wie das Importieren von Daten oder das Erstellen von Indizes für große Tabellen verwendet werden. Es ist eine eher seltenere Methode, eine Datenbank auszuführen, insbesondere in der Produktion. Es unterstützt keine Point-in-Time-Wiederherstellung, daher wird es im Allgemeinen als vorübergehende Lösung verwendet.
Das einfache Modell ist nützlich, wenn die Datenbank selten aktualisiert wird oder für Test- und Entwicklungszwecke. Im SIMPLE-Modus wird das Transaktionsprotokoll der Datenbank jedes Mal geschnitten, nachdem die Transaktion abgeschlossen ist. In den anderen Modi wird das Protokoll per CHECKPOINT-Anweisung oder nach der Transaktionssicherungsdatei abgeschnitten. Falls die Datenbank beschädigt wird, kann nur die letzte Sicherung wiederhergestellt werden und alle Änderungen seit dieser Sicherung gehen verloren.
MySQL
Zwei der beliebtesten Sicherungsprogramme sind für MySQL und MariaDB verfügbar, nämlich die logische Sicherung mysqldump und die binäre Sicherung Percona XtraBackup und MariaBackup (eine Abzweigung von Percona XtraBackup). Die MySQL Enterprise-Version bietet auch mysqlbackup, das den Hot-Backup-Tools XtraBackup und MariaBackup ähnelt.
PostgreSQL
Die meisten DBMS bieten einige integrierte Backup-Tools. PostgreSQL hat pg_dump und pg_dumpall von Haus aus. Möglicherweise möchten Sie jedoch einige andere Tools für Ihre Produktionsdatenbanken verwenden. Weitere Informationen finden Sie im Artikel Top-Backup-Tools für PostgreSQL.
Steuern der Abfrageausführung und Parallelitätsunterstützung
Orakel
In Oracle sind alle Datenbankobjekte nach Schemas gruppiert. Schemas sind Sammlungen von Datenbankobjekten, und alle Datenbankobjekte werden von allen Schemas und Benutzern gemeinsam genutzt. Es kann in MySQL-Datenbanken übersetzt werden. Auch wenn alles geteilt wird, kann jeder Benutzer über Rollen und Berechtigungen auf bestimmte Schemata und Tabellen beschränkt werden. Dieses Konzept ist MySQL-Datenbanken sehr ähnlich.Hi
MSSQL
MS SQL Server organisiert alle Objekte wie Tabellen, Ansichten und Prozeduren nach Datenbanknamen. Benutzer werden einem Login zugewiesen, das Zugriff auf die spezifische Datenbank und ihre Objekte erhält. Außerdem hat in SQL Server jede Datenbank eine private, nicht freigegebene Festplattendatei auf dem Server.
MySQL
MySQL unterstützt nur MVCC in InnoDB. Es ist eine Speicher-Engine und standardmäßig in MySQL verfügbar. Es bietet auch ACID-Beschwerdefunktionen wie Fremdschlüsselunterstützung und Transaktionsabwicklung. Standardmäßig wird jede Abfrage als separate Transaktion behandelt, was ein anderer Ansatz als in Oracle DB ist.
PostgreSQL
Die Postgres-Engine führt die Parallelitätssteuerung mithilfe einer Methode namens MVCC (Multiversion Concurrency Control) durch. Für jeden Benutzer, der mit der Datenbank verbunden ist, gibt die Postgres-Datenbank einen Snapshot der Datenbank in einer bestimmten Instanz aus. Wenn die Datenbank ein Element aktualisieren muss, fügt sie die neuere Version hinzu und zeigt die alte Version als veraltet an. Es ermöglicht der Datenbank, Overhead zu sparen, erfordert jedoch einen geregelten Sweep, um die alten, veralteten Daten zu löschen.
Sicherheit
Orakel
Die Sicherheitsfunktionen sind großartig, das System bietet mehrschichtige Sicherheit, einschließlich Kontrollen zur Bewertung von Risiken, zur Verhinderung der unbefugten Offenlegung von Daten, zur Erkennung und Meldung von Datenbankaktivitäten und zur Durchsetzung von Datenzugriffskontrollen.
MSSQL
Die Sicherheitsfunktionen sind bescheiden, das RDBMS bietet weniger Funktionen als Oracle, aber immer noch viel mehr als Open-Source-Datenbanksysteme.
MySQL
MySQL implementiert Sicherheit basierend auf Zugriffssteuerungslisten (ACLs) für alle Verbindungen, Abfragen und andere Operationen, die ein Benutzer möglicherweise auszuführen versucht. Es gibt auch Unterstützung für SSL-verschlüsselte Verbindungen zwischen MySQL-Clients und -Servern.
PostgreSQL
PostgreSQL verfügt über ROLLEN und geerbte Rollen zum Festlegen und Verwalten von Berechtigungen. PostgreSQL bietet native SSL-Unterstützung für Verbindungen, um die Client/Server-Kommunikation zu verschlüsseln. Es verfügt auch über Sicherheit auf Zeilenebene.
Zusätzlich dazu verfügt PostgreSQL über eine integrierte Erweiterung namens SE-PostgreSQL, die zusätzliche Zugriffskontrollen basierend auf der SELinux-Sicherheitsrichtlinie bietet. Weitere Details hier.
Community-Unterstützung
Orakel
Die Oracle-Datenbank hat, ähnlich wie MySQL, eine große Community, die sich hauptsächlich um https://community.oracle.com und leidenschaftliche Gruppen an allen Orten auf der ganzen Welt organisiert, wie zum Beispiel https://poug.org/en/. Der kostenpflichtige Support gibt Ihnen Zugriff auf die Support-Gruppe, die zuvor als Metalink bekannt war, nicht auf support.oracle.com.
MSSQL
Im Vergleich zu anderen Datenbanksystemen hat MSSQL wahrscheinlich die am wenigsten organisierten Community-Gruppen, ist aber immer noch sehr aktiv. Microsoft leistet großartige Arbeit bei der Bewerbung seiner Produkte an den Universitäten. Dies gibt jungen Entwicklern, Entwicklern und DBAs einfachen Zugriff auf die Technologie (kostenlose Lizenzen) und alle erforderlichen Materialien.
MySQL
MySQL hat eine große Gemeinschaft von Mitwirkenden, die sich, insbesondere nach der Übernahme durch Oracle, hauptsächlich auf die Pflege bestehender Funktionen konzentrieren, wobei gelegentlich einige neue Funktionen hinzukommen. Der Vorteil gegenüber anderen Open-Source-Datenbanken ist ein sehr starkes Ökosystem externer Anbieter. Unternehmen wie MariaDB und Percona bieten nicht nur großartigen Support, sondern tragen auch dazu bei, indem sie Unternehmensfunktionen in ihre Open-Source-Versionen aufnehmen.
PostgreSQL
PostgreSQL hat eine sehr starke und aktive Community. Seine Community verbessert bestehende Funktionen, während seine innovativen Committer bestrebt sind, sicherzustellen, dass sie die fortschrittlichste Datenbank mit neuen Funktionen und Sicherheit bleibt, wodurch die Distanz zwischen Oracle- und MSSQL-Datenbanken begrenzt wird. PostgreSQL ist dafür bekannt, mehr Funktionen als andere RDBMS auf dem Markt zu haben.
Replikationsoptionen
Orakel
Oracle bietet logische und physische Replikation über einen integrierten Oracle Data Guard. Es handelt sich um eine Unternehmensfunktion.
Data Guard ist eine Ship-Redo-/Apply-Redo-Technologie, "Redo" ist die Information, die zum Wiederherstellen von Transaktionen benötigt wird.
Eine Produktionsdatenbank, die als primäre Datenbank bezeichnet wird, sendet Redo an eine oder mehrere Replikate, die als Standby-Datenbanken bezeichnet werden. Wenn eine Tabelle eingefügt oder aktualisiert wird, wird diese Änderung vom Protokollschreiber in einem Archivprotokoll erfasst und auf das Standby-System repliziert.
Standby-Datenbanken befinden sich in einer kontinuierlichen Phase der Wiederherstellung, Überprüfung und Anwendung von Redo, um die Synchronisierung mit der Primärdatenbank aufrechtzuerhalten. Eine Standby-Datenbank wird auch automatisch neu synchronisiert, wenn sie aufgrund von Stromausfällen, Netzwerkproblemen usw. vorübergehend von der primären Datenbank getrennt wird.
Für flexiblere Replikationsoptionen wie Multisource, selektive Replikation sollten Sie ein zusätzliches kostenpflichtiges Tool, Oracle Golden Gate, in Betracht ziehen.
MSSQL
Microsoft SQL Server bietet die folgenden Replikationstypen zur Verwendung in verteilten Anwendungen:
- Transaktionsreplikation
- Mergereplikation
- Snapshot-Replikation
Es kann mit Microsoft Integration Services erheblich erweitert werden, sodass Sie den Replikationsablauf standardmäßig anpassen können.
PostgreSQL
PostgreSQL bietet mehrere Optionen, jede mit ihren eigenen Vor- und Nachteilen, je nachdem, was durch die Replikation benötigt wird. Die Erstellungsoptionen basieren auf dem Write-Ahead-Protokoll. Dateien werden an einen Standby-Server gesendet, wo sie gelesen und wiedergegeben werden, oder an die Streaming-Replikation, bei der ein schreibgeschützter Standby-Server Transaktionsprotokolle über eine Datenbankverbindung abruft, um sie wiederzugeben. Im Fall einer anspruchsvolleren Replikationsarchitektur möchten Sie wahrscheinlich Slony (Master zu mehreren Slaves) oder Bucardo (Multimaster) prüfen.
MySQL
Die MySQL-Replikation ist wahrscheinlich die beliebteste Hochverfügbarkeitslösung für MySQL
und wird häufig von Top-Webdiensten verwendet.
Es ist einfach einzurichten, aber die laufende Wartung wie Software-Upgrades, Schemaänderungen, Topologieänderungen, Failover und Wiederherstellung war schon immer schwierig.
Die MySQL-Replikation erfordert keine Tools von Drittanbietern, sowohl Master-Slave als auch Multimaster können sofort ausgeführt werden.
Die neueren Versionen von MySQL haben Multi-Source-Replikation und globale Transaktions-ID hinzugefügt, was es noch zuverlässiger und einfacher zu warten macht.
Schlussfolgerung
Priority-Datenbanken wie Oracle und MSSQL bieten robuste Verwaltungssysteme und guten Support. Unter der langen Liste der unterstützten Funktionen können Benutzer das beruhigende Gefühl des Zugriffs auf Unternehmenssupport und kostenpflichtige Wissenssysteme bekommen.
Auf der anderen Seite werden Sie die Kosten für die Lizenz, eine nicht allzu große Funktionslücke und Enterprise-Plug-ins dazu bringen, einfacher als je zuvor auf die Open-Source-Entscheidung umzusteigen.
Die Verwendung vordefinierter Prozesse und Automatisierung kann Ihnen nicht nur Zeit sparen, sondern Sie auch vor häufigen Fehlern schützen.
Eine Verwaltungsplattform, die alle verschiedenen Aspekte des Datenbanklebenszyklus systematisch angeht, ist robuster als das Zusammenfügen einer Reihe von Einzellösungen.