

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Apa itu Amazon Keyspaces (untuk Apache Cassandra)?
<a name="what-is-keyspaces"></a>

 Amazon Keyspaces (untuk Apache Cassandra) adalah layanan basis data yang kompatibel dengan Apache Cassandra yang dapat diskalakan, sangat tersedia, dan dikelola. Dengan Amazon Keyspaces, Anda tidak perlu menyediakan, menambal, atau mengelola server, dan Anda tidak perlu menginstal, memelihara, atau mengoperasikan perangkat lunak. 

Amazon Keyspaces tanpa server, jadi Anda hanya membayar sumber daya yang Anda gunakan, dan layanan secara otomatis menskalakan tabel ke atas dan ke bawah sebagai respons terhadap lalu lintas aplikasi. Anda dapat membangun aplikasi yang melayani ribuan permintaan per detik dengan throughput dan penyimpanan yang hampir tidak terbatas. 

**catatan**  
 Apache Cassandra adalah sumber data open-source, kolom lebar yang dirancang untuk menangani data dalam jumlah besar. Untuk informasi lebih lanjut, lihat [Apache Cassandra](http://cassandra.apache.org/).

Amazon Keyspaces memudahkan migrasi, menjalankan, dan menskalakan beban kerja Cassandra di file. AWS Cloud Hanya dengan beberapa klik pada Konsol AWS Manajemen atau beberapa baris kode, Anda dapat membuat ruang kunci dan tabel di Amazon Keyspaces, tanpa menggunakan infrastruktur atau menginstal perangkat lunak apa pun.

Dengan Amazon Keyspaces, Anda dapat menjalankan beban kerja Cassandra yang ada AWS menggunakan kode aplikasi Cassandra dan alat pengembang yang sama yang Anda gunakan saat ini. 

Dengan [kalkulator harga untuk Amazon Keyspaces (untuk Apache Cassandra)](https://aws-samples.github.io/sample-pricing-calculator-for-keyspaces/#cassandra) yang tersedia di Github, Anda dapat memperkirakan biaya bulanan Anda untuk Amazon Keyspaces berdasarkan beban kerja Apache Cassandra yang ada. Masukkan metrik dari keluaran status nodetool Cassandra Anda dan konfigurasi tanpa server yang dimaksudkan untuk Amazon Keyspaces untuk membandingkan biaya langsung antara kedua solusi. Perhatikan bahwa kalkulator ini hanya berfokus pada biaya operasional Amazon Keyspaces dibandingkan dengan penerapan Cassandra yang ada. Ini tidak termasuk faktor biaya kepemilikan total (TCO) seperti pemeliharaan infrastruktur, overhead operasional, atau biaya dukungan untuk Cassandra.

Untuk daftar titik akhir yang tersedia Wilayah AWS dan titik akhir, lihat [Titik akhir layanan untuk Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/programmatic.endpoints.html).

Kami menyarankan Anda memulai dengan membaca bagian berikut:

**Topics**
+ [Amazon Keyspaces: Cara kerjanya](how-it-works.md)
+ [Kasus penggunaan Amazon Keyspaces](use-cases.md)
+ [Apa itu Cassandra Query Language (CQL)?](what-is-cql.md)

# Amazon Keyspaces: Cara kerjanya
<a name="how-it-works"></a>

Amazon Keyspaces menghapus overhead administratif untuk mengelola Cassandra. Untuk memahami alasannya, akan sangat membantu untuk memulai dengan arsitektur Cassandra dan kemudian membandingkannya dengan Amazon Keyspaces.

**Topics**
+ [Arsitektur tingkat tinggi: Apache Cassandra vs Amazon Keyspaces](#how-it-works.cassandra-arch)
+ [Model data Cassandra](#how-it-works.data-model)
+ [Mengakses Amazon Keyspaces dari aplikasi](#how-it-works.keyspaces-arch.accessing)

## Arsitektur tingkat tinggi: Apache Cassandra vs Amazon Keyspaces
<a name="how-it-works.cassandra-arch"></a>

 Apache Cassandra tradisional digunakan dalam sebuah cluster yang terdiri dari satu atau lebih node. Anda bertanggung jawab untuk mengelola setiap node dan menambahkan serta menghapus node sebagai skala cluster Anda. 

Program klien mengakses Cassandra dengan menghubungkan ke salah satu node dan mengeluarkan pernyataan Cassandra Query Language (CQL). *CQL* mirip dengan SQL, bahasa populer yang digunakan dalam database relasional. Meskipun Cassandra bukan database relasional, CQL menyediakan antarmuka yang akrab untuk query dan memanipulasi data di Cassandra.

Diagram berikut menunjukkan cluster Apache Cassandra sederhana, yang terdiri dari empat node.

![\[Diagram cluster Apache Cassandra yang berisi 4 node dan berinteraksi dengan aplikasi klien.\]](http://docs.aws.amazon.com/id_id/keyspaces/latest/devguide/images/keyspaces_cassandra-hi-level.png)


Penyebaran Cassandra produksi mungkin terdiri dari ratusan node, berjalan pada ratusan komputer fisik di satu atau lebih pusat data fisik. Hal ini dapat menyebabkan beban operasional bagi pengembang aplikasi yang perlu menyediakan, menambal, dan mengelola server selain menginstal, memelihara, dan mengoperasikan perangkat lunak. 

Dengan Amazon Keyspaces (untuk Apache Cassandra), Anda tidak perlu menyediakan, menambal, atau mengelola server, sehingga Anda dapat fokus membangun aplikasi yang lebih baik. Amazon Keyspaces menawarkan dua mode kapasitas throughput untuk membaca dan menulis: sesuai permintaan dan disediakan. Anda dapat memilih mode kapasitas throughput tabel Anda untuk mengoptimalkan harga pembacaan dan penulisan berdasarkan prediktabilitas dan variabilitas beban kerja Anda. 

Dengan mode on-demand, Anda hanya membayar untuk membaca dan menulis bahwa aplikasi Anda benar-benar bekerja. Anda tidak perlu menentukan kapasitas throughput tabel Anda terlebih dahulu. Amazon Keyspaces mengakomodasi lalu lintas aplikasi Anda hampir secara instan saat naik atau turun, menjadikannya pilihan yang baik untuk aplikasi dengan lalu lintas yang tidak terduga.

Mode kapasitas yang disediakan membantu Anda mengoptimalkan harga throughput jika Anda memiliki lalu lintas aplikasi yang dapat diprediksi dan dapat memperkirakan persyaratan kapasitas tabel Anda sebelumnya. Dengan mode kapasitas yang disediakan, Anda menentukan jumlah pembacaan dan penulisan per detik yang Anda harapkan untuk dilakukan aplikasi Anda. [Anda dapat menambah dan mengurangi kapasitas yang disediakan untuk tabel Anda secara otomatis dengan mengaktifkan penskalaan otomatis.](https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html)

Anda dapat mengubah mode kapasitas tabel Anda sekali per hari saat Anda mempelajari lebih lanjut tentang pola lalu lintas beban kerja Anda, atau jika Anda berharap memiliki ledakan lalu lintas yang besar, seperti dari peristiwa besar yang Anda antisipasi akan mendorong banyak lalu lintas tabel. Untuk informasi selengkapnya tentang penyediaan kapasitas baca dan tulis, lihat. [Konfigurasikan mode read/write kapasitas di Amazon Keyspaces](ReadWriteCapacityMode.md) 

Amazon Keyspaces (untuk Apache Cassandra) menyimpan tiga salinan data Anda di beberapa [Availability Zone untuk daya tahan dan ketersediaan tinggi](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/). Selain itu, Anda mendapat manfaat dari pusat data dan arsitektur jaringan yang dibangun untuk memenuhi persyaratan organisasi yang paling sensitif terhadap keamanan. Enkripsi saat istirahat diaktifkan secara otomatis saat Anda membuat tabel Amazon Keyspaces baru dan semua koneksi klien memerlukan Transport Layer Security (TLS). Fitur AWS keamanan tambahan termasuk [pemantauan [AWS Identity and Access Management](https://docs.aws.amazon.com/keyspaces/latest/devguide/security_iam_service-with-iam.html)](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html), dan titik akhir [virtual private cloud (VPC)](https://docs.aws.amazon.com/keyspaces/latest/devguide/vpc-endpoints.html). Untuk ikhtisar semua fitur keamanan yang tersedia, lihat[Keamanan di Amazon Keyspaces (untuk Apache Cassandra)](security.md). 

Diagram berikut menunjukkan arsitektur Amazon Keyspaces.

![\[Diagram Amazon Keyspaces berinteraksi dengan aplikasi klien.\]](http://docs.aws.amazon.com/id_id/keyspaces/latest/devguide/images/keyspaces-hi-level.png)


Program klien mengakses Amazon Keyspaces dengan menghubungkan ke titik akhir yang telah ditentukan (nama host dan nomor port) dan mengeluarkan pernyataan CQL. Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

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

Cara Anda memodelkan data untuk kasus bisnis Anda sangat penting untuk mencapai kinerja optimal dari Amazon Keyspaces. Model data yang buruk dapat menurunkan kinerja secara signifikan.

Meskipun CQL terlihat mirip dengan SQL, backend Cassandra dan database relasional sangat berbeda dan harus didekati secara berbeda. Berikut ini adalah beberapa masalah yang lebih signifikan untuk dipertimbangkan:

**Penyimpanan**  
Anda dapat memvisualisasikan data Cassandra Anda dalam tabel, dengan setiap baris mewakili catatan dan setiap kolom bidang dalam catatan itu. 

**Desain tabel: Kueri terlebih dahulu**  
Tidak ada `JOIN` s di CQL. Oleh karena itu, Anda harus mendesain tabel Anda dengan bentuk data Anda dan bagaimana Anda perlu mengaksesnya untuk kasus penggunaan bisnis Anda. Ini dapat mengakibatkan de-normalisasi dengan data duplikat. Anda harus mendesain setiap tabel Anda secara khusus untuk pola akses tertentu.

**Partisi**  
 Data Anda disimpan dalam partisi pada disk. Jumlah partisi data Anda disimpan dan bagaimana itu didistribusikan di seluruh partisi ditentukan oleh kunci *partisi* Anda. Bagaimana Anda mendefinisikan kunci partisi Anda dapat memiliki dampak yang signifikan pada kinerja kueri Anda. Untuk praktik terbaik, lihat [Cara menggunakan kunci partisi secara efektif di Amazon Keyspaces](bp-partition-key-design.md).

**Kunci utama**  
Di Cassandra, data disimpan sebagai pasangan kunci-nilai. Setiap tabel Cassandra harus memiliki kunci utama, yang merupakan kunci unik untuk setiap baris dalam tabel. Kunci utama adalah gabungan dari kunci partisi yang diperlukan dan kolom pengelompokan opsional. Data yang terdiri dari kunci utama harus unik di semua catatan dalam tabel.  
+ **Kunci partisi** — Bagian kunci partisi dari kunci utama diperlukan dan menentukan partisi mana dari cluster Anda tempat data disimpan. Kunci partisi dapat berupa kolom tunggal, atau dapat berupa nilai majemuk yang terdiri dari dua atau lebih kolom. Anda akan menggunakan kunci partisi majemuk jika kunci partisi kolom tunggal akan menghasilkan partisi tunggal atau sangat sedikit partisi yang memiliki sebagian besar data dan dengan demikian menanggung sebagian besar I/O operasi disk. 
+ **Kolom pengelompokan** - Bagian kolom pengelompokan opsional dari kunci utama Anda menentukan bagaimana data dikelompokkan dan diurutkan dalam setiap partisi. Jika Anda menyertakan kolom pengelompokan di kunci utama Anda, kolom pengelompokan dapat memiliki satu atau beberapa kolom. Jika ada beberapa kolom di kolom pengelompokan, urutan penyortiran ditentukan oleh urutan kolom yang tercantum di kolom pengelompokan, dari kiri ke kanan.

Untuk informasi selengkapnya tentang desain NoSQL dan Amazon Keyspaces, lihat. [Perbedaan utama dan prinsip desain desain NoSQL](bp-general-nosql-design.md) Untuk informasi selengkapnya tentang Amazon Keyspaces dan pemodelan data, lihat. [Praktik terbaik pemodelan data: rekomendasi untuk merancang model data](data-modeling.md)

## Mengakses Amazon Keyspaces dari aplikasi
<a name="how-it-works.keyspaces-arch.accessing"></a>

Amazon Keyspaces (untuk Apache Cassandra) mengimplementasikan API Apache Cassandra Query Language (CQL), sehingga Anda dapat menggunakan driver CQL dan Cassandra yang sudah Anda gunakan. Memperbarui aplikasi Anda semudah memperbarui driver atau `cqlsh` konfigurasi Cassandra Anda untuk menunjuk ke titik akhir layanan Amazon Keyspaces. Untuk informasi selengkapnya tentang kredensil yang diperlukan, lihat. [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md) 

**catatan**  
Untuk membantu Anda memulai, Anda dapat menemukan contoh end-to-end kode untuk menghubungkan ke Amazon Keyspaces dengan menggunakan berbagai driver klien Cassandra di repositori contoh kode Amazon Keyspaces. [GitHub](https://github.com/aws-samples/amazon-keyspaces-examples)

 Pertimbangkan program Python berikut, yang menghubungkan ke cluster Cassandra dan menanyakan tabel.

```
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)
```

Untuk menjalankan program yang sama terhadap Amazon Keyspaces, Anda perlu: 
+  **Tambahkan titik akhir dan port cluster**: Misalnya, host dapat diganti dengan titik akhir layanan, seperti `cassandra.us-east-1.amazonaws.com` dan nomor port dengan:. `9142` 
+  **Tambahkan TLS/SSL konfigurasi**: Untuk informasi selengkapnya tentang menambahkan TLS/SSL konfigurasi untuk terhubung ke Amazon Keyspaces dengan menggunakan driver Python klien Cassandra, lihat. [Menggunakan driver klien Cassandra Python untuk mengakses Amazon Keyspaces secara terprogram](using_python_driver.md) 

# Kasus penggunaan Amazon Keyspaces
<a name="use-cases"></a>

Berikut ini adalah beberapa cara di mana Anda dapat menggunakan Amazon Keyspaces:
+  **Buat aplikasi yang membutuhkan latensi rendah** — Memproses data dengan kecepatan tinggi untuk aplikasi yang memerlukan single-digit-millisecond latensi, seperti pemeliharaan peralatan industri, pemantauan perdagangan, manajemen armada, dan optimalisasi rute. 
+  **Membangun aplikasi menggunakan teknologi open-source** — Bangun aplikasi AWS menggunakan Cassandra open-source APIs dan driver yang tersedia untuk berbagai bahasa pemrograman, seperti Java, Python, Ruby, Microsoft .NET, Node.js, PHP, C \$1\$1, Perl, dan Go. Untuk contoh kode, lihat [Amazon Keyspaces (untuk Apache Cassandra) perpustakaan dan alat](examples-tools.md).
+  **Pindahkan beban kerja Cassandra Anda ke cloud** — Mengelola tabel Cassandra sendiri memakan waktu dan mahal. Dengan Amazon Keyspaces, Anda dapat mengatur, mengamankan, dan menskalakan tabel Cassandra tanpa mengelola infrastruktur. AWS Cloud Untuk informasi selengkapnya, lihat [Mengelola sumber daya tanpa server di Amazon Keyspaces (untuk Apache Cassandra)](serverless_resource_management.md).

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

*Cassandra Query Language* (CQL) adalah bahasa utama untuk berkomunikasi dengan Apache Cassandra. Amazon Keyspaces (untuk Apache Cassandra) kompatibel dengan CQL 3.x API (kompatibel dengan versi 2.x). 

Di CQL, data disimpan dalam tabel, kolom, dan baris. Dalam pengertian ini CQL mirip dengan Structured Query Language (SQL). Ini adalah konsep kunci dalam CQL.
+ Elemen **CQL — Elemen** dasar CQL adalah pengidentifikasi, konstanta, istilah, dan tipe data. 
+ **Data Definition Language (DDL)** — Pernyataan DDL digunakan untuk mengelola struktur data seperti keyspaces dan tabel, yang merupakan sumber daya AWS di Amazon Keyspaces. Pernyataan DDL adalah operasi pesawat kontrol di AWS.
+ **Data Manipulation Language (DML)** — Pernyataan DMLdigunakan untuk mengelola data dalam tabel. Pernyataan DMLdigunakan untuk memilih, menyisipkan, memperbarui, dan menghapus data. Ini adalah operasi pesawat data di AWS.
+ **Fungsi bawaan** - Amazon Keyspaces mendukung berbagai fungsi skalar bawaan yang dapat Anda gunakan dalam pernyataan CQL. 

Untuk informasi lebih lanjut tentang CQL, lihat. [Referensi bahasa CQL untuk Amazon Keyspaces (untuk Apache Cassandra)](cql.md) Untuk perbedaan fungsional dengan Apache Cassandra, lihat. [Perbedaan fungsional: Amazon Keyspaces vs Apache Cassandra](functional-differences.md)

Untuk menjalankan kueri CQL, Anda dapat melakukan salah satu hal berikut:
+ Gunakan editor CQL di. Konsol Manajemen AWS
+ Gunakan AWS CloudShell dan ekspansi [cqlsh-.](programmatic.cqlsh.md#using_cqlsh)
+ Gunakan `cqlsh` klien.
+ Gunakan driver klien Cassandra berlisensi Apache 2.0.

Selain CQL, Anda dapat melakukan operasi Data Definition Language (DDL) di Amazon Keyspaces menggunakan dan. AWS SDKs AWS Command Line Interface

Untuk informasi selengkapnya tentang menggunakan metode ini untuk mengakses Amazon Keyspaces, lihat. [Mengakses Amazon Keyspaces (untuk Apache Cassandra)](accessing.md) 