Argumente für speziell entwickelte Datenbanken

Wie war dieser Inhalt?

Von Cullen Dejean, Senior Solutions Architect bei AWS, und Matthew de Anda, Startup Solutions Architect bei AWS.

Als in der Anfangsphase befindliches Startup müssen Sie viele technische Entscheidungen treffen, um Ihr Produkt marktgerecht zu machen. Einige dieser technischen Entscheidungen können rückgängig gemacht werden, während es sich bei anderen um kritische Zeitpunkte mit langfristigen Auswirkungen handelt. Die Auswahl einer Datenbank fällt in der Regel in die letztere Kategorie, weshalb ein einheitlicher Ansatz mit einer relationalen Datenbank nicht mehr funktioniert. Sie müssen einen Schritt zurücktreten und die genauen Anwendungsfälle überprüfen, bevor Sie mit der Auswahl einer Datenbank beginnen. Ändern Sie Ihre Erwartung, dass eine Datenbank alles kann, und wählen Sie stattdessen den Datenbank-Service, der für die jeweilige Aufgabe am besten geeignet ist. AWS bietet ein breites und umfassendes Portfolio an speziell entwickelten Datenbanken, die verschiedene Datenmodelle unterstützen und es Ihnen ermöglichen, datengesteuerte, hochgradig skalierbare, verteilte Anwendungen zu erstellen. In diesem Blog-Beitrag behandeln wir die Faktoren, die ein Startup in der Anfangsphase bei der Überprüfung von Datenbank-Optionen auf AWS berücksichtigen sollte.

Faktoren, die bei der Auswahl einer Datenbank zu berücksichtigen sind

Erfahrung

Startups in der Anfangsphase müssen sich darauf konzentrieren, ein Minimum Viable Product zu entwickeln und Zugkraft und Wachstum nachzuweisen. Daher sollten alle Entscheidungen mit Blick auf die Markteinführungszeit und die verfügbaren Fähigkeiten getroffen werden. Die Auswahl einer Technologie, mit der Ihr Team keine Erfahrung hat, verlängert oft die Zeitpläne und führt zu MVPs, an denen aufgrund von Benutzerfeedback schwieriger Änderungen vorgenommen werden können. Dies ist ein häufiger Grund, warum die Verwendung einer relationalen Datenbank zu Beginn weiterhin der richtige Ansatz sein kann. Wenn Ihr Team Erfahrung mit einem bestimmten Daten-Service hat (z. B. relational, Dokument usw.), kann es die richtige Wahl sein, dort zu beginnen.

Zukünftiger Maßstab

Die zukünftige Skalierung ist ein weiterer Faktor, auf den Startups in der Anfangsphase achten müssen. Die Wahl einer vertrauten Technologie für eine schnellere Bereitstellung muss durch eine erneute Analyse des Anwendungsfalls und die Bestimmung zukünftiger Skalierungsanforderungen abgewogen werden. Die Möglichkeit, Lösungen zu nutzen, die automatisch mit Ihnen skalieren und gleichzeitig weiterhin wie erwartet funktionieren, kann sich als Multiplikator erweisen. Es ist jederzeit möglich, zu einem späteren Zeitpunkt auf eine andere Technologie zu migrieren, aber denken Sie daran, dass Migrationen mit zunehmendem Datenvolumen komplexer werden. Einige Migrationen, wie die zwischen Amazon Relational Database Service (Amazon RDS) und Amazon Aurora, können rückgängig gemacht werden – was wir als „Entscheidungen in beide Richtungen“ bezeichnen. Gegenseitige Entscheidungen ermöglichen ein schnelleres Experimentieren und verfolgen einen Ansatz des „schnellen Scheiterns“. Im nächsten Abschnitt werden wir Datenbank-Services wie Amazon RDS und Aurora näher besprechen.

Speziell entwickelte Datenbanken und ihre Anwendungsfälle

Relationale Datenbanken wie MySQL und Postgres dominierten lange Zeit die Datenbank-Landschaft. Jetzt stehen viel mehr Datenbanktypen zur Auswahl. Um eine fundierte Entscheidung zu treffen, ist es hilfreich, Datenbanken nach ihren Zugriffseigenschaften und der Form der Daten zu bewerten.

Relationale Datenbanken

Eine relationale Datenbank beschreibt sich selbst, da sie es Entwicklern ermöglicht, das Datenbank-Schema sowie Beziehungen und Einschränkungen zwischen Zeilen und Tabellen in der Datenbank zu definieren. Entwickler verlassen sich auf die Funktionalität der relationalen Datenbank und nicht auf den Anwendungscode, um das Schema durchzusetzen und die referenzielle Integrität der Daten innerhalb der Datenbank zu wahren. Einige typische Anwendungsfälle für eine relationale Datenbank umfassen Web- und mobile Anwendungen. Startups verwenden Amazon RDS und Amazon Aurora für leistungsstarke und skalierbare Anwendungen auf AWS. Sowohl RDS als auch Aurora sind vollständig verwaltete und skalierbare Datenbanken.

NoSQL: Schlüssel-Wert- und Dokumentdatenbanken

Im Laufe des Wachstums Ihres Systems liegen große Datenmengen häufig in Form von Schlüsselwertdaten vor, wobei eine einzelne Zeile einem Primärschlüssel zugeordnet ist. Schlüssel-Werte-Datenbanken sind hochgradig partitionierbar und ermöglichen eine horizontale Skalierung auf Ebenen, die andere Datenbanktypen nicht erreichen können. Anwendungsfälle wie Gaming, Werbetechnologie und IoT eignen sich besonders gut für das Schlüssel-Wert-Datenmodell, bei dem die Zugriffsmuster Abrufe/Einalgerungen mit niedriger Latenz für bekannte Schlüsselwerte erfordern.

Amazon DynamoDB ist eine vollständig verwaltete, Serverless-NoSQL-Datenbank mit Schlüsselwerten, die in jeder Größenordnung eine Leistung im einstelligen Millisekundenbereich bietet. Für hochperformante Schlüssel-Wert-Anwendungsfälle bieten wir auch Amazon Keyspaces an, einen skalierbaren, hochverfügbaren und verwalteten Apache-Cassandra-kompatiblen Datenbank-Service.

Ein weiterer relevanter Datenbanktyp ist eine Dokumentdatenbank. Dokumentdatenbanken sind für Entwickler intuitiv zu verwenden, da die Daten auf der Anwendungsebene normalerweise als JSON-Dokument dargestellt werden. Dokumentdatenbanken sind beliebt für Anwendungsfälle wie das Speichern und Abfragen von Content-Management-Systemdaten sowie für die Verwaltung von Benutzerprofilen, Einstellungen und Anfragen, um Empfehlungen zu generieren und Transaktionen zu ermöglichen.

Für Dokumentdaten können Entwickler Daten mithilfe des gleichen Dokumentmodell-Formats, das sie in ihrem Anwendungscode verwenden, mithilfe des flexiblen Schemamodells von Amazon DocumentDB (mit MongoDB-Kompatibilität), einer vollständig verwalteten und zuverlässigen Datenbank, beibehalten, um die Effizienz der Entwickler zu erreichen und Millionen von Dokument-Lesevorgängen pro Sekunde zu unterstützen und gleichzeitig Rechenleistung und Speicher unabhängig voneinander zu skalieren.

Data Warehouses

Bei der Bestimmung des Bedarfs an Data Warehouses ist es wichtig, zwischen transaktionalen (OLTP) und analytischen (OLAP) Datenbanken zu unterscheiden. OLAP-Datenbanken sind größere Datenbanken für Warehousing und Datenarchivierung. Für viele Startups in der Anfangsphase kann es die richtige Wahl sein, Amazon Athena für OLAP-Anwendungsfälle in Betracht zu ziehen. Amazon Athena ist eine Serverless-SQL-Abfrageschnittstelle, mit der Sie in Amazon Simple Storage Service (Amazon S3) gespeicherte Daten mit Standard-SQL analysieren können.

Wenn Ihre Anwendungen zunehmend komplexere Abfragen und strengere SLAs erfordern, können Sie mithilfe von Data Warehouses Ihre Datenstrategie und Anforderungen skalieren. Amazon Redshift ist ein vollständig verwalteter Data-Warehouse-Service im Petabyte-Bereich in der Cloud.

In-Memory-Datenbanken

In-Memory-Datenbanken werden für Anwendungen verwendet, die Zugriff in Echtzeit auf Daten erfordern, die mit einer Latenz von Mikrosekunden geliefert werden. Finanzdienstleistungs-, E-Commerce-, Web-, Mobil- und Spieleanwendungen haben In-Memory-Datenbanken verwendet, um Ranglisten, Sitzungsspeicher, Caching und Echtzeit-Analysen zu erstellen. In-Memory-Datenbanken können Ihre relationalen Datenbanken entlasten, Ergebnisse mit geringerer Latenz liefern oder die relationale Datenbank ersetzen und als primärer Datenspeicher für In-Memory-Schlüssel-Werte fungieren.

Amazon ElastiCache erleichtert die Einrichtung, Verwaltung und Skalierung einer speicherinternen Datenspeicher- oder Cache-Umgebung. Amazon ElastiCache funktioniert sowohl bei der Redis- als auch bei der Memcached-Engine. Amazon MemoryDB für Redis ist ein Redis-kompatibler, langlebiger In-Memory-Datenbank-Service, der eine ultraschnelle Leistung bietet. Er wurde speziell für moderne Anwendungen mit Microservices-Architekturen entwickelt. Eine Möglichkeit, zwischen diesen Angeboten zu entscheiden, hängt davon ab, ob Ihr Anwendungsfall kurzlebig ist oder eine höhere Haltbarkeit erfordert. Amazon ElastiCache wird häufig als eigenständige Datenbank verwendet, jedoch nur für Anwendungen, die keine Beständigkeit erfordern. Im Gegensatz soll MemoryDB eine Primärdatenbank sein. Der andere Faktor wäre die Vertrautheit Ihres Teams mit Redis- oder Memcached-Engines.

Suche

Suchdatenbanken ermöglichen Analysen und Suchen nahezu in Echtzeit. Zu den gängigen Anwendungsfällen für Suchdatenbanken gehören Protokollanalytik, Anwendungsüberwachung in Echtzeit und Clickstream-Analytik.

Amazon OpenSearch Service erleichtert die Durchführung interaktiver Protokollanalytik Anwendungsüberwachung in Echtzeit, Webseiten-Suche und mehr. Amazon OpenSearch Service unterstützt OpenSearch und ältere Elasticsearch OSS.

Graphdatenbanken

Der Zweck einer Graphdatenbank besteht darin, das Erstellen und Ausführen von Anwendungen zu vereinfachen, die mit stark vernetzten Datensätzen arbeiten. Zu den typischen Anwendungsfällen für eine Graphdatenbank gehören soziale Netzwerke, Empfehlungsmodule, Betrugserkennung und Wissensgraphen. Die Entscheidung, ob eine Graphdatenbank die richtige Wahl ist, beginnt mit der Feststellung, ob die Daten am besten als Graphstruktur dargestellt werden können. Nehmen Breite und Tiefe der Beziehungen zu? Abfragen für relationale Datenbanken werden langsamer, je komplexer die Beziehungen werden. Ändern sich die Modelle selbst so stark, dass Schema-Änderungen zu einer Belastung für Ihr Team werden? Müssen Sie abschließend Fragen zu Beziehungen in Ihren Daten beantworten? Graphdatenbanken bieten diese Flexibilität und liefern gleichzeitig komplexe Abfragen dieser Beziehungen. Amazon Neptune ist ein schneller, zuverlässiger und vollständig verwalteter Graphdatenbank-Service.

Ledger-Datenbank

Ledger-Datenbanken können dabei helfen, die gesamte Herkunft von Daten zu verfolgen. Amazon Quantum Ledger Database (QLDB) ist eine vollständig verwaltete Ledger-Datenbank, die ein transparentes, unveränderliches und kryptografisch überprüfbares Transaktionsprotokoll bereitstellt, das einer zentralen vertrauenswürdigen Stelle gehört.

Neue Zeitreihendatenbank

Zeitreihendatenbanken bearbeiten Anwendungsfälle, in denen Anwendungen mit Zeitreihendaten arbeiten und diese Daten mithilfe integrierter Analysefunktionen schnell analysieren müssen. Amazon Timestream ist ein schneller, skalierbarer und Serverless-Zeitreihen-Datenbank-Service für IoT- und Betriebsanwendungen.

Datenbanktyp  Anwendungsfälle AWS-Service  
RelationalTraditionelle Anwendungen, E-Commerce, OLTP-TransaktionenAmazon AuroraAmazon RDS
SchlüsselwertHochfrequentierte Webanwendungen, E-Commerce-Systeme, Spieleanwendungen, FinanzhandelAmazon DynamoDB Amazon Keyspaces
DokumentContent-Management, Kataloge, BenutzerprofileAmazon DocumentDBAmazon AthenaAmazon Elasticache
In-MemoryCaching, Sitzungsmanagement, Gaming-Ranglisten, Geospatial-AnwendungenAmazon MemoryDB für Redis
SuchenKonsolidierte Protokollierung, personalisierte SucheAmazon OpenSearch
GraphBetrugserkennung, soziale Netzwerke, BenutzerprofileAmazon Neptune
LedgerSysteme für Datensätze, Lieferkette, Registrierungen und BanktransaktionenAmazon QLDB
ZeitreiheIoT, DevOps, industrielle TelemetrieAmazon Timestream

Fazit

Als in der Anfangsphase befindliches Startup ist eine der wichtigsten Entscheidungen, die Sie treffen werden, welche Art von Datenbanktechnologie Sie verwenden möchten. Wenn Sie die von AWS angebotenen, speziell entwickelten Datenbanken überprüfen, beginnen Sie mit dem Anwendungsfall und definieren Sie die erforderlichen Anforderungen, um herauszufinden, welche Datenbank-Service am besten geeignet sind. Dann sollten Sie die Geschwindigkeit der Markteinführung und die verfügbaren Fähigkeiten Ihres Teams berücksichtigen, aber stellen Sie sicher, dass Sie diese Faktoren gegen Ihre zukünftigen Bedürfnisse abwägen. Es ist wichtig, jetzt die Zeit damit zu verbringen, diese Faktoren zu berücksichtigen und den Datenbank-Service auszuwählen, der für die Aufgabe am besten geeignet ist.

AWS Editorial Team

AWS Editorial Team

Das Content Marketing Team von AWS Startups arbeitet mit Startups aller Größen und Branchen zusammen, um außergewöhnliche Inhalte bereitzustellen, die informieren, unterhalten und inspirieren.

Wie war dieser Inhalt?