Als NoSQL werden hochleistungsfähige nicht relationale Datenbanken bezeichnet. Bei NoSQL-Datenbanken werden verschiedene Datenmodelle wie Diagramme, Schlüssel-Wert-Paare und JSON-Dokumente verwendet. NoSQL-Datenbanken zeichnen sich durch einfache Bereitstellung, skalierbare Leistung, Hochverfügbarkeit und Ausfallsicherheit aus. Im Folgenden finden Sie einige Ressourcen, die Ihnen den Einstieg in die Verwendung von NoSQL-Datenbanken erleichtern.

Laden Sie das Whitepaper Bewährte Methoden bei der Migration – von RDBMS zu Amazon DynamoDB herunter.



  Relationale Datenbank NoSQL-Datenbank
Datenmodell Beim relationalen Modell werden Daten in tabellarischen Strukturen normalisiert, die als Tabellen bezeichnet werden und aus Zeilen und Spalten bestehen. Tabellen, Spalten, Indizes, Beziehungen zwischen Tabellen und sonstige Datenbankelemente werden in einem Schema streng definiert. Bei nicht relationalen Datenbanken (NoSQL) wird in der Regel kein Schema erzwungen. Im Allgemeinen wird zum Abrufen von Werten, Spaltensätzen und semistrukturierten JSON-, XML- und sonstigen Dokumenten mit verwandten Elementattributen ein Hash-Schlüssel verwendet.
ACID-Eigenschaften Herkömmliche relationale Datenbankmanagementsysteme (RDBMS) unterstützen eine Reihe von Eigenschaften, die unter dem Akronym ACID zusammengefasst werden: Atomizität, Konsistenz, Isolation und Dauerhaftigkeit. Atomizität steht für das Prinzip "alles oder nichts": Eine Transaktion wird entweder vollständig ausgeführt oder gar nicht. Konsistenz bedeutet, dass die Daten nach dem Commit einer Transaktion mit dem Datenbankschema konform sein müssen. Isolation verlangt, dass parallel erfolgende Transaktionen getrennt voneinander ausgeführt werden müssen.  Dauerhaftigkeit bezeichnet die Fähigkeit, bei einem unerwarteten System- oder Stromausfall den letzten bekannten Zustand wiederherstellen zu können. NoSQL-Datenbanken stellen häufig einen Kompromiss aus einem Teil der ACID-Eigenschaften herkömmlicher relationaler Datenbankmanagementsysteme (RDBMS) und einer höheren Flexibilität des Datenmodells dar, das eine horizontale Skalierung ermöglicht. Aufgrund dieser Merkmale sind NoSQL-Datenbanken in solchen Situationen besonders geeignet, in denen sich bei herkömmlichen RDBMS die Beschränkungen der Architektur zeigen und Probleme mit Leistungsengpässen, Skalierbarkeit, Komplexität im Betrieb und einer Zunahme des Verwaltungs- und Support-Aufwands überwunden werden müssen.
Leistung Die Leistung ist in der Regel vom Datenträger-Subsystem abhängig. Um die Spitzenleistung zu erzielen, ist eine Optimierung von Abfragen, Indizes und der Tabellenstruktur erforderlich. Die Leistung wird grundsätzlich durch die Größe des zugrunde liegenden Hardware-Clusters, die Netzwerklatenz und die aufrufende Anwendung bestimmt.
Skalierbarkeit Einfache vertikale Skalierung durch Einsatz schnellerer Hardware. Damit sich relationale Tabellen über ein verteiltes System erstrecken können, sind zusätzliche Investitionen erforderlich. Für eine horizontale Skalierung mit verteilten Clustern aus kostengünstiger Hardware entwickelt, um den Durchsatz ohne Erhöhung der Latenz zu steigern.
APIs Anforderungen zum Speichern und Abrufen von Daten werden mithilfe von Abfragen übermittelt, die in einer strukturierten Abfragesprache (Structured Query Language, SQL) verfasst sind. Diese Abfragen werden von relationalen Datenbankmanagementsystemen (RDBMS) analysiert und ausgeführt. Mit objektbasierten APIs können Anwendungsentwickler In-Memory-Datenstrukturen ganz einfach speichern und abrufen. Anwendungen können Schlüssel-Wert-Paare, Spaltensätze und semistrukturierte Dokumente mit serialisierten Anwendungsobjekten und -attributen mithilfe von Hash-Schlüsseln abfragen.
Tools SQL-Datenbanken verfügen in der Regel über eine umfassende Auswahl an Tools, die eine Entwicklung datenbankgestützter Anwendungen erleichtern. NoSQL-Datenbanken bieten im Allgemeinen Tools für die Verwaltung von Clustern und Skalierung. Anwendungen bilden die primäre Schnittstelle für die zugrunde liegenden Daten.

Amazon Web Services (AWS) stellt Entwicklern eine Reihe von Software-Optionen für NoSQL-Datenbanken zur Verfügung. Sie können Ihren eigenen nicht relationalen Datenspeicher in der Cloud in Amazon EC2 und Amazon EBS betreiben, mit Amazon-Lösungsanbietern kooperieren oder vollständig verwaltete nicht relationale Services nutzen.

Amazon DynamoDB ist ein vollständig verwalteter NoSQL-Datenbank-Service, der extrem schnelle und berechenbare Leistung mit nahtloser Skalierbarkeit bietet. Wenn Sie eigene NoSQL-Cloud-Datenbanken in Amazon EC2 und Amazon EBS ausführen, erhalten Sie vollständige Kontrolle über Ihre Datenbank, ohne Hardware beschaffen und installieren zu müssen.

Darüber hinaus kooperiert AWS mit MongoDB und Couchbase, die Support und Schulungen für Kunden anbieten, die diese Produkte in Amazon EC2 und Amazon EBS ausführen.

Auf der Seite Ausführen von Datenbanken auf AWS finden Sie Informationen über weitere Datenbankoptionen, die in AWS angeboten werden.

Amazon DynamoDB ist ein vollständig verwalteter NoSQL-Datenbank-Service, der in der AWS-Cloud ausgeführt wird und extrem schnelle und berechenbare Leistung mit nahtloser Skalierbarkeit bietet. DynamoDB ist ein schneller, flexibler NoSQL-Datenbank-Service für Anwendungen, bei denen eine konsistente Latenz im einstelligen Millisekundenbereich für alle Größenordnungen erforderlich ist. Es handelt sich um eine vollständig verwaltete Datenbank, die sowohl Dokument- als auch Schlüssel-Wert-Datenmodelle unterstützt. Aufgrund der Flexibilität des Datenmodells und der zuverlässigen Leistung eignet sich der Service hervorragend für mobile, Web-, Spiele-, Werbe-, IoT- (Internet der Dinge) und zahlreiche weitere Anwendungen. Weitere Informationen zu Amazon DynamoDB »


Entwickler können die NoSQL-Datenbanken ihrer Wahl in Amazon EC2 und Amazon EBS installieren. Eine NoSQL-Datenbank kann mithilfe einer Amazon EC2 Instance ausgeführt werden. So vermeiden Entwickler den mit der Infrastrukturbereitstellung verbundenen Aufwand und erhalten Zugriff auf verschiedene Standard-NoSQL-Datenbank-Engines.

Cassandra ist ein Open Source-Managementsystem für verteilte Datenbanken, das für die Verarbeitung großer Datenmengen auf mehreren Standardservern entwickelt wurde und Hochverfügbarkeit ohne einzelne Fehlerstelle bietet. Ziehen Sie EBS in Betracht, wenn Sie Cassandra-Arbeitslasten ausführen (erfahren Sie, wie CrowdStrike dichte, preiswertere Cassandra-Cluster mit EBS betrieben hat). Weitere Informationen über die Arbeit mit Cassandra und die Ausführung von in AWS, finden Sie auf dem AWS Marketplace » 

Couchbase Server, ein hochleistungsfähiger verteilter Schlüssel-Wert-Speicher, wird von Couchbase entwickelt und unterstützt. Couchbase bietet Support, Services und Schulungen für Couchbase Server-Bereitstellungen in AWS an, wie sie für Unternehmen geeignet sind. Weitere Informationen zum Verwenden von Couchbase und Ausführen von Couchbase Server in AWS »

MarkLogic Corporation ist Entwickler von MarkLogic Server (MarkLogic), einer vollständig skalierbaren NoSQL-Datenbankplattform für Unternehmen, die ACID-Transaktionen (Atomizität, Konsistenz, Isolation und Dauerhaftigkeit) für große Datensätze unterstützt. Eine Übersicht über bewährte Methoden und Skalierung finden Sie im Whitepaper MarkLogic on AWS »

MongoDB, eine hochleistungsfähige dokumentorientierte Open Source-Datenbank, wird von MongoDB, Inc. entwickelt und unterstützt. MongoDB Inc. bietet technischen Support, professionelle Services und Schulungen für MongoDB-Bereitstellungen auf Unternehmensniveau an.

Folgen Sie dem AWS MongoDB Quick Start, um in etwa 15 Minuten einen MongoDB-Cluster mit mehreren Knoten unter Berücksichtigung der bewährten Methoden für AWS in der AWS-Cloud bereitzustellen.

Eine Übersicht über MongoDB und die Implementierung in AWS finden Sie im Whitepaper MongoDB on AWS: Guidelines and Best Practices.

Informationen zur Kooperation mit MongoDB, Inc. und zum Ausführen von MongoDB in AWS finden Sie im AWS-Partnerverzeichnis »

In Diagrammdatenbanken werden Eckpunkte und gerichtete Links, sogenannte Kanten, gespeichert. Diagramme können auf relationalen (SQL) und nicht relationalen (NoSQL) Datenbanken beruhen. Eckpunkte und Kanten können jeweils Eigenschaften zugeordnet werden. In der folgenden Abbildung wird ein einfaches Diagramm der Beziehungen zwischen Freunden und ihren Interessen veranschaulicht. Weitere Informationen zu Diagrammdatenbanken finden Sie im AWS Activate-Blog-Beitrag »

Was ist eine Diagrammdatenbank?
Graph Databases on AWS
AWS re:Invent 2015 | (DAT203) Building Graph Databases on AWS

Titan ist eine verbreitete Diagrammdatenbank, die für die effiziente Speicherung und Übertragung von kleinen und großen Diagrammen mit Milliarden Eckpunkten und Kanten entwickelt wurde. Titan unterstützt Skalierbarkeit über eine Plug-in-Architektur der Speicher-Engine.

Mit dem Amazon DynamoDB-Speicher-Backend für Titan können Sie beliebig große Titan-Diagramme in vollständig verwalteten DynamoDB-Tabellen speichern. Das DynamoDB-Speicher-Backend-Plug-in für Titan ermöglicht eine Auslagerung der Titan-Speicherverwaltung in AWS. Die Plug-in-Architektur von Titan erleichtert den Einstieg in die Verwendung von DynamoDB, ohne Änderungen an der Anwendung vornehmen zu müssen.

Titan unterstützt Tinkerpop, eine Sammlung von Tools zur Diagrammverarbeitung und -analyse, einschließlich Gremlin und Blueprints. Weitere Informationen finden Sie im Abschnitt Working with Graph Databases der Dokumentation »

Neo4j verfügt über eine Shared-Nothing-Architektur mit einem Write Master und mehreren Read Replicas. Neo4j unterstützt neben Gremlin die eigene Cypher-Abfragesprache. Testen Sie Neo4j auf unserer Big Data-Seite »

OrientDB unterstützt schemafreie, schemagestützte und gemischte Modi. Enthalten sind SQL-Unterstützung und Erweiterungen der Sprache zur Unterstützung von Konzepten wie Strukturen und Diagrammen. Informationen zum Einstieg in die Verwendung von OrientDB finden Sie im AWS Marketplace »

GraphDB ist eine RDF-Diagrammdatenbank (Resource Description Framework), die Text-Mining, SPARQL-Abfragen, semantische Anmerkungen und Suchabfragen unterstützt. Informationen zum Einstieg in die Verwendung von GraphDB finden Sie im AWS Marketplace »

Amazon ElastiCache ist ein Web-Service, mit dem ein In-Memory-Cache auf einfache Weise in der Cloud bereitgestellt, betrieben und skaliert werden kann. Der Service verbessert die Leistung von Web-Anwendungen, da Sie die Möglichkeit haben, Informationen aus einem schnellen, verwalteten In-Memory-Cache-System abzurufen, anstatt sich vollständig auf langsamere datenträgerbasierte Datenbanken verlassen zu müssen.

Darüber hinaus erkennt und ersetzt Amazon ElastiCache automatisch ausgefallene Knoten. Dadurch wird der Verwaltungsaufwand im Zusammenhang mit selbstverwalteten Infrastrukturen verringert. Außerdem ergibt sich ein ausfallsicheres System, in dem das Risiko überlasteter Cloud-Datenbanken reduziert wird, die die Ladezeiten für Websites und Anwendungen verlängern. Durch die Integration in Amazon CloudWatch bietet Amazon ElastiCache einen verbesserten Überblick über wichtige Leistungsmetriken Ihrer Memcached- oder Redis-Knoten.

ElastiCache unterstützt zwei Open Source-In-Memory-Cache-Engines. Weitere Informationen erhalten Sie auf der Detailseite von Amazon ElastiCache »

Memcached ist ein weitverbreitetes System für das Zwischenspeichern von Objekten im Arbeitsspeicher. ElastiCache ist auf Protokollebene mit Memcached kompatibel, sodass die gängigen Tools, die Sie heute mit Ihren bestehenden Memcached-Umgebungen nutzen, mit dem Service weiterhin reibungslos funktionieren.

Redis ist eine beliebte Open Source In-Memory-Datenbank mit einem Schlüssel-Wert-Speicher, der Datenstrukturen wie sortierte Datensätze und Listen unterstützt. ElastiCache unterstützt die Master/Slave-Replikation und Multi-Availability Zone, um eine AZ-übergreifende Redundanz mit automatischem Failover auf ein Read Replica zu erzielen. Außerdem verfügt es über eine optimierte Version der Redis-Engine mit verbesserter Zuverlässigkeit und Stabilität.