

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.

# Was ist Amazon Keyspaces (für Apache Cassandra)?
<a name="what-is-keyspaces"></a>

 Amazon Keyspaces (für Apache Cassandra) ist ein skalierbarer, hochverfügbarer und verwalteter Apache Cassandra-kompatibler Datenbankservice. Mit Amazon Keyspaces müssen Sie keine Server bereitstellen, patchen oder verwalten und Sie müssen keine Software installieren, warten oder betreiben. 

Amazon Keyspaces ist serverlos, sodass Sie nur für die Ressourcen zahlen, die Sie nutzen, und der Service skaliert Tabellen automatisch als Reaktion auf den Anwendungsdatenverkehr nach oben und unten. Sie können Anwendungen erstellen, die Tausende von Anfragen pro Sekunde mit praktisch unbegrenztem Durchsatz und Speicherplatz bearbeiten. 

**Anmerkung**  
 Apache Cassandra ist ein Open-Source-Datenspeicher mit vielen Spalten, der für die Verarbeitung großer Datenmengen konzipiert ist. [Weitere Informationen finden Sie unter Apache Cassandra.](http://cassandra.apache.org/)

Amazon Keyspaces macht es einfach, Cassandra-Workloads in der zu migrieren, auszuführen und zu skalieren. AWS Cloud Mit nur wenigen Klicks auf der AWS Management Console oder ein paar Codezeilen können Sie Schlüsselräume und Tabellen in Amazon Keyspaces erstellen, ohne Infrastruktur bereitstellen oder Software installieren zu müssen.

Mit Amazon Keyspaces können Sie Ihre bestehenden Cassandra-Workloads mit demselben Cassandra-Anwendungscode und denselben Entwicklertools ausführen, die Sie heute AWS verwenden. 

Mit dem [Preisrechner für Amazon Keyspaces (für Apache Cassandra)](https://aws-samples.github.io/sample-pricing-calculator-for-keyspaces/#cassandra), der auf Github verfügbar ist, können Sie Ihre monatlichen Kosten für Amazon Keyspaces auf der Grundlage Ihrer vorhandenen Apache Cassandra-Arbeitslast schätzen. Geben Sie Metriken aus Ihrer Cassandra-Nodetool-Statusausgabe und der geplanten serverlosen Konfiguration für Amazon Keyspaces ein, um die direkten Kosten zwischen den beiden Lösungen zu vergleichen. Beachten Sie, dass sich dieser Rechner nur auf die Betriebskosten von Amazon Keyspaces im Vergleich zu Ihrer bestehenden Cassandra-Bereitstellung konzentriert. Dabei sind die Gesamtbetriebskosten (TCO) wie Infrastrukturwartung, Betriebskosten oder Supportkosten für Cassandra nicht berücksichtigt.

Eine Liste der verfügbaren Endpunkte AWS-Regionen und Endpunkte finden Sie unter [Service-Endpunkte für Amazon](https://docs.aws.amazon.com/keyspaces/latest/devguide/programmatic.endpoints.html) Keyspaces.

Wir empfehlen Ihnen, zunächst die folgenden Abschnitte zu lesen:

**Topics**
+ [

# Amazon Keyspaces: So funktioniert's
](how-it-works.md)
+ [

# Anwendungsfälle von Amazon Keyspaces
](use-cases.md)
+ [

# Was ist Cassandra Query Language (CQL)?
](what-is-cql.md)

# Amazon Keyspaces: So funktioniert's
<a name="how-it-works"></a>

Amazon Keyspaces macht den administrativen Aufwand für die Verwaltung von Cassandra überflüssig. Um zu verstehen, warum, ist es hilfreich, mit der Cassandra-Architektur zu beginnen und sie dann mit Amazon Keyspaces zu vergleichen.

**Topics**
+ [

## Architektur auf hohem Niveau: Apache Cassandra im Vergleich zu Amazon Keyspaces
](#how-it-works.cassandra-arch)
+ [

## Cassandra-Datenmodell
](#how-it-works.data-model)
+ [

## Von einer Anwendung aus auf Amazon Keyspaces zugreifen
](#how-it-works.keyspaces-arch.accessing)

## Architektur auf hohem Niveau: Apache Cassandra im Vergleich zu Amazon Keyspaces
<a name="how-it-works.cassandra-arch"></a>

 Herkömmliches Apache Cassandra wird in einem Cluster bereitgestellt, der aus einem oder mehreren Knoten besteht. Sie sind dafür verantwortlich, jeden Knoten zu verwalten und Knoten hinzuzufügen und zu entfernen, wenn Ihr Cluster skaliert. 

Ein Client-Programm greift auf Cassandra zu, indem es eine Verbindung zu einem der Knoten herstellt und Cassandra Query Language (CQL) -Anweisungen ausgibt. *CQL* ähnelt SQL, der beliebten Sprache, die in relationalen Datenbanken verwendet wird. Obwohl Cassandra keine relationale Datenbank ist, bietet CQL eine vertraute Oberfläche zum Abfragen und Bearbeiten von Daten in Cassandra.

Das folgende Diagramm zeigt einen einfachen Apache Cassandra-Cluster, der aus vier Knoten besteht.

![\[Diagramm eines Apache Cassandra-Clusters mit 4 Knoten, der mit der Client-Anwendung interagiert.\]](http://docs.aws.amazon.com/de_de/keyspaces/latest/devguide/images/keyspaces_cassandra-hi-level.png)


Eine Cassandra-Produktionsumgebung kann aus Hunderten von Knoten bestehen, die auf Hunderten von physischen Computern in einem oder mehreren physischen Rechenzentren ausgeführt werden. Dies kann zu einer betrieblichen Belastung für Anwendungsentwickler führen, die neben der Installation, Wartung und dem Betrieb von Software auch Server bereitstellen, patchen und verwalten müssen. 

Mit Amazon Keyspaces (für Apache Cassandra) müssen Sie keine Server bereitstellen, patchen oder verwalten, sodass Sie sich auf die Entwicklung besserer Anwendungen konzentrieren können. Amazon Keyspaces bietet zwei Durchsatzkapazitätsmodi für Lese- und Schreibvorgänge: auf Abruf und bereitgestellt. Sie können den Durchsatzkapazitätsmodus Ihrer Tabelle wählen, um den Preis für Lese- und Schreibvorgänge auf der Grundlage der Vorhersagbarkeit und Variabilität Ihrer Arbeitslast zu optimieren. 

Im On-Demand-Modus zahlen Sie nur für die Lese- und Schreibvorgänge, die Ihre Anwendung tatsächlich ausführt. Sie müssen die Durchsatzkapazität Ihrer Tabelle nicht im Voraus angeben. Amazon Keyspaces passt Ihren Anwendungsdatenverkehr fast sofort an, wenn er steigt oder fällt, und ist somit eine gute Option für Anwendungen mit unvorhersehbarem Datenverkehr.

Der Modus „Bereitgestellte Kapazität“ hilft Ihnen, den Preis für den Durchsatz zu optimieren, wenn Sie einen vorhersehbaren Anwendungsdatenverkehr haben und den Kapazitätsbedarf Ihrer Tabelle im Voraus prognostizieren können. Im Modus „Bereitgestellte Kapazität“ geben Sie die Anzahl der Lese- und Schreibvorgänge pro Sekunde an, die Ihre Anwendung voraussichtlich ausführen soll. Sie können die bereitgestellte Kapazität für Ihre Tabelle automatisch erhöhen und verringern, indem Sie die [automatische](https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html) Skalierung aktivieren.

Sie können den Kapazitätsmodus Ihrer Tabelle einmal täglich ändern, wenn Sie mehr über die Datenverkehrsmuster Ihres Workloads erfahren oder wenn Sie mit einem starken Anstieg des Datenverkehrs rechnen, z. B. aufgrund eines wichtigen Ereignisses, von dem Sie erwarten, dass es zu einem starken Tabellenverkehr kommen wird. Weitere Informationen zur Bereitstellung von Lese- und Schreibkapazität finden Sie unter. [read/write Kapazitätsmodi in Amazon Keyspaces konfigurieren](ReadWriteCapacityMode.md) 

Amazon Keyspaces (für Apache Cassandra) speichert drei Kopien Ihrer Daten in mehreren [Availability Zones, um Haltbarkeit und hohe Verfügbarkeit](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) zu gewährleisten. Darüber hinaus profitieren Sie von einer Rechenzentrums- und Netzwerkarchitektur, die auf die Anforderungen der sicherheitssensibelsten Unternehmen zugeschnitten ist. Die Verschlüsselung im Ruhezustand wird automatisch aktiviert, wenn Sie eine neue Amazon Keyspaces-Tabelle erstellen und für alle Client-Verbindungen Transport Layer Security (TLS) erforderlich ist. Zu den zusätzlichen AWS Sicherheitsfunktionen gehören [Überwachung](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) und [Virtual Private Cloud (VPC) -Endpunkte](https://docs.aws.amazon.com/keyspaces/latest/devguide/vpc-endpoints.html). [AWS Identity and Access Management](https://docs.aws.amazon.com/keyspaces/latest/devguide/security_iam_service-with-iam.html) Eine Übersicht über alle verfügbaren Sicherheitsfunktionen finden Sie unter. [Sicherheit in Amazon Keyspaces (für Apache Cassandra)](security.md) 

Das folgende Diagramm zeigt die Architektur von Amazon Keyspaces.

![\[Diagramm der Interaktion von Amazon Keyspaces mit der Client-Anwendung.\]](http://docs.aws.amazon.com/de_de/keyspaces/latest/devguide/images/keyspaces-hi-level.png)


Ein Client-Programm greift auf Amazon Keyspaces zu, indem es sich mit einem vordefinierten Endpunkt (Hostname und Portnummer) verbindet und CQL-Anweisungen ausgibt. Eine Liste der verfügbaren Endpunkte finden Sie unter. [Service-Endpunkte für Amazon Keyspaces](programmatic.endpoints.md)

## Cassandra-Datenmodell
<a name="how-it-works.data-model"></a>

Die Art und Weise, wie Sie Ihre Daten für Ihren Geschäftsszenario modellieren, ist entscheidend, um eine optimale Leistung von Amazon Keyspaces zu erzielen. Ein schlechtes Datenmodell kann die Leistung erheblich beeinträchtigen.

Obwohl CQL ähnlich aussieht wie SQL, sind die Backends von Cassandra und relationalen Datenbanken sehr unterschiedlich und müssen unterschiedlich angegangen werden. Im Folgenden sind einige der wichtigsten Aspekte aufgeführt, die es zu berücksichtigen gilt:

**Speicherung**  
Sie können Ihre Cassandra-Daten in Tabellen visualisieren, wobei jede Zeile einen Datensatz und jede Spalte ein Feld innerhalb dieses Datensatzes darstellt. 

**Tabellendesign: Zuerst abfragen**  
In CQL gibt es keine `JOIN` s. Daher sollten Sie beim Entwerfen Ihrer Tabellen die Form Ihrer Daten und die Art und Weise, wie Sie für Ihre geschäftlichen Anwendungsfälle darauf zugreifen müssen, berücksichtigen. Dies kann zu einer Deinormalisierung mit duplizierten Daten führen. Sie sollten jede Ihrer Tabellen speziell für ein bestimmtes Zugriffsmuster entwerfen.

**Partitionen**  
 Ihre Daten werden in Partitionen auf der Festplatte gespeichert. Die Anzahl der Partitionen, in denen Ihre Daten gespeichert sind, und wie sie auf die Partitionen verteilt sind, wird durch Ihren *Partitionsschlüssel* bestimmt. Wie Sie Ihren Partitionsschlüssel definieren, kann erhebliche Auswirkungen auf die Leistung Ihrer Abfragen haben. Bewährte Methoden finden Sie unter [So verwenden Sie Partitionsschlüssel effektiv in Amazon Keyspaces](bp-partition-key-design.md).

**Primärschlüssel**  
In Cassandra werden Daten als Schlüssel-Wert-Paar gespeichert. Jede Cassandra-Tabelle muss einen Primärschlüssel haben, der der eindeutige Schlüssel für jede Zeile in der Tabelle ist. Der Primärschlüssel besteht aus einem erforderlichen Partitionsschlüssel und optionalen Clusterspalten. Die Daten, aus denen der Primärschlüssel besteht, müssen für alle Datensätze in einer Tabelle eindeutig sein.  
+ **Partitionsschlüssel** — Der Partitionsschlüsselteil des Primärschlüssels ist erforderlich und bestimmt, in welcher Partition Ihres Clusters die Daten gespeichert werden. Der Partitionsschlüssel kann eine einzelne Spalte oder ein zusammengesetzter Wert sein, der aus zwei oder mehr Spalten besteht. Sie würden einen zusammengesetzten Partitionsschlüssel verwenden, wenn ein einspaltiger Partitionsschlüssel dazu führen würde, dass eine einzelne Partition oder einige wenige Partitionen die meisten Daten enthalten und somit die meisten I/O Festplattenoperationen ausführen. 
+ **Clusterspalte** — Die optionale Gruppierungsspalte Ihres Primärschlüssels bestimmt, wie die Daten innerhalb der einzelnen Partitionen gruppiert und sortiert werden. Wenn Sie eine Clusterspalte in Ihren Primärschlüssel aufnehmen, kann die Clustering-Spalte eine oder mehrere Spalten enthalten. Wenn die Gruppierungsspalte mehrere Spalten enthält, wird die Sortierreihenfolge von links nach rechts durch die Reihenfolge bestimmt, in der die Spalten in der Gruppierungsspalte aufgeführt sind.

Weitere Informationen zum NoSQL-Design und zu Amazon Keyspaces finden Sie unter. [Hauptunterschiede und Gestaltungsprinzipien des NoSQL-Designs](bp-general-nosql-design.md) Weitere Informationen zu Amazon Keyspaces und Datenmodellierung finden Sie unter[Bewährte Methoden zur Datenmodellierung: Empfehlungen für den Entwurf von Datenmodellen](data-modeling.md).

## Von einer Anwendung aus auf Amazon Keyspaces zugreifen
<a name="how-it-works.keyspaces-arch.accessing"></a>

Amazon Keyspaces (für Apache Cassandra) implementiert die Apache Cassandra Query Language (CQL) -API, sodass Sie CQL- und Cassandra-Treiber verwenden können, die Sie bereits verwenden. Das Aktualisieren Ihrer Anwendung ist so einfach wie das Aktualisieren Ihres Cassandra-Treibers oder Ihrer `cqlsh` Konfiguration, sodass sie auf den Amazon Keyspaces-Serviceendpunkt verweisen. Weitere Informationen zu den erforderlichen Anmeldeinformationen finden Sie unter [AWS Anmeldeinformationen für Amazon Keyspaces erstellen und konfigurieren](access.credentials.md). 

**Anmerkung**  
Um Ihnen den Einstieg zu erleichtern, finden Sie end-to-end Codebeispiele für die Verbindung zu Amazon Keyspaces mithilfe verschiedener Cassandra-Client-Treiber im Amazon Keyspaces-Codebeispiel-Repository unter. [GitHub](https://github.com/aws-samples/amazon-keyspaces-examples)

 Stellen Sie sich das folgende Python-Programm vor, das eine Verbindung zu einem Cassandra-Cluster herstellt und eine Tabelle abfragt.

```
from cassandra.cluster import Cluster
#TLS/SSL configuration goes here

ksp = 'MyKeyspace'
tbl = 'WeatherData'

cluster = Cluster(['NNN.NNN.NNN.NNN'], port=NNNN)
session = cluster.connect(ksp)

session.execute('USE ' + ksp)

rows = session.execute('SELECT * FROM ' +  tbl)
for row in rows:
    print(row)
```

Um dasselbe Programm für Amazon Keyspaces auszuführen, müssen Sie: 
+  **Fügen Sie den Cluster-Endpunkt und den Port** hinzu: Beispielsweise kann der Host durch einen Service-Endpunkt ersetzt werden, z. B. `cassandra.us-east-1.amazonaws.com` und die Portnummer durch:`9142`. 
+  ** TLS/SSL Konfiguration hinzufügen**: Weitere Informationen zum Hinzufügen der TLS/SSL Konfiguration für die Verbindung zu Amazon Keyspaces mithilfe eines Cassandra-Client-Python-Treibers finden Sie unter. [Verwenden eines Cassandra-Python-Client-Treibers für den programmgesteuerten Zugriff auf Amazon Keyspaces](using_python_driver.md) 

# Anwendungsfälle von Amazon Keyspaces
<a name="use-cases"></a>

Im Folgenden sind nur einige der Möglichkeiten aufgeführt, wie Sie Amazon Keyspaces verwenden können:
+  **Entwickeln Sie Anwendungen, die eine geringe Latenz erfordern** — Verarbeiten Sie Daten mit hoher Geschwindigkeit für Anwendungen, die single-digit-millisecond Latenz erfordern, z. B. für die Wartung von Industrieanlagen, die Handelsüberwachung, das Flottenmanagement und die Routenoptimierung. 
+  **Erstellen Sie Anwendungen mithilfe von Open-Source-Technologien** — Erstellen Sie Anwendungen AWS mithilfe von Open-Source-Cassandra APIs und Treibern, die für eine Vielzahl von Programmiersprachen verfügbar sind, wie Java, Python, Ruby, Microsoft.NET, Node.js, PHP, C\$1\$1, Perl und Go. Codebeispiele finden Sie unter [Bibliotheken und Tools von Amazon Keyspaces (für Apache Cassandra)](examples-tools.md).
+  **Verlagern Sie Ihre Cassandra-Workloads in die Cloud — Cassandra-Tabellen selbst zu** verwalten ist zeitaufwändig und teuer. Mit Amazon Keyspaces können Sie Cassandra-Tabellen einrichten, sichern und skalieren, AWS Cloud ohne die Infrastruktur verwalten zu müssen. Weitere Informationen finden Sie unter [Verwaltung serverloser Ressourcen in Amazon Keyspaces (für Apache Cassandra)](serverless_resource_management.md).

# Was ist Cassandra Query Language (CQL)?
<a name="what-is-cql"></a>

*Cassandra Query Language* (CQL) ist die Hauptsprache für die Kommunikation mit Apache Cassandra. Amazon Keyspaces (für Apache Cassandra) ist mit der CQL 3.x-API kompatibel (abwärtskompatibel mit Version 2.x). 

In CQL werden Daten in Tabellen, Spalten und Zeilen gespeichert. In diesem Sinne ähnelt CQL der Structured Query Language (SQL). Dies sind die wichtigsten Konzepte in CQL.
+ **CQL-Elemente** — Die grundlegenden Elemente von CQL sind Bezeichner, Konstanten, Begriffe und Datentypen. 
+ **Data Definition Language (DDL)** — DDL-Anweisungen werden zur Verwaltung von Datenstrukturen wie Schlüsselräumen und Tabellen verwendet, bei denen es sich um AWS Ressourcen in Amazon Keyspaces handelt. DDL-Anweisungen sind Operationen auf der Kontrollebene in. AWS
+ **Data Manipulation Language (DML)** — DML-Anweisungen werden verwendet, um Daten in Tabellen zu verwalten. DML-Anweisungen werden zum Auswählen, Einfügen, Aktualisieren und Löschen von Daten verwendet. Dies sind Operationen auf Datenebene in. AWS
+ **Integrierte Funktionen** — Amazon Keyspaces unterstützt eine Vielzahl von integrierten Skalarfunktionen, die Sie in CQL-Anweisungen verwenden können. 

Weitere Informationen zu CQL finden Sie unter. [CQL-Sprachreferenz für Amazon Keyspaces (für Apache Cassandra)](cql.md) Informationen zu funktionalen Unterschieden zu Apache Cassandra finden Sie unter. [Funktionale Unterschiede: Amazon Keyspaces im Vergleich zu Apache Cassandra](functional-differences.md)

Um CQL-Abfragen auszuführen, können Sie einen der folgenden Schritte ausführen:
+ Verwenden Sie den CQL-Editor in der. AWS-Managementkonsole
+ Verwenden Sie AWS CloudShell und die [Cqlsh-Erweiterung](programmatic.cqlsh.md#using_cqlsh).
+ Benutze einen Client. `cqlsh`
+ Verwenden Sie einen für Apache 2.0 lizenzierten Cassandra-Client-Treiber.

Zusätzlich zu CQL können Sie Data Definition Language (DDL) -Operationen in Amazon Keyspaces mit dem und dem AWS SDKs ausführen. AWS Command Line Interface

Weitere Informationen zur Verwendung dieser Methoden für den Zugriff auf Amazon Keyspaces finden Sie unter[Zugreifen auf Amazon Keyspaces (für Apache Cassandra)](accessing.md). 