

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.

# Wählen Sie einen Datenbankdienst für Ihre Lambda-based Anwendungen
<a name="ddb-rds-database-decision"></a>

Viele serverlose Anwendungen müssen Daten speichern und abrufen. AWS bietet mehrere Datenbankoptionen, die mit Lambda-Funktionen funktionieren. Zwei der beliebtesten Optionen sind Amazon DynamoDB, ein NoSQL-Datenbankservice, und Amazon RDS, eine traditionelle relationale Datenbanklösung. In den folgenden Abschnitten werden die wichtigsten Unterschiede zwischen diesen Services bei der Verwendung mit Lambda erläutert und Sie bei der Auswahl des passenden Datenbankservices für Ihre Serverless-Anwendung unterstützt.

Weitere Informationen zu den anderen Datenbankdiensten, die von angeboten werden AWS, und um deren Anwendungsfälle und Kompromisse im Allgemeinen zu verstehen, finden Sie unter [ Einen AWS Datenbankdienst auswählen. ](https://docs.aws.amazon.com/decision-guides/latest/databases-on-aws-how-to-choose/databases-on-aws-how-to-choose.html) Alle AWS Datenbankdienste sind mit Lambda kompatibel, aber möglicherweise sind nicht alle für Ihren speziellen Anwendungsfall geeignet.

## Welche Möglichkeiten haben Sie bei der Auswahl eines Datenbankservices für Lambda?
<a name="w2aac15c59d103c21b9"></a>

AWS bietet mehrere Datenbankdienste. Für Serverless-Anwendungen sind DynamoDB und Amazon RDS zwei der beliebtesten Optionen.
+ **DynamoDB** ist ein vollständig verwalteter NoSQL-Datenbankservice, der für Serverless-Anwendungen optimiert ist. Er bietet nahtlose Skalierung und eine konsistente Leistung im einstelligen Millisekundenbereich in jeder Größenordnung.
+ **Amazon RDS** ist ein verwalteter relationaler Datenbankservice, der mehrere Datenbank-Engines unterstützt, darunter MySQL und PostgreSQL. Er bietet vertraute SQL-Funktionen mit verwalteter Infrastruktur.

## Empfehlungen, falls Sie Ihre Anforderungen bereits kennen
<a name="w2aac15c59d103c21c11"></a>

Wenn Sie sich über Ihre Anforderungen bereits im Klaren sind, finden Sie hier unsere grundlegenden Empfehlungen:

Wir empfehlen [DynamoDB](with-ddb.md) für Serverless-Anwendungen, die eine konsistente Leistung mit niedriger Latenz und automatische Skalierung benötigen und keine komplexen Verknüpfungen oder Transaktionen erfordern. Aufgrund seiner serverlosen Natur eignet es sich besonders gut für Lambda-based Anwendungen.

[Amazon RDS](services-rds.md) ist die bessere Wahl, wenn Sie komplexe SQL-Abfragen oder Verknüpfungen benötigen oder bereits Anwendungen mit relationalen Datenbanken verwenden. Beachten Sie jedoch, dass die Verbindung von Lambda-Funktionen mit Amazon RDS zusätzliche Konfigurationen erfordert und die Kaltstartzeiten beeinflussen kann.

## Was Sie bei der Auswahl eines Datenbankservices beachten sollten
<a name="w2aac15c59d103c21c13"></a>

Bei der Auswahl zwischen DynamoDB und Amazon RDS für Ihre Lambda-Anwendungen sollten Sie die folgenden Faktoren berücksichtigen:
+ Verbindungsmanagement und Kaltstarts
+ Datenzugriffsmuster
+ Abfragekomplexität
+ Anforderungen für Datenkonsistenz.
+ Skalierungsmerkmale
+ Kostenmodell

Wenn Sie diese Faktoren verstehen, können Sie die Option auswählen, die Ihren spezifischen Anwendungsfällen am besten entspricht.

### Verbindungsmanagement und Kaltstarts
<a name="w2aac15c59d103c21c13b9b1"></a>
+ DynamoDB verwendet eine HTTP-API für alle Operationen. Lambda-Funktionen können Anfragen sofort stellen, ohne Verbindungen aufrechtzuerhalten, was zu einer besseren Kaltstartleistung führt. Jede Anfrage wird mit AWS Anmeldeinformationen ohne Verbindungsaufwand authentifiziert.
+ Amazon RDS erfordert die Verwaltung von Verbindungspools, da es herkömmliche Datenbankverbindungen verwendet. Dies kann sich auf Kaltstarts auswirken, da neue Lambda-Instances Verbindungen herstellen müssen. Sie müssen Strategien für das Verbindungspooling implementieren und möglicherweise den [Amazon-RDS-Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html) verwenden, um Verbindungen effektiv zu verwalten. Beachten Sie, dass für die Verwendung des Amazon-RDS-Proxy zusätzliche Kosten anfallen.

### Datenzugriffsmuster
<a name="w2aac15c59d103c21c13b9b3"></a>
+ DynamoDB eignet sich am besten für bekannte Zugriffsmuster und Einzeltabellendesigns. Es ist ideal für Lambda-Anwendungen, die einen konsistenten Zugriff mit geringer Latenz auf Daten basierend auf Primärschlüsseln oder Sekundärindizes benötigen.
+ Amazon RDS bietet Flexibilität für komplexe Abfragen und sich ändernde Zugriffsmuster. Es ist besser geeignet, wenn Ihre Lambda-Funktionen einzigartige, maßgeschneiderte Abfragen oder komplexe Verknüpfungen über mehrere Tabellen hinweg durchführen müssen.

### Abfragekomplexität
<a name="w2aac15c59d103c21c13b9b5"></a>
+ DynamoDB zeichnet sich durch einfache, schlüsselbasierte Operationen und vordefinierte Zugriffsmuster aus. Komplexe Abfragen müssen um Indexstrukturen herum entworfen werden, und Verknüpfungen müssen im Anwendungscode behandelt werden.
+ Amazon RDS unterstützt komplexe SQL-Abfragen mit Verknüpfungen, Unterabfragen und Aggregationen. Dies kann Ihren Lambda-Funktionscode vereinfachen, wenn komplexe Datenoperationen erforderlich sind.

### Anforderungen für Datenkonsistenz.
<a name="w2aac15c59d103c21c13b9b7"></a>
+ DynamoDB bietet sowohl Optionen für letztendliche als auch für starke Konsistenz, wobei starke Konsistenz für Lesevorgänge einzelner Elemente verfügbar ist. Transaktionen werden unterstützt, jedoch mit einigen Einschränkungen.
+ Amazon RDS bietet vollständige ACID-Konformität (Atomizität, Konsistenz, Isolierung und Zuverlässigkeit) sowie Unterstützung für komplexe Transaktionen. Wenn Ihre Lambda-Funktionen komplexe Transaktionen oder starke Konsistenz über mehrere Datensätze hinweg benötigen, ist Amazon RDS möglicherweise besser geeignet.

### Skalierungsmerkmale
<a name="w2aac15c59d103c21c13b9b9"></a>
+ DynamoDB skaliert automatisch mit Ihrer Workload. Es kann plötzliche Spitzen im Datenverkehr durch Lambda-Funktionen ohne vorherige Bereitstellung bewältigen. Sie können den On-Demand-Kapazitätsmodus verwenden, um nur für das zu bezahlen, was Sie tatsächlich nutzen. Dies entspricht perfekt dem Skalierungsmodell von Lambda.
+ Amazon RDS verfügt über eine feste Kapazität, die auf der von Ihnen ausgewählten Instance-Größe basiert. Wenn mehrere Lambda-Funktionen gleichzeitig versuchen, eine Verbindung herzustellen, überschreiten Sie möglicherweise Ihr Verbindungskontingent. Sie müssen die Verbindungspools sorgfältig verwalten und möglicherweise eine Wiederholungslogik implementieren.

### Kostenmodell
<a name="w2aac15c59d103c21c13b9c11"></a>
+ Die Preisgestaltung von DynamoDB ist gut auf Serverless-Anwendungen abgestimmt. Mit On-Demand-Kapazität zahlen Sie nur für die tatsächlichen Lese- und Schreibvorgänge Ihrer Lambda-Funktionen. Für Leerlaufzeiten fallen keine Gebühren an.
+ Amazon RDS berechnet Gebühren für die laufende Instance unabhängig von der Nutzung. Dies kann bei sporadischen Workloads, wie sie in Serverless-Anwendungen typisch sind, weniger kosteneffizient sein. Für Workloads mit hohem Durchsatz und konstanter Nutzung kann es jedoch wirtschaftlicher sein.

## Erste Schritte mit dem von Ihnen ausgewählten Datenbankservice
<a name="w2aac15c59d103c21c15"></a>

Nachdem Sie die Auswahlkriterien für DynamoDB und Amazon RDS sowie die wichtigsten Unterschiede kennengelernt haben, können Sie die Option wählen, die Ihren Bedürfnissen am besten entspricht, und mithilfe der folgenden Ressourcen loslegen.

------
#### [ DynamoDB ]

**Nutzen Sie die folgenden Ressourcen, um mit DynamoDB zu beginnen**
+ Eine Einführung in den DynamoDB-Service finden Sie im *Entwicklerhandbuch für Amazon DynamoDB* unter [Was ist DynamoDB?](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html).
+ Im Tutorial [Verwenden von Lambda mit API Gateway](services-apigateway-tutorial.md) sehen Sie ein Beispiel für die Verwendung einer Lambda-Funktion zum Ausführen von CRUD-Vorgängen in einer DynamoDB-Tabelle als Antwort auf eine API-Anfrage.
+ Lesen Sie [ Programmieren mit DynamoDB und den AWS SDKs ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.html) im * Amazon DynamoDB-Entwicklerhandbuch, um mehr darüber * zu erfahren, wie Sie von Ihrer Lambda-Funktion aus mithilfe eines der SDKs auf DynamoDB zugreifen können. AWS 

------
#### [ Amazon RDS ]

**Nutzen Sie die folgenden Ressourcen, um mit Amazon RDS zu beginnen**
+ Eine Einführung in den Amazon-RDS-Service finden Sie im Abschnitt [Was ist Amazon Relational Database Service (Amazon RDS)?](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) im *Benutzerhandbuch zu Amazon Relational Database Service*.
+ Folgen Sie dem Tutorial [Verwenden einer Lambda-Funktion für den Zugriff auf eine Amazon-RDS-Datenbank](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-lambda-tutorial.html) im *Benutzerhandbuch zu Amazon Relational Database Service*.
+ Weitere Informationen zur Verwendung von Lambda mit Amazon RDS finden Sie unter [Verwenden AWS Lambda mit Amazon RDS](services-rds.md).

------