Ziehen Sie speziell entwickelte Datenbanken in Betracht - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ziehen Sie speziell entwickelte Datenbanken in Betracht

Übersicht

Einer der kostspieligsten Aspekte bei der Ausführung von Microsoft-basierten Workloads ist die Lizenzierung kommerzieller Datenbanken wie Server. SQL Unternehmen setzen häufig SQL Server als Datenbankplattform ihrer Wahl als Standard ein, sodass dieser in der Entwicklungskultur des Unternehmens tief verwurzelt ist. Entwickler entscheiden sich im Allgemeinen unabhängig vom Anwendungsfall für ein relationales, SQL serverbasiertes Modell. Gründe sind u. a.:

  • Das Unternehmen verfügt bereits über SQL Serverinstanzen und/oder Lizenzen.

  • Die Teams haben sich durch die Verwendung gemeinsam genutzter Bibliotheken und Geschäftslogik an das SQL Programmiermodell gewöhnt. ORMs

  • Das Management ist sich der Alternativen nicht bewusst.

  • Entwickler sind sich der Alternativen nicht bewusst.

Speziell entwickelte Datenbanken können die Datenzugriffsmuster Ihres Anwendungsfalls berücksichtigen. Diese Datenbanken werden zunehmend von Unternehmen übernommen, da sie modernere Architekturen (wie Microservices) einsetzen und der Umfang der einzelnen Anwendungen immer enger wird.

Eine eigens entwickelte Datenbank schließt ein relationales Modell nicht aus und erfordert auch kein (nicht relationales) Modell. SQL Tatsächlich gilt eine relationale Datenbank als zweckgebunden, wenn sie als Antwort auf die spezifischen Anforderungen eines Workloads ausgewählt wird. Die Verwendung von speziell entwickelten Datenbanken kann Teams dabei helfen, die damit verbundenen Datenbankkosten zu senken. NETAnwendungen und profitieren gleichzeitig von den Standardvorteilen der Cloud, wie Skalierbarkeit, Belastbarkeit und der Reduzierung undifferenzierter Schwerstarbeit.

Die folgende Tabelle zeigt die speziell entwickelten Datenbanken, die von angeboten werden. AWS

Datenbank Typ Merkmale
Amazon Aurora Postgree SQL oder Amazon Aurora My SQL Relational

Anwendungsfälle, in denen Daten eine feste Struktur haben

Relationale Datenbanken sorgen auf natürliche Weise für Datenkonsistenz bei Transaktionen ACID

Amazon-DynamoDB Schlüssel-Wert-Paar

Keine SQL Datenbank, die Daten unter Verwendung einer Hash-Tabellen-Datenstruktur speichert

Leistungsstarkes Speichern und Abrufen unstrukturierter Daten

Zu den Anwendungsfällen gehören Benutzerprofile, Sitzungsstatus und Warenkorbdaten

Amazon ElastiCache In-Memory

Hohe Leistung Keine SQL Datenbank, die unstrukturierte Daten mit einer Zugriffszeit von unter einer Millisekunde im Speicher speichert

Wird für häufig aufgerufene, kurzlebige Daten wie Benutzersitzungen und als Caching-Ebene vor anderen, langsameren Datenspeichern verwendet

Beinhaltet Unterstützung sowohl für ElastiCache (RedisOSS) als auch für (Memcached) ElastiCache

Amazon Memory DB Dauerhafter In-Memory-Speicher Redis-kompatible, speziell entwickelte Datenbank mit robustem Speicher
Amazon Timestream Zeitreihen

Datenbank, die für die Datenaufnahme mit hohem Durchsatz in zeitlicher Reihenfolge konzipiert ist

Zu den Anwendungsfällen gehören Anwendungen für das Internet der Dinge (IoT) und das Speichern von Metriken oder Telemetriedaten

Amazon DocumentDB Dokument

Keine SQL Datenbank, die Daten ohne eine vorgeschriebene Struktur oder erzwungene Beziehungen zu anderen Daten speichert

Wird häufig für leseintensive Workloads wie Produktkataloge verwendet

Amazon Neptune Diagramm

Keine SQL Datenbank, die sowohl Daten als auch eine Darstellung der Verbindungen zwischen Datenelementen enthält

Zu den Anwendungsfällen gehören Betrugserkennung, Empfehlungsmaschinen und soziale Anwendungen

Amazon Keyspaces Breite Spalte

Leistungsstarke verteilte Datenbank auf Basis von Apache Cassandra

Zu den Anwendungsfällen gehören IoT-Anwendungen, Eventverarbeitung und Spieleanwendungen

Ein wesentlicher Faktor für die Einführung speziell entwickelter Datenbanken ist auf den Wegfall kommerzieller Lizenzen zurückzuführen. Die auto-scaling Skalierungsfähigkeit von Datenbanken wie DynamoDB (einschließlich On-Demand-Modus), Aurora, Amazon Neptune und Amazon Keyspaces ermöglicht es Ihnen jedoch, Kapazität für den durchschnittlichen Fall und nicht für Spitzennutzung bereitzustellen. Speziell entwickelte Datenbanken wie Timestream sind serverlos und werden automatisch und bedarfsgerecht skaliert, ohne dass eine vorherige Bereitstellung erforderlich ist.

AWS bietet Babelfish für Aurora Postgre an, SQL wenn Sie eine speziell entwickelte, Open-Source-kompatible relationale Datenbank verwenden möchten, aber keine wesentlichen Codeänderungen an Ihrer Anwendung vornehmen können oder wollen. In einigen Fällen können Sie mit Babelfish einen vorhandenen Serverzugriffscode verwenden, und das fast ohne Änderungen. SQL

Bei der Auswahl einer speziell entwickelten relationalen Datenbank für Anwendungen ist es wichtig, dieselben (oder funktionell gleichwertige) Funktionen beizubehalten, die Sie für Ihre Anwendungen benötigen. Diese Empfehlung bezieht sich auf speziell entwickelte Datenbanken als primären Datenspeicher für Anwendungen. Spezifische Anwendungen (wie Caching) werden in anderen Empfehlungen behandelt.

Auswirkungen auf die Kosten

Einführung speziell entwickelter Datenbanken für. NETWorkloads wirken sich zwar nicht direkt auf den Rechenverbrauch/die Kosten aus, können sich aber direkt auf die Kosten der Datenbankdienste auswirken, die von den in Anspruch genommen werden. NETAnwendungen. Tatsächlich können Kosteneinsparungen ein untergeordnetes Ziel sein, wenn man sie mit den zusätzlichen Vorteilen von Agilität, Skalierbarkeit, Belastbarkeit und Datenbeständigkeit vergleicht.

Es würde den Rahmen dieses Leitfadens sprengen, den vollständigen Prozess der Auswahl einer speziell für Anwendungen entwickelten Datenbank und der Neugestaltung einer Datenstrategie zur effektiven Nutzung dieser Datenbank zu erläutern. Weitere Informationen finden Sie unter Zu diesem Zweck erstellte Datenbanken im Verzeichnis der Tutorials. AWS

Die folgenden Tabellen zeigen mehrere Beispiele dafür, wie der Ersatz von SQL Server durch eine speziell entwickelte Datenbank die Anwendungskosten beeinflussen kann. Beachten Sie, dass es sich dabei lediglich um grobe Schätzungen handelt. Um die genauen Produktionskosten zu berechnen, sind Benchmarks und eine Optimierung der tatsächlichen Arbeitslast erforderlich.

Dies sind einige häufig verwendete, speziell entwickelte Datenbankschätzungen, die On-Demand-Rechenleistung und SSD 100-GB-Single-Instance-Datenbanken beinhalten. us-east-1 Die Lizenzkosten beinhalten die SQL Serverlizenz plus Softwareschutz.

Die folgende Tabelle zeigt die geschätzten Kosten für Beispiele kommerzieller Datenbanken.

Datenbank-Engine Lizenzmodell Instanztyp/Spezifikationen AWS Kosten für Rechenleistung und Speicherplatz Kosten für die Lizenz Monatliche Gesamtkosten
SQLServer Standard Edition bei Amazon EC2 Lizenz enthalten r6i.2xlarge (8 /64 GB) CPU RAM 1.345,36$ 0,00$ 1.345,36$
SQLServer Enterprise Edition bei Amazon EC2 Lizenz enthalten r6i.2xlarge (8 /64 GB) CPU RAM 2.834,56$ 0,00$ 2.834,56$
SQLServer Standard Edition bei Amazon EC2 BYOL r6i.2xlarge (8/64 GB) CPU RAM 644,56$ 456,00$ 1.100,56$
SQLServer Enterprise Edition bei Amazon EC2 BYOL r6i.2xlarge (8/64 GB) CPU RAM 644,56$ 1.750,00$ 2.394,56$
SQLServer Standard Edition bei Amazon RDS   db.r6i.2xlarge (8/64 GB) CPU RAM 2.318,30$ 0,00$ 2.318,30$
SQLServer Enterprise Edition bei Amazon RDS   db.r6i.2xlarge (8/64 GB) CPU RAM 3.750,56$ 0,00$ 3.750,56$

Die folgende Tabelle zeigt die geschätzten Kosten für speziell angefertigte Beispiele.

Datenbank-Engine Instanztyp/Spezifikationen AWS Kosten für Rechenleistung und Speicherplatz Kosten für die Lizenz Monatliche Gesamtkosten
Amazon Aurora Aurora-Postfach SQL r6g.2xgroß (8 /64 GB) CPU RAM 855,87$ 0,00$ 855,87$
DynamoDB Bereitgestellte Basis 100 /400 WCU RCU 72,00$   72,00$
Amazon DocumentDB db.r6i.2xlarge (8/64 GB) CPU RAM 778,60$   778,60$
Wichtig

Die Tabelle basiert auf den geschätzten Lizenzkosten für SQL Server with Software Assurance in den ersten drei Jahren nach dem Kauf. Für die SQL Server Standard Edition: 4.100$, 2-Core-Paket, 3 Jahre. Für die SQL Server Enterprise Edition: 15.700$, 2-Core-Paket, 3 Jahre.

Wir empfehlen Ihnen, die Auswirkungen auf die Kosten zu berücksichtigen, bevor Sie speziell entwickelte Datenbanken einsetzen. Beispielsweise hängen die Kosten für die Aktualisierung von Anwendungen zur Verwendung einer speziell entwickelten Datenbank von der Komplexität der Anwendung und der Quelldatenbank ab. Berücksichtigen Sie bei der Planung dieses Architekturwechsels unbedingt die Gesamtbetriebskosten. Dazu gehören das Refactoring Ihrer Anwendungen, die Schulung der Mitarbeiter im Umgang mit neuen Technologien und die sorgfältige Planung der für jeden Workload zu erwartenden Leistung und Auslastung. Auf dieser Grundlage können Sie entscheiden, ob die Investition die Kosteneinsparungen wert ist. In den meisten Fällen stellt die Wartung eines end-of-support Produkts ein Sicherheits- und Compliance-Risiko dar, und die Kosten für die Wiederherstellung des Produkts sind den Aufwand und die Anfangsinvestition wert.

Empfehlungen zur Kostenoptimierung

Für. NETFür Anwendungen, die auf SQL Server zugreifen, gibt es Ersatzbibliotheken für speziell entwickelte relationale Datenbanken. Sie können diese Bibliotheken in Ihrer Anwendung implementieren, um ähnliche Funktionen von SQL Serveranwendungen zu ersetzen.

In der folgenden Tabelle sind einige Bibliotheken aufgeführt, die in vielen gängigen Szenarien verwendet werden können.

Bibliothek Datenbank Ersatz für Framework-Kompatibilität
Kernanbieter von Npgsql Entity Framework Amazon Aurora Aurora-Postfach SQL Anbieter von Entity SQL Framework-Kernservern Modern. NET
Npgsql Entity Framework 6-Anbieter Amazon Aurora Aurora-Postfach SQL Entity Framework 6.0 SQL Serveranbieter . NETRahmen
Npgsql (. ADO NETkompatible Postgre-BibliothekSQL) Amazon Aurora Aurora-Postfach SQL ADO.NET . NETRahmen/Modern. NET
Mein SQL Entity Framework Core Provider Amazon Aurora Mein SQL Anbieter von Entity SQL Framework-Kernservern Modern. NET
Pampelmuse. EntityFrameworkCore. MySql Amazon Aurora Mein SQL Anbieter von Entity SQL Framework-Kernservern Modern. NET

Für die Verbindung mit Amazon Aurora Postgre mithilfe SQL von Babelfish ist keine spezielle Codierung erforderlich. Der gesamte Code sollte jedoch vor der Verwendung gründlich getestet werden.

Andere speziell entwickelte Datenbanken verfügen über Bibliotheken, auf die zugegriffen werden kann. NETkompatible Bibliotheken, mit denen Sie auf speziell erstellte Datenbanken zugreifen können. Beispiele sind unter anderem:

Wenn Sie zu speziell entwickelten Datenbanken migrieren, können Sie diese Tools von verwenden, um den Migrationsprozess AWS zu unterstützen:

Weitere Ressourcen