Über Amazon DynamoDB
Was ist Amazon DynamoDB?
DynamoDB ist ein schneller und flexibler nicht relationaler Datenbankservice mit hoher Skalierbarkeit. Mit DynamoDB überlassen Sie den Kunden die administrativen Aufgaben hinsichtlich des Betriebs und der Skalierung verteilter Datenbanken auf AWS. So müssen Sie sich keine Gedanken um die Bereitstellung von Hardware, deren Einrichtung und Konfiguration, die Planung der Durchsatzkapazität, die Replikation, Software-Patches oder die Cluster-Skalierung machen.
Was verwaltet DynamoDB für mich?
DynamoDB löst eine der größten Herausforderungen der Skalierung von Datenbanken: die Verwaltung der Datenbanksoftware und die zum Ausführen erforderliche Hardware-Bereitstellung. Sie können in wenigen Minuten eine nicht-relationale Datenbank bereitstellen. DynamoDB skaliert die Durchsatzkapazität automatisch und bewältigt so mühelos sämtliche Auslastungsanforderungen. Wenn Ihre Tabelle größer wird, partitioniert und repartitioniert die Datenbank Ihre Daten. Außerdem repliziert DynamoDB synchron Daten an mehreren Standorten einer AWS-Region und erzielt so eine hohe Verfügbarkeit und Datenbeständigkeit.
Speicher
Was sind die DynamoDB-Tabellenklassen?
DynamoDB-Tabellenklassen sind Optionen zur Leistungs- und Kostenoptimierung für DynamoDB-Tabellen. Die beiden verfügbaren Tabellenklassen sind DynamoDB Standard (Standardtabellenklasse für Workloads, die maximale Leistung erfordern und die sich am besten für Tabellen mit unvorhersehbaren Workloads eignet) und DynamoDB Standard-Infrequent Access (Tabellenklasse optimiert für Tabellen, bei denen Speicher die dominierenden Kosten sind, und ideal für Tabellen, in denen sich Daten befinden, auf die selten zugegriffen wird). Standardtabellen haben geringere Kosten für Lese- und Schreibvorgänge, aber höhere Speicherkosten. Standard-IA-Tabellen haben niedrigere Speicherkosten, aber höhere Kosten für Lese- und Schreibvorgänge. Sie können innerhalb von 30 Tagen zweimal ohne Ausfallzeiten zwischen diesen Tabellenklassen wechseln, sodass Sie Ihre Kosten auf der Grundlage der Nutzungsmuster Ihrer Tabelle optimieren können. Die Wahl zwischen diesen Klassen hängt von den spezifischen Anforderungen Ihrer Anwendung und den Zugriffsmustern Ihrer Daten ab.
Welche Faktoren sollte ich bei der Auswahl einer Tabellenklasse berücksichtigen?
Bei der Auswahl einer Tabellenklasse in DynamoDB sind mehrere Faktoren zu berücksichtigen. Die gewöhnlichsten, die Sie berücksichtigen sollten, sind die Zugriffsmuster Ihrer Daten, Kostenüberlegungen und die Vorhersagbarkeit der Workload. Sie können ohne Programmierung oder Ausfallzeiten zwischen Tabellenklassen wechseln, sodass Sie Ihre Auswahl anpassen können, wenn sich Ihre Anforderungen im Laufe der Zeit ändern.
Wie funktionieren DynamoDB-Standard-IA-Tabellen mit vorhandenen DynamoDB-Features?
DynamoDB-Standard-IA-Tabellen (Infrequent Access) funktionieren nahtlos mit vorhandenen DynamoDB-Features. Sie verwenden dieselben APIs wie reguläre DynamoDB-Tabellen, sodass Sie sie mit vorhandenen Anwendungen ohne Codeänderungen verwenden können. Sie unterstützen Global Tables für multiregionale Replikation, zeitpunktbezogene Wiederherstellung (PITR), On-Demand-Backups, Verschlüsselung im Ruhezustand mit AWS Key Management Service (KMS), DynamoDB-Streams, Time To Live zum automatischen Löschen von Elementen sowie transaktionale Lese- und Schreibvorgänge. Standard-IA-Tabellen sind mit DynamoDB Accelerator (DAX) kompatibel.
Wie speichert DynamoDB Daten?
Amazon DynamoDB speichert Daten in Partitionen. Eine Partition ist eine Speicherzuweisung für eine Tabelle, die von Solid-State-Laufwerken (SSDs) gestützt und automatisch über mehrere Availability Zones innerhalb einer AWS-Region repliziert wird. Die Partitionsverwaltung wird vollständig von DynamoDB übernommen – Sie müssen Partitionen nie selbst verwalten.
Was ist die maximal zulässige Elementgröße in DynamoDB?
Die maximale Größe eines Elements, das in einer DynamoDB-Tabelle gespeichert werden kann, beträgt 400 KB. Es gibt keine vordefinierten Speicherlimits.
Kann DynamoDB einen Binary Large Object Storage (BLOB) speichern?
Ja, DynamoDB kann BLOB speichern; es ist jedoch im Allgemeinen nicht zum Speichern von Dokumenten oder Bildern geeignet. Ein besseres Architekturmuster besteht darin, Zeiger auf Amazon S3-Objekte in einer DynamoDB-Tabelle zu speichern.
Wie lange bleiben Daten in DynamoDB?
Es gibt standardmäßig keine festgelegte Ablauf- oder Löschzeit für Daten, die in einer Amazon DynamoDB-Tabelle gespeichert sind. Die Daten bleiben auf unbestimmte Zeit in der Tabelle, sofern sie nicht ausdrücklich vom Kunden oder durch Time-to-Live-Löschungen (TTL) gelöscht werden, wenn TTL aktiviert ist.
Wie viele Elemente können in DynamoDB gespeichert werden?
Es gibt kein vordefiniertes Limit für die Anzahl der Elemente, die in einer DynamoDB-Tabelle gespeichert werden können. DynamoDB skaliert auf Hunderte von Terabyte oder mehr an Daten über eine beliebige Anzahl von Elementen hinweg.
Können Bilder in DynamoDB gespeichert werden?
Es ist zwar technisch möglich, Bilder in DynamoDB als Binärdaten (base64-kodiert) zu speichern, aufgrund der Größenbeschränkung von 400 KB für Elemente gibt es jedoch einige Einschränkungen und Nachteile. Anstatt Bilder direkt in DynamoDB zu speichern, ist es besser, die Bilder in Amazon S3 (Simple Storage Service) zu speichern und dann die S3-Objekt-URL oder den Schlüssel in DynamoDB zu speichern.
Können Sie Listen in DynamoDB speichern?
Um eine Liste in DynamoDB zu speichern, müssen Sie einen der DynamoDB-Listendatentypen verwenden – entweder eine Liste oder ein Set. Beim Schreiben von Elementen in die Tabelle kann der Wert für dieses Attribut ein Array oder eine Sammlung von skalaren (objektfreien) Datentypen wie Zeichenketten, Zahlen usw. sein. DynamoDB kümmert sich automatisch darum, die Listendaten zu serialisieren und so zu speichern, dass die Listenstruktur erhalten bleibt. Anschließend können Sie das Tabellenattribut abfragen, um die vollständige Liste abzurufen. Das Hinzufügen, Aktualisieren oder Entfernen von Elementen aus der Liste funktioniert genauso wie ein regulärer Schreibvorgang.
Kann DynamoDB eine Map speichern?
Ja, DynamoDB unterstützt das Speichern von Maps als Attributdatentyp.
Sicherheit und Kontrolle
Unterstützt Amazon DynamoDB Berechtigungen für AWS Identity and Access Management (IAM)?
Ja, DynamoDB unterstützt IAM-Berechtigungen. IAM-Berechtigungen können in identitätsbasierten Richtlinien, ressourcenbasierten Richtlinien oder anderen AWS-Richtlinien definiert werden, um den Zugriff auf DynamoDB-Ressourcen zu kontrollieren. Sie können IAM-Richtlinien an IAM-Benutzer, -Gruppen, -Rollen sowie DynamoDB-Tabellen und -Streams anhängen und sie nach Bedarf steuern.
Was ist AWS PrivateLink für Amazon DynamoDB?
Mit AWS PrivateLink können Sie die private Netzwerkkonnektivität zwischen Virtual Private Clouds (VPCs), DynamoDB und Ihren On-Premises-Rechenzentren mithilfe von Schnittstellen-VPC-Endpunkten und privaten IP-Adressen vereinfachen. Mit PrivateLink kann über eine private Verbindung auf DynamoDB-Tabellen zugegriffen werden, und Anfragen verlassen das Amazon-Netzwerk nicht. Dies erhöht die Sicherheit, da der Datenverkehr über beliebige Netzwerk-Gateways fließt und der Zugriff mithilfe von IAM-Richtlinien und Sicherheitsgruppen gesteuert werden kann. PrivateLink ist nützlich für Anwendungen, die Datensicherheitsanforderungen haben und eine geringe Latenz erfordern. Es macht DynamoDB-Tabellen auch von Hybridumgebungen aus zugänglich, die On-Premises-Netzwerke und AWS umfassen.
Unterstützt DynamoDB ressourcenbasierte Richtlinien?
Ja, DynamoDB unterstützt ressourcenbasierte Richtlinien für Tabellen und Streams. Die ressourcenbasierten Richtlinien für jede Tabelle decken auch die Zugriffsberechtigungen für die Indizes der Tabelle ab (globale sekundäre Indizes und lokale sekundäre Indizes). Mit ressourcenbasierten Richtlinien können Kunden detaillierte Zugriffsberechtigungen für DynamoDB-Tabellen und andere Ressourcen definieren, ohne vollen Zugriff auf AWS-Kontoebene gewähren zu müssen. Mithilfe dieser Richtlinien können Kunden steuern, welche Benutzer, Rollen und Verbundbenutzer Aktionen wie Lesen, Schreiben oder Löschen für bestimmte DynamoDB-Tabellen, Indizes und Streams ausführen können. Die ressourcenbasierten Richtlinien werden innerhalb jeder DynamoDB-Ressource angehängt und verwaltet.
Ressourcenbasierte Richtlinien unterstützen Integrationen mit AWS Identity and Access Management (IAM) Access Analyzer und der Fähigkeit zu Block Public Access (BPA). IAM Access Analyzer hilft Kunden dabei, Berechtigungen zu verfeinern und die geringste Berechtigung einzuhalten. BPA hilft Kunden dabei, den öffentlichen Zugriff auf DynamoDB-Tabellen, -Indizes und -Streams zu verhindern, und ist bei DynamoDB immer aktiviert.
Unterstützt DynamoDB die attributbasierte Zugriffskontrolle für die tagbasierte Autorisierung?
DynamoDB unterstützt die attributbasierte Zugriffskontrolle, die allgemein für DynamoDB-Tabellen und -Indizes verfügbar ist.
Kann ich Amazon DynamoDB in Amazon Virtual Private Cloud (Amazon VPC) verwenden?
Ja, Sie können Amazon DynamoDB mithilfe von VPC-Endpunkten verwenden. DynamoDB unterstützt zwei Arten von VPC-Endpunkten: Gateway-Endpunkte und die Verwendung von AWS PrivateLink. Mit einem Gateway-Endpunkt können Sie von Ihrer VPC aus auf DynamoDB zugreifen, ohne ein Internet-Gateway oder NAT-Gerät für Ihre VPC zu benötigen. Gateway-Endpunkte erlauben jedoch keinen Zugriff von On-Premises-Netzwerken, von Peering-VPCs in anderen AWS-Regionen oder über ein Transit-Gateway. Für diese Szenarien müssen Sie AWS PrivateLink verwenden, das gegen Aufpreis erhältlich ist.
Was ist die differenzierte Zugriffskontrolle von Amazon DynamoDB?
Die differenzierte Zugriffskontrolle (Fine-grained access control, FGAC) gibt einem Besitzer einer DynamoDB-Tabelle mithilfe von Richtlinien und Bedingungen von AWS Identity and Access Management (IAM) eine granulare Kontrolle über die Daten in der Tabelle. Mit FGAC kann der Besitzer Berechtigungen für den Zugriff auf Elemente oder Attribute der Tabelle und die zugehörigen Aktionen gewähren. Die differenzierte Zugriffskontrolle wird zusammen mit AWS IAM genutzt, einem Service, der zur Verwaltung der Anmeldeinformationen und dazugehörigen Berechtigungen dient.
Verschlüsselt Amazon DynamoDB meine Daten während der Übertragung und bei der Speicherung?
Ja, alle Benutzerdaten in Amazon DynamoDB sind während der Übertragung und im Ruhezustand vollständig verschlüsselt.
Wie verschlüsselt Amazon DynamoDB meine Daten während der Übertragung?
Das HTTPS-Protokoll wird verwendet, um den Netzwerkverkehr mithilfe der Verschlüsselung von Secure Sockets Layer zu schützen.
Wie verschlüsselt Amazon DynamoDB meine Daten im Ruhezustand?
DynamoDB-Verschlüsselung im Ruhezustand verwendet Verschlüsselungsschlüssel, die im AWS Key Management Service (AWS KMS) gespeichert sind. Daten im Ruhezustand werden mit AES-256, dem Goldstandard, verschlüsselt bei dem ein Höchstmaß an Sicherheit erforderlich ist.
Welche Schlüsseltypen sind verfügbar, um meine DynamoDB-Daten im Ruhezustand zu verschlüsseln?
Die folgenden Schlüsseltypen sind verfügbar, um Daten im Ruhezustand zu verschlüsseln:
1. AWS-eigene Schlüssel: Diese werden vollständig von AWS verwaltet und standardmäßig verwendet, sofern keine andere Option angegeben ist. Sie können kostenlos verwendet werden und erfordern keine zusätzliche Einrichtung.
2. Von AWS verwaltete Schlüssel: Dies sind Kundenmasterschlüssel (CMKs), die im AWS Key Management Service (KMS) gespeichert sind und im Namen des Kunden von AWS erstellt, verwaltet und verwendet werden. Sie bieten im Vergleich zu AWS-eigenen Schlüsseln zusätzliche Kontroll- und Auditfunktionen.
3. Vom Kunden verwaltete Schlüssel: Dies sind CMKs, die Sie in AWS KMS erstellen, besitzen und verwalten. Sie bieten ein Höchstmaß an Kontrolle über die Verschlüsselungsschlüssel, einschließlich der Möglichkeit, Zugriffskontrollen zu erstellen, zu rotieren, zu deaktivieren und zu definieren.
Jeder dieser Schlüsseltypen bietet ein anderes Gleichgewicht zwischen Komfort, Kontrolle und Kosten. AWS-eigene Schlüssel sind am einfachsten zu verwenden, während vom Kunden verwaltete Schlüssel die meiste Kontrolle bieten, aber mehr Verwaltungsaufwand erfordern.
Wie trägt Verschlüsselung im Ruhezustand zum Schutz meiner Daten bei?
Die Verschlüsselung im Ruhezustand trägt zum Schutz der Daten bei, indem Dateien mit vertraulichen Informationen verschlüsselt werden, wenn sie inaktiv sind. Wenn Daten im Ruhezustand verschlüsselt werden, können Unbefugte nicht auf den Klartextinhalt zugreifen, selbst wenn sie physischen Zugriff auf die Geräte erhalten, auf denen die Daten gespeichert sind. Dies bietet eine zusätzliche Sicherheitsebene für Daten, die über die bloße Zugriffskontrolle hinausgeht, und trägt dazu bei, dass vertrauliche Informationen privat bleiben, auch wenn das physische Gerät verloren geht oder gestohlen wird.
Unterstützt DynamoDB die Auditprotokollierung für Änderungen auf Elementebene in der Tabelle?
Ja, DynamoDB unterstützt die Auditprotokollierung für Änderungen auf Elementebene in Tabellen. DynamoDB ist in AWS CloudTrail integriert. Das ist ein Service, der eine Aufzeichnung der Aktionen eines Benutzers, einer Rolle oder eines AWS-Service in DynamoDB auf Elementebene bereitstellt. Zu den zusätzlich erfassten Protokollierungsdaten gehören Erstellungs-, Aktualisierungs- und Löschdaten sowie etwaige Fehler bei der bedingten Überprüfung. Kunden können auf diese in CloudWatch Logs gespeicherten Protokolldatensätze zugreifen und Anwendungen erstellen, um Änderungen auf Elementebene zu Audit-, Überwachungs- oder anderen Zwecken zu analysieren. Die Auditprotokollierung bietet Einblick in Datenänderungen auf granularer Ebene, ohne die normale Lese-/Schreibleistung der DynamoDB-Tabelle zu beeinträchtigen.
Kann ich Amazon DynamoDB mit Anwendungen verwenden, die dem Standard von HIPAA entsprechen müssen?
Ja, Sie können Amazon DynamoDB verwenden, um im Rahmen eines Geschäftspartnervertrags mit AWS HIPAA-konforme Anwendungen zu erstellen und Daten aus dem Gesundheitswesen zu speichern. Dies gilt auch für geschützte Patientendaten.
Welche Compliance-Zertifizierungen unterstützt Amazon DynamoDB?
DynamoDB erfüllt viele Compliance-Zertifizierungen, darunter HIPAA-konform, FedRAMP, ISO 27001, SOC 1/SSAE 16/ISAE 3402 (ehemals SAS 70) und SOC 2. Weitere Informationen finden Sie unter Konformitätsüberprüfung durch die Branche für DynamoDB. AWS-Compliance-Berichte können in AWS Artifact heruntergeladen werden.
Hohe Verfügbarkeit und Replikation
Was ist DynamoDB Global Tables?
Globale Tabellen von Amazon DynamoDB Global ist eine vollständig verwaltete, serverless, multiregionale und multiaktive Datenbank. Globale Tabellen bieten eine Verfügbarkeit von 99,999 %, eine erhöhte Anwendungsstabilität und eine verbesserte Geschäftskontinuität. Es repliziert Ihre Amazon-DynamoDB-Tabellen automatisch in den von Ihnen ausgewählten AWS-Regionen, daher können Sie eine schnelle, lokale Lese- und Schreibleistung erzielen. Globale Tabellen verwenden dieselben APIs wie DynamoDB-Tabellen mit einer einzelnen Region, sodass Sie Ihre DynamoDB-Tabellen problemlos global verfügbar machen können, ohne dass Änderungen an der Anwendung vorgenommen werden müssen.
Warum sollte ich Global Tables verwenden?
Sie sollten globale Tabellen verwenden, um die Stabilität Ihrer Anwendung in mehreren Regionen zu verbessern. Globale Tabellen ermöglichen es Anwendungen auch, im unwahrscheinlichen Fall einer Isolierung oder Verschlechterung einer ganzen Region eine hohe Verfügbarkeit aufrechtzuerhalten.
Was ist der Unterschied zwischen den Versionen von globalen Tabellen?
Es sind zwei Versionen der globalen DynamoDB-Tabellen verfügbar: Version 2019.11.21 (aktuell) und Version 2017.11.29 (Legacy). Kunden sollten Version 2019.11.21 (Aktuell) für alle neuen globalen Tabellen verwenden, da diese Version effizienter ist und weniger Schreibkapazität verbraucht. Jeder, der Version 2017.11.29 (Legacy) verwendet, sollte seine globalen Tabellen auf Version 2019.11.21 (Aktuell) aktualisieren.
Wie aktualisiere ich meine globalen Tabellen auf Version 2019.11.21 (Aktuell)?
Sie können die Version einer globalen Tabelle mit nur wenigen Klicks in der AWS-Managementkonsole aktualisieren. Das Aktualisieren von Version 2017.11.29 (Legacy) auf Version 2019.11.21 (Aktuell) ist eine einmalige Aktion und kann nicht rückgängig gemacht werden. Stellen Sie vor der Aktualisierung sicher, dass Sie die Unterschiede im Verhalten zwischen den Versionen überprüft und alle erforderlichen Tests durchgeführt haben. Weitere Informationen finden Sie unter Aktualisieren globaler Tabellen von Version 2017.11.29 (Legacy) auf Version 2019.11.21 (Aktuell).
Unterstützen globale DynamoDB-Tabellen das automatische Failover, wenn eine Region nicht mehr verfügbar ist?
DynamoDB-Tabellen verwenden die multiaktive Replikation über Regionen hinweg, wobei alle Replikattabellen in allen Regionen einer globalen Tabelle Lese- und Schreibverkehr unterstützen. Eine globale Tabelle hat keine primäre Region, und daher ist kein Datenbank-Failover erforderlich, wenn Lese- und Schreibverkehr in eine andere Region geleitet wird. In dem unwahrscheinlichen Fall, dass eine AWS-Region isoliert oder beeinträchtigt wird, kann Ihre Anwendung einfach aus einer Replikattabelle in einer nicht betroffenen Region lesen und schreiben. Weitere Informationen finden Sie unter Bewährte Methoden für das globale DynamoDB-Tabellendesign.
Datenverarbeitung
Unterstützt Amazon DynamoDB die Erfassung von Änderungsdaten?
Ja, Amazon unterstützt Change Data Capture (CDC). In DynamoDB wird CDC mithilfe eines Streaming-Modells implementiert, das es Anwendungen ermöglicht, Änderungen auf Elementebene in einer DynamoDB-Tabelle nahezu in Echtzeit als Stream von Datensätzen zu erfassen. Der CDC-Strom von Datensätzen ermöglicht es Anwendungen, die Datenänderungen in der DynamoDB-Tabelle effizient zu verarbeiten und darauf zu reagieren. DynamoDB bietet zwei Streaming-Modelle für CDC: Amazon DynamoDB Streams und Amazon Kinesis Data Streams für DynamoDB. Informationen zur Auswahl der richtigen Lösung für Ihre Anwendung finden Sie unter Streaming-Optionen für die Erfassung von Änderungsdaten.
Was ist DynamoDB Streams und was kann ich damit machen?
Ein DynamoDB-Stream ist ein geordneter Informationsfluss über Änderungen an Elementen in einer DynamoDB-Tabelle. DynamoDB Streams erfassen eine deduplizierte, zeitlich geordnete Abfolge von Änderungen auf Elementebene in jeder beliebigen Tabelle und speichern diese Informationen bis zu 24 Stunden in einem Protokoll. DynamoDB Streams skaliert Kapazitäten automatisch, welches Sie von Bereitstellungs- und Verwaltungskapazitäten befreit. Basierend auf Ihrer DynamoDB-Streams-Konfiguration können Sie die Datenelemente so anzeigen, wie sie vor und nach ihrer Änderung angezeigt werden. Sie können Anwendungen erstellen, die diese Stream-Ereignisse verarbeiten, und Workflows auf der Grundlage des Inhalts des Event-Streams aufrufen.
DynamoDB Streams ist nützlich, wenn Sie mithilfe der nativen Integration mit AWS Lambda auf Datenänderungen mit Triggern reagieren, Kundeninteraktionen verfolgen und analysieren oder die Anwendungsleistung nahezu in Echtzeit überwachen, geordnete Abfolgen von Ereignissen erfassen und die Anwendungsstabilität durch die Replikation von Transaktionsdaten auf Elementebene verbessern möchten.
Was ist Kinesis Data Streams for DynamoDB und was kann ich damit machen?
Kinesis Data Streams erfasst Änderungen auf Elementebene in jeder DynamoDB-Tabelle und repliziert sie in einen Kinesis-Datenstrom. Ihre Anwendungen können auf diesen Stream zugreifen und Änderungen auf Elementebene nahezu in Echtzeit anzeigen. Mit Kinesis Data Streams können Sie benutzerdefinierte Anwendungen zur Verarbeitung oder Analyse von Streaming-Daten für spezielle Anforderungen aufbauen. Im Gegensatz zu DynamoDB-Streams bietet Kinesis Data Streams für DynamoDB keine Garantien für die Reihenfolge der Datensätze oder die Deduplizierung. Die Reihenfolge und Deduplizierung von Datensätzen müssen von Client-Anwendungen implementiert werden, wobei das ApproximateCreationDateTime-Feld im Datensatz auf Elementebene verwendet wird.
Kinesis Data Streams für DynamoDB ist nützlich, wenn Sie eine Integration in das breitere Kinesis-Ökosystem (wie die Kinesis Client Library, Amazon Managed Service für Apache Flink oder Amazon Data Firehose), eine längere Datenaufbewahrung und Wiederspielbarkeit (bis zu 365 Tage) sowie ein maßgeschneidertes Shard-Management für Downstream-Verbrauch und Streaming-Analysen benötigen.
Welche Informationen sind in einem Stream enthalten?
Wenn ein DynamoDB-Stream oder Kinesis-Datenstrom in einer DynamoDB-Tabelle aktiviert ist, sendet die Tabelle einen Datensatz, der alle Änderungen an den Daten dieser Tabelle erfasst. Dieser Datensatz enthält den spezifischen Zeitpunkt, zu dem ein Element kürzlich erstellt, aktualisiert oder gelöscht wurde, den Primärschlüssel dieses Elements, ein Bild des Elements vor der Änderung und ein Bild des Elements nach der Änderung
Wie verwende ich DynamoDB-Stream oder Kinesis-Datenstrom?
Sie können Streams in einer vorhandenen DynamoDB-Tabelle mithilfe der AWS-Managementkonsole, des AWS-SDK, des AWS Command Line Interface (AWS CLI) oder der Kinesis Client Library (KCL) aktivieren oder deaktivieren.
Wann sollte ich DynamoDB-Stream verwenden? Kinesis-Datenstrom?
Wählen Sie DynamoDB-Streams, wenn Sie speziell Änderungen an DynamoDB-Tabellen verfolgen müssen. Wählen Sie Kinesis Data Streams für umfassendere Streaming-Anforderungen, höhere Durchsatzanforderungen oder wenn Sie längere Datenaufbewahrungsfristen benötigen.
Was ist DynamoDB Time-to-Live (TTL) und was kann ich damit machen?
Das Feature Amazon DynamoDB Time to Live (TTL) löscht automatisch abgelaufene Elemente, die nicht mehr relevant sind, aus einer Tabelle, wodurch der Speicherverbrauch reduziert und die Kosten gesenkt werden. Mit TTL können Sie einen Zeitstempel pro Element definieren, um festzustellen, wann ein Element nicht mehr benötigt wird. DynamoDB löscht das Element automatisch aus Ihrer Tabelle, ohne dass ein Schreibdurchsatz erforderlich ist. Jedes Mal, wenn ein Element erstellt oder aktualisiert wird, können Sie die Ablaufzeit berechnen und im TTL-Attribut speichern. TTL ist nützlich, wenn Sie Elemente speichern, die nach einer bestimmten Zeit an Relevanz verlieren.
Welche Abfragefunktionen unterstützt DynamoDB?
DynamoDB unterstützt GET/PUT-Operationen unter Verwendung eines benutzerdefinierten Primärschlüssels. Der Primärschlüssel ist das einzige Attribut, das für Tabelleneinträge erforderlich ist. Sie legen den Primärschlüssel beim Erstellen einer Tabelle fest und er identifiziert dann jeden Eintrag eindeutig. DynamoDB bietet auch flexible Abfragen, indem Sie Abfragen auf nicht primäre Schlüsselattribute unter Verwendung von globalen sekundären Indizes und lokalen sekundären Indizes verwenden können.
Ein Primärschlüssel kann entweder ein Einzelattribut-Partitionsschlüssel oder ein zusammengesetzter Partitionssortierschlüssel sein. Ein Beispiel für einen Partitionsschlüssel mit einem einzigen Attribut wäre UserID. Damit könnten Sie Daten für einen Eintrag, der einer bestimmten Benutzer-ID zugewiesen wurde, schnell lesen und schreiben.
Ein zusammengesetzter Partitions-Bereichsschlüssel wird als Partitions-Schlüsselelement und als Sortierschlüsselelement indiziert. Dieser mehrteilige Schlüssel bewahrt die Hierarchie zwischen den ersten und zweiten Elementwerten. Beispielsweise könnte ein zusammengesetzter Partitionssortierschlüssel eine Kombination aus UserID (Partition) und Timestamp (Sortierung) sein. Wenn das Partitions-Schlüsselelement konstant gehalten wird, können Sie im Sortierschlüsselelement nach Elementen suchen. Eine solche Suche würde es Ihnen ermöglichen, die Abfrage-API zu verwenden, um etwa alle Elemente für eine einzelne UserID über eine Reihe von Zeitstempeln abzurufen.
Wie kann ich Datenelemente mit DynamoDB aktualisieren und abfragen?
Nachdem Sie eine Tabelle mit der DynamoDB-Konsole oder der CreateTable-API erstellt haben, können Sie die APIs PuItem oder BatchWriteItem verwenden, um Elemente einzufügen. Anschließend können Sie mit GetItem, BatchGetItem oder, wenn zusammengesetzte Primärschlüssel aktiviert sind und in Ihrer Tabelle verwendet werden, die Abfrage-API verwenden, um die Elemente abzurufen, die Sie der Tabelle hinzugefügt haben.
Wird DynamoDB von Anwendungen auf allen Betriebssystemen unterstützt?
Ja. DynamoDB ist ein vollständig verwalteter Cloud-Service, auf den Sie über die API zugreifen können. Sie können DynamoDB für Anwendungen auf einen beliebigen Betriebssystem verwenden (etwa Linux, Windows, iOS, Android, Solaris, AIX oder HP-UX). Für den Einstieg in DynamoDB empfehlen wir die Verwendung der AWS SDKs.
Sie erhalten sofort Zugriff auf das kostenlose AWS-Kontingent.
Beginnen Sie mit der Entwicklung mit Amazon DynamoDB in der AWS-Managementkonsole.