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
AWS bietet Babelfish für Aurora Postgre
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
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 |
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
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:
-
Amazon DynamoDB ohne SQL Datenbanken verwenden (Dokumentation)AWS SDK for .NET
-
MongoDB C#-Treiber
(MongoDB-Dokumentation) -
. NET(Timestream-Dokumentation)
-
Mit einer Cassandra. NETCore-Client-Treiber für den programmgesteuerten Zugriff auf Amazon Keyspaces (Amazon Keyspaces-Dokumentation)
Wenn Sie zu speziell entwickelten Datenbanken migrieren, können Sie diese Tools von verwenden, um den Migrationsprozess AWS zu unterstützen:
-
AWS Schema Conversion Tool (AWS SCT)
kann Ihnen bei der Transformation von SQL Serverschemas in Amazon Aurora und Amazon DynamoDB helfen. -
AWS Database Migration Service (AWS DMS)
kann Ihnen helfen, Daten entweder einmalig oder fortlaufend von SQL Server zu Aurora oder DynamoDB zu migrieren. -
Babelfish Compass
kann Ihnen helfen, die Kompatibilität Ihrer SQL Server-Datenbank für die Verwendung mit Babelfish for Aurora Postgre zu überprüfen. SQL
Weitere Ressourcen
-
Anleitung für die Migration von SQL Servern zu Amazon Aurora Postgre SQL
(AWS Datenbank-Blog) -
. NETWorkshop zur Modernisierung
(AWS Werkstattstudio) -
Immersionstag APP zur Modernisierung von Babelfish (Workshop Studio
)AWS -
. NETImmersionstag
(AWS Workshop-Studio) -
Speziell entwickelte Datenbanken für moderne Anwendungen. NETAnwendungen am AWS(Präsentation
)AWS