Video: Choose the Right Cloud Storage - Media & Entertainment Workloads - 2017 AWS Online Tech Talks 2024
verwendete RDBMS AWS RDS unterstützt eine Reihe von Datenbank-Engines. Natürlich könnte die Unterstützung eines einzelnen RDBMS auf den ersten Blick scheinen, den Trick zu tun, weil sie im Grunde das Gleiche tun. Bei der Auswahl eines Datenbankmoduls müssen Sie jedoch eine Reihe von Faktoren berücksichtigen. Zu diesen Faktoren gehören (in der Reihenfolge der Wichtigkeit):
- Das RDBMS, das derzeit für die meisten Ihrer vorhandenen Projekte verwendet wird
- Kodierungsanforderungen, z. B. die Fähigkeit, Skripts auf spezifische Weise auszuführen
- Interoperabilitätsanforderungen, insbesondere beim Arbeiten mit anderen Organisationen
- Automatisierungsanforderungen, z. B. die Fähigkeit, Skripte als Reaktion auf Ereignisse oder zu einem bestimmten Zeitpunkt auszuführen
- Sicherheitsbedenken, die andere Anforderungen an die Datenspeicherung außer Kraft setzen können
- Datenspeichergröße oder Typanforderungen
Für Entwickler ist die erste Priorität bei der Auswahl eines RDBMS die Verwendung derselben Datenbank, die die Organisation verwendet, um einen reibungslosen Übergang von der Test- zur Produktionsumgebung zu gewährleisten. Eine Ausnahme von dieser Regel tritt auf, wenn die Organisation beabsichtigt, RDBMS-Produkte zu konsolidieren, und daher zu einem neuen Produkt wechselt, um spezifische Anforderungen zu erfüllen. Da die Anzahl der heute verfügbaren RDBMS-Engines riesig ist, wird RDS wahrscheinlich nicht alle unterstützen. Zum jetzigen Zeitpunkt unterstützt RDS sechs Datenbank-Engines, von denen jede Merkmale zu ihren Gunsten hat, wie in der folgenden Liste erklärt:
- Amazon Aurora: Dieses Produkt ist im Wesentlichen ein MySQL-Klon. Wenn dir MySQL gefällt, magst du wahrscheinlich auch Amazon Aurora. Amazon zufolge hat es Amazon jedoch geschafft, Aurora schneller, skalierbarer und mit einer Reihe interessanter Zusatzfunktionen zu versehen. Natürlich zahlen Sie auch einen höheren Preis für Amazon Aurora. Wenn Sie also die zusätzlichen Funktionen nicht benötigen, ist die Verwendung von MySQL wahrscheinlich eine bessere Wahl. Die Artikel bei 2ndWatch und Ivan Zorattis Blog bieten einen detaillierteren Vergleich von Amazon Aurora mit MySQL.
- MariaDB: Dies ist ein weiterer MySQL-Klon, aber es hat auch eine beträchtliche Anzahl zusätzlicher Funktionen. Bei der Auswahl dieses Produkts müssen Sie einige wichtige Unterschiede berücksichtigen. Zum einen ist MariaDB Open Source, dh es wird eine einzige Lizenz verwendet, die einfacher zu verwalten ist als MySQL. Aufgrund der Lizenzierung arbeiten Enterprise-Kunden jedoch mit ähnlichen Open-Source-Implementierungen in MariaDB (z. B. Threadpool) anstelle der ursprünglichen MySQL-Implementierungen, was zu Kompatibilitätsproblemen führen kann. MariaDB ist derzeit ebenfalls auf der MySQL 5. 5-Ebene gesperrt, sodass Sie möglicherweise nicht auf die neuesten MySQL-Funktionen zugreifen können, die zur Ausführung Ihrer Anwendung erforderlich sind.
- MySQL: Dieses Produkt ist nicht ganz so alt wie einige der anderen RDBMS-Angebote, die Amazon unterstützt, aber es ist der Standard, an dem andere Produkte gemessen werden. Das Problem, der Marktführer zu sein, besteht darin, dass jeder Potschüsse auf Sie ausübt und versucht, Ihre Kunden zu verunsichern, was genau mit MySQL geschieht. Sie können etwas über die Vor- und Nachteile von MySQL lesen. Tatsache ist, dass MySQL den Standard setzt, also bietet es wahrscheinlich die stabilste und zuverlässigste Plattform, die Sie auswählen können, wenn diese Probleme im Mittelpunkt stehen.
- Oracle: Dieses Produkt gibt es schon seit Jahren, also hat es eine lange Geschichte von großem Support und großer Flexibilität. Was Oracle von einigen anderen Produkten wie MySQL und SQL Server unterscheidet, ist, dass Linux-Administratoren und Entwickler es vorziehen. Wie bei MySQL ist Oracle ein Standardsetzer, den jeder gerne mit anderen Produkten vergleicht, auch wenn diese Vergleiche nicht passen. Im Gegensatz zu anderen Produkten in dieser Liste ist es unbedingt erforderlich, Oracle Cloud als separates Produkt aus dem Unternehmens-Setup anzusehen. Die beiden Produkte sind nicht vollständig kompatibel und haben unterschiedliche Feature-Sets. Sie können einige Vor-und Nachteile der Verwendung von Oracle Cloud finden.
- PostgreSQL: Dies ist ein Kombinationsprodukt, bei dem die meisten Leute es als eine Open-Source-Version von Oracle betrachten, aber auch große Anstrengungen unternehmen, um es mit MySQL zu vergleichen. Entwickler mögen PostgreSQL, weil es eine beträchtliche Anzahl von Funktionen bietet, die MySQL normalerweise nicht unterstützt. Darüber hinaus ist die Umstellung für Entwickler von Oracle oder SQL Server relativ einfach, da PostgreSQL dazu neigt, ihrem Beispiel zu folgen. Allerdings bietet MySQL eine bessere Benutzerfreundlichkeit und ist etwas schneller als PostgreSQL. Interessante Vor- und Nachteile für dieses Produkt finden Sie bei Anchor und DigitalOcean.
- SQL Server: Dieses Produkt bietet eine wesentliche RDBMS-Funktionalität mit einer beträchtlichen Anzahl von Add-ons. Das Wichtigste an SQL Server zu erinnern ist, dass Microsoft es für Windows erstellt hat, und alles an diesem Produkt spiegelt diesen Anfang wider. Im Allgemeinen stellen Administratoren fest, dass die Arbeit mit SQL Server relativ einfach ist, es sei denn, sie müssen eine breite Palette dieser Add-Ons verwenden. Entwickler mögen SQL Server, weil es gut in die Sprachprodukte von Microsoft integriert ist. Sie können bei InfoWorld, The Register und SQLServerF1 Vor- und Nachteile zu diesem Produkt nachlesen.
Selbst mit dieser kurzen Übersicht über die verschiedenen Optionen können Sie die Notwendigkeit erkennen, Ihre RDS-Wahl vollständig zu erforschen, bevor Sie sich für eine bestimmte Option entscheiden. In einigen Fällen müssen Sie möglicherweise ein Dummy-Setup konfigurieren und Tests durchführen, um zu sehen, welche Option für Ihre bestimmte Anwendung am besten geeignet ist. Nachdem Sie begonnen haben, das RDBMS mit realen Daten zu füllen, ist der Wechsel zu einem anderen Datenbankmodul normalerweise eine teure, fehleranfällige und zeitaufwendige Aufgabe. Der intelligente Entwickler braucht zusätzliche Zeit, um am Anfang eine gute Wahl zu treffen, anstatt zu entdecken, dass eine bestimmte Wahl ein Fehler ist, nachdem die Anwendung in die Entwicklungsphase (oder, schlimmer noch, Produktionsphase) übergegangen ist.