In-Memory-Beschleunigung mit DynamoDB Accelerator () DAX - Amazon-DynamoDB

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.

In-Memory-Beschleunigung mit DynamoDB Accelerator () DAX

Amazon DynamoDB ist für die Skalierbarkeit und Leistung entwickelt. In den meisten Fällen sind die DynamoDB-Reaktionszeiten im einstelligen Millisekundenbereich. Allerdings gibt es gewisse Anwendungsfälle, die Reaktionszeiten in Mikrosekunden erfordern. Für diese Anwendungsfälle bietet DynamoDB Accelerator (DAX) schnelle Reaktionszeiten für den Zugriff auf eventuell konsistente Daten.

DAXist ein DynamoDB-kompatibler Caching-Dienst, mit dem Sie von schneller In-Memory-Leistung für anspruchsvolle Anwendungen profitieren können. DAX befasst sich mit drei Kernszenarien:

  1. Als In-Memory-Cache werden die Antwortzeiten bei eventuell konsistenten Lese-Workloads um eine Größenordnung von einstelligen Millisekunden bis hin zu Mikrosekunden DAX reduziert.

  2. DAXreduziert die Betriebs- und Anwendungskomplexität durch die Bereitstellung eines verwalteten Dienstes, der mit DynamoDB API kompatibel ist. Daher sind nur minimale funktionale Änderungen für die Nutzung mit einer vorhandenen Anwendung erforderlich.

  3. Sorgt bei leseintensiven oder ausgelasteten Workloads für erhöhten Durchsatz und potenzielle Einsparungen bei den Betriebskosten, da weniger Lesekapazitätseinheiten zur DAX Verfügung gestellt werden müssen. Dies ist besonders vorteilhaft für Anwendungen, die wiederholte Lesevorgänge für einzelne Schlüssel benötigen.

DAX unterstützt serverseitige Verschlüsselung. Bei Verschlüsselung im Ruhezustand werden die auf der Festplatte gespeicherten Daten verschlüsselt. DAX DAXschreibt Daten auf die Festplatte als Teil der Übertragung von Änderungen vom primären Knoten an die Lesereplikate. Weitere Informationen finden Sie unter DAXVerschlüsselung im Ruhezustand.

DAXunterstützt auch die Verschlüsselung bei der Übertragung und stellt so sicher, dass alle Anfragen und Antworten zwischen Ihrer Anwendung und dem Cluster mit Transport Level Security (TLS) verschlüsselt werden und Verbindungen zum Cluster durch Überprüfung eines Cluster-x509-Zertifikats authentifiziert werden können. Weitere Informationen finden Sie unter DAX-Verschlüsselung während der Übertragung.

Anwendungsfälle für DAX

DAXbietet Zugriff auf eventuell konsistente Daten aus DynamoDB-Tabellen mit einer Latenz von Mikrosekunden. Ein DAX Multi-AZ-Cluster kann Millionen von Anfragen pro Sekunde bearbeiten.

DAXist ideal für die folgenden Arten von Anwendungen:

  • Anwendungen, die eine schnellstmögliche Reaktionszeit für Lesevorgänge benötigen. Einige Beispiele sind Real Time Bidding, Social Gaming und Trading-Anwendungen. DAXbietet schnelle In-Memory-Leseleistung für diese Anwendungsfälle.

  • Anwendungen, die eine geringe Anzahl von Elementen häufiger lesen als andere. Stellen Sie sich zum Beispiel ein E-Commerce-System vor, das einen eintägigen Verkauf eines beliebten Produkts anbietet. Während des Verkaufs würde die Nachfrage für dieses Produkt (und seiner Daten in DynamoDB) im Vergleich zu allen anderen Produkten drastisch steigen Um die Auswirkungen eines Schnellschlüssels und einer ungleichmäßigen Verteilung des Datenverkehrs zu mildern, könnten Sie die Leseaktivität in einen DAX Cache auslagern, bis der Tagesverkauf abgeschlossen ist.

  • Anwendungen, die leseintensiv, aber auch kostensensibel sind. Mit DynamoDB stellen Sie die Anzahl der Lesevorgänge pro Sekunde bereit, die Ihre Anwendung benötigt. Wenn die Leseaktivität steigt, können Sie den bereitgestellten Lesedurchsatz Ihrer Tabelle erhöhen (gegen Aufpreis). Oder Sie können die Aktivität von Ihrer Anwendung auf einen DAX Cluster auslagern und so die Anzahl der Lesekapazitätseinheiten reduzieren, die Sie andernfalls erwerben müssten.

  • Anwendungen, die wiederholte Lesevorgänge für große Datensätze benötigen. Solch eine Anwendung könnte möglicherweise Datenbankressourcen von anderen Anwendungen umleiten. Beispielsweise könnte eine lang andauernde Analyse von regionalen Wetterdaten zeitweise die gesamte Lesekapazität in einer DynamoDB-Tabelle verbrauchen. Dies hätte negative Auswirkungen auf andere Anwendungen, die auf dieselben Daten zugreifen müssen. Mit DAX könnte die Wetteranalyse stattdessen anhand zwischengespeicherter Daten durchgeführt werden.

DAXist nicht ideal für die folgenden Arten von Anwendungen:

  • Anwendungen, die Strongly Consistent-Lesevorgänge erfordern (oder keine Eventually Consistent-Lesevorgänge akzeptieren können).

  • Anwendungen, die keine Reaktionszeiten im Mikrosekundenbereich für Lesevorgänge benötigen oder die keine wiederholte Leseaktivitäten von zugrunde liegenden Tabellen auslagern müssen.

  • Anwendungen, die schreibintensiv sind. Ein hohes Schreibvolumen führt zu einer erhöhten Replikation zwischen den DAX Knoten in einem Cluster. Dies führt zu einem erhöhten Ressourcenverbrauch und dem Risiko von Verfügbarkeitsproblemen.

  • Anwendungen ohne viele wiederholte Lesevorgänge. DAXschneidet am besten ab, wenn die Cache-Trefferraten 90% überschreiten. Niedrigere Cache-Trefferraten erhöhen die Anzahl der Cache-Fehlschläge, wodurch mehr Ressourcen im gesamten DAX Cluster verbraucht werden.

DAXHinweise zur Nutzung

  • Eine Liste der AWS Regionen, in denen DAX das Produkt verfügbar ist, finden Sie unter Amazon DynamoDB DynamoDB-Preise.

  • DAXunterstützt Anwendungen, die in Go, Java, Node.js, Python und geschrieben wurden. NET, verwendet von AWS-bereitgestellte Clients für diese Programmiersprachen.

  • DAXist nur für die VPC Plattform EC2 - verfügbar.

  • Die DAX Clusterdienst-Rollenrichtlinie muss die dynamodb:DescribeTable Aktion zulassen, um Metadaten über die DynamoDB-Tabelle zu verwalten.

  • DAXCluster verwalten Metadaten über die Attributnamen der Elemente, die sie speichern. Diese Metadaten werden unbegrenzt gespeichert (und zwar sogar, nachdem das Element abgelaufen ist oder aus dem Cache entfernt wurde). Anwendungen, die eine unbegrenzte Anzahl von Attributnamen verwenden, können im Laufe der Zeit zu einer Speichererschöpfung im Cluster führen. DAX Diese Einschränkung gilt nur für Attributnamen auf oberster Ebene und nicht für verschachtelte Attributnamen. Beispiele für problematische Attributnamen der obersten Ebene sind Zeitstempel, und Sitzung. UUIDs IDs

    Diese Einschränkung gilt nur für Attributnamen und nicht für deren Werte. Elemente wie die Folgenden stellen kein Problem dar.

    { "Id": 123, "Title": "Bicycle 123", "CreationDate": "2017-10-24T01:02:03+00:00" }

    Bei Elementen wie den folgenden ist dies jedoch der Fall, wenn sie in entsprechender Anzahl vorhanden sind und jedes von ihnen über einen anderen Zeitstempel verfügt:

    { "Id": 123, "Title": "Bicycle 123", "2017-10-24T01:02:03+00:00": "created" }