Mendukung Apache Cassandra membaca dan menulis tingkat konsistensi dan biaya terkait - Amazon Keyspaces (untuk Apache Cassandra)

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

Mendukung Apache Cassandra membaca dan menulis tingkat konsistensi dan biaya terkait

Topik di bagian ini menjelaskan tingkat konsistensi Apache Cassandra mana yang didukung untuk operasi baca dan tulis di Amazon Keyspaces (untuk Apache Cassandra).

Tulis tingkat konsistensi

Amazon Keyspaces mereplikasi semua operasi penulisan tiga kali di beberapa Availability Zone untuk daya tahan dan ketersediaan tinggi. Tulisan disimpan dengan tahan lama sebelum diakui menggunakan tingkat LOCAL_QUORUM konsistensi. Untuk setiap penulisan 1 KB, Anda ditagih 1 unit kapasitas tulis (WCU) untuk tabel menggunakan mode kapasitas yang disediakan atau 1 unit permintaan tulis (WRU) untuk tabel menggunakan mode sesuai permintaan.

Anda dapat menggunakan cqlsh untuk mengatur konsistensi untuk semua kueri dalam sesi saat ini untuk LOCAL_QUORUM menggunakan kode berikut.

CONSISTENCY LOCAL_QUORUM;

Untuk mengkonfigurasi tingkat konsistensi secara terprogram, Anda dapat mengatur konsistensi dengan driver klien Cassandra yang sesuai. Misalnya, driver Java versi 4.x memungkinkan Anda untuk mengatur tingkat konsistensi dalam app config file seperti yang ditunjukkan di bawah ini.

basic.request.consistency = LOCAL_QUORUM

Jika Anda menggunakan driver Java Cassandra versi 3.x, Anda dapat menentukan tingkat konsistensi untuk sesi dengan menambahkan .withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM) seperti yang ditunjukkan pada contoh kode berikut.

Session session = Cluster.builder() .addContactPoint(endPoint) .withPort(portNumber) .withAuthProvider(new SigV4AuthProvider("us-east-2")) .withSSL() .withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM) .build() .connect();

Untuk mengonfigurasi tingkat konsistensi untuk operasi penulisan tertentu, Anda dapat menentukan konsistensi saat memanggil QueryBuilder.insertInto dengan setConsistencyLevel argumen saat Anda menggunakan driver Java.

Baca tingkat konsistensi

Amazon Keyspaces mendukung tiga tingkat konsistensi baca:ONE,LOCAL_ONE, dan. LOCAL_QUORUM Selama LOCAL_QUORUM membaca, Amazon Keyspaces mengembalikan respons yang mencerminkan pembaruan terbaru dari semua operasi penulisan yang berhasil sebelumnya. Menggunakan tingkat konsistensi ONE atau LOCAL_ONE dapat meningkatkan kinerja dan ketersediaan permintaan baca Anda, tetapi respons mungkin tidak mencerminkan hasil penulisan yang baru saja selesai.

Untuk setiap 4 KB membaca menggunakan ONE atau LOCAL_ONE konsistensi, Anda ditagih 0,5 unit kapasitas baca (RCU) untuk tabel menggunakan mode kapasitas yang disediakan atau 0,5 unit permintaan baca (RRU) untuk tabel menggunakan mode sesuai permintaan. Untuk setiap pembacaan 4 KB menggunakan LOCAL_QUORUM konsistensi, Anda ditagih 1 unit kapasitas baca (RCU) untuk tabel menggunakan mode kapasitas yang disediakan atau 1 unit permintaan baca (RRU) untuk tabel menggunakan mode sesuai permintaan.

Penagihan berdasarkan konsistensi baca dan mode throughput kapasitas baca per tabel untuk setiap 4 KB pembacaan
Tingkat konsistensi Disediakan Sesuai permintaan
ONE 0,5 RCU 0,5 RRU
LOCAL_ONE 0,5 RCU 0,5 RRU
LOCAL_QUORUM 1 RCU 1 RRU

Untuk menentukan konsistensi yang berbeda untuk operasi baca, panggil QueryBuilder.select dengan setConsistencyLevel argumen saat Anda menggunakan driver Java.

Tingkat konsistensi yang tidak didukung

Tingkat konsistensi berikut tidak didukung oleh Amazon Keyspaces dan akan menghasilkan pengecualian.

Tingkat konsistensi yang tidak didukung
Apache Cassandra Amazon Keyspaces
EACH_QUORUM Tidak didukung
QUORUM Tidak didukung
ALL Tidak didukung
TWO Tidak didukung
THREE Tidak didukung
ANY Tidak didukung
SERIAL Tidak didukung
LOCAL_SERIAL Tidak didukung