Vergleich von RDS und EC2 für PostgreSQL DB

Sofern Sie nicht neu in der Backend-Entwicklung sind, haben Sie wahrscheinlich schon von Amazon RDS gehört. Kurz gesagt, Amazon Relational Database Service (Amazon RDS) ist ein Webdienst, der das Einrichten, Betreiben und Skalieren einer relationalen Datenbank in der Cloud vereinfacht. Es bietet kostengünstige, anpassbare Kapazität für eine relationale Datenbank nach Industriestandard und verwaltet allgemeine Datenbankverwaltungsaufgaben.

Amazon RDS PostgreSQL

Ich werde versuchen, Amazon RDS mit Amazon EC2 für PostgreSQL zu vergleichen. Dieser Beitrag kann Ihnen dabei helfen, entweder Amazon RDS oder Ihre eigene Amazon EC2-Instanz mit installiertem PostgreSQL zu verwenden.

Einer der Vorteile von Entwicklern, die Amazon RDS verwenden, anstatt ihre eigenen Datenbanken zu verwalten, besteht darin, dass die administrativen Verantwortlichkeiten reduziert oder aufgehoben werden.

Vorteile der Verwendung von Amazon RDS über Amazon EC2 für PostgreSQL-Server.

Konfiguration

Das Einrichten einer PostgreSQL-Datenbank unter Amazon RDS ist nur ein paar Klicks entfernt. Es ist nicht erforderlich, Hardware zu kaufen, die Software zu installieren und den Datenbankzugriff zu verwalten. Sie können alles über das AWS Dashboard konfigurieren und fertig!

Verfügbarkeit

Amazon RDS ist eine hochverfügbare relationale Datenbank. Es wird mit einer Funktion namens Amazon RDS Multi-AZ Deployment ausgeliefert, die automatisch eine primäre DB-Instanz erstellt und die Daten synchron auf eine Standby-Instanz in einer anderen Availability Zone (AZ) repliziert.

Wenn Sie mit Ihrer eigenen EC2-Instanz arbeiten, müssen Sie PostgreSQL für hohe Verfügbarkeit über eine der verschiedenen Replikationslösungen einrichten.

Backups

Mit Amazon RDS erhalten Sie automatisierte Backups, mit denen Sie sich zu einem von Ihnen festgelegten Zeitpunkt erholen können. Sie erhalten auch eine einfache Möglichkeit, konsistente und lieferbare Snapshots bei Bedarf zu erstellen und so lange zu speichern, wie Sie möchten.

Das Einrichten von Backup & Restore unter PostgreSQL ist nicht so einfach wie bei Amazon RDS.

Notfallwiederherstellung

Mit der Multi-AZ-Funktion bietet AWS eine synchrone "Standby" -Reproduktion jeder Datenbank in einer anderen "Zone". Da sowohl die Datenbank als auch ihre Replik synchron sind, besteht keine Gefahr eines Datenverlusts. Es bietet auch einen Domain Name Server (DNS) für den Zugriff auf RDS. Selbst wenn die Master-Datenbankinstanz ausfällt, wird der Master-DNS durch einen automatischen RDS-Failover-Mechanismus in ein Replikat geändert, um eine hohe Verfügbarkeit zu erzielen.

Während PostgreSQL direkt kein automatisches Failover bietet, müssen Sie das automatische Failover mit PostgreSQL manuell einrichten. Möglicherweise müssen Sie repmgr auch konfigurieren, um die Replikation und das Failover in einem Cluster von PostgreSQL-Servern zu verwalten.

Skalierbarkeit

Mit Amazon RDS wird das Skalieren Ihrer Datenbank sehr einfach. Sie können Ihre Datenbank skalieren, indem Sie Replikate hinzufügen. Sie können Ihre RDS-Instanz mit nur einem Knopfdruck vertikal und horizontal skalieren.

Möglicherweise müssen Sie die Streaming-Replikation einrichten, um Ihre Datenbank zu skalieren. Sie werden auch Ausfallzeiten haben.

Performance

AWS RDS bietet PIOPS (Provisioned IOPS), um eine schnelle, konsistente und vorhersehbare E / A-Leistung (Input / Output) zu erzielen.

Überwachung

Amazon RDS sendet jede Minute Metriken für jede Datenbankinstanz, die ohne zusätzliche Kosten aktiv ist, an CloudWatch.

Sicherheit

Mit Amazon RDS können Sie Ihre Daten mithilfe der Datenverschlüsselung sichern. Sie können es mit den Schlüsseln verschlüsseln und es wird vom AWS Key Management Service verwaltet. Weitere Informationen zum Verschlüsseln von Amazon RDS-Ressourcen finden Sie hier.

Software-Patches

Amazon RDS stellt sicher, dass Ihre Datenbank mit den neuesten Patches auf dem neuesten Stand ist.

Besprechen wir einige der Nachteile der Verwendung von AWS RDS.

  • Kein Zugriff auf die RDS-Instanz. Ja, Sie haben es richtig gehört, da RDS eine verwaltete Datenbank ist. Sie können nicht auf das Server-Betriebssystem zugreifen.
  • Die Serverzeit ist auf UTC festgelegt.

Keine großen Einschränkungen bei der Verwendung von Amazon RDS, oder? Vergleichen wir die Preise unter Berücksichtigung ähnlicher Instanzkonfigurationen.

# EC2

Instanztyp: m4.large | 2 vCPUs | 8 GB Speicher | Moderate E / A

Lagerung: EBS General Purpose SSD | 100 GB bei 0,1 USD pro GB und Monat

Gesamtkosten (ungefähr): 85 USD pro Monat

# RDS

Instanztyp: db.m4.large | 2 vCPUs | 8 GB Speicher | Moderate E / A

Speicherplatz: 100 GB

Gesamtkosten (ungefähr): 155 USD pro Monat

RDS klingt eindeutig teuer, hat aber seine eigenen Vorteile. Bei der Auswahl von RDS oder EC2 für die Datenbank gibt es keine richtige oder falsche Entscheidung. Und wie bei den meisten Dingen handelt es sich um einen Kompromiss zwischen Kosten und Aufwand / Komplexität.

Wenn Sie nach einer einfachen, wartungsarmen Lösung suchen, ist RDS die bessere Option. Wenn es um Produktionsbereitstellungen geht, erweist sich die von RDS bereitgestellte Multi-AZ-Bereitstellung als sehr nützlich, was den Aufwand / die Kosten für den Datenbank- / Entwicklungsingenieur auf jeden Fall verringert. Wenn Sie komplexe Konfigurationen wie die Optimierung der postgres-Konfigurationsdatei durchführen müssen, Write-Ahead-Log migrieren, pgbouncer ausführen usw., ist Ihre Datenbank auf EC2 die einzige Option.

Vielen Dank für das Lesen dieses Artikels. Bitte empfehlen Sie diesen Artikel, wenn Sie ihn hilfreich fanden.