Perbedaan fungsional: Amazon Keyspaces vs Apache Cassandra - 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.

Perbedaan fungsional: Amazon Keyspaces vs Apache Cassandra

Berikut ini adalah perbedaan fungsional antara Amazon Keyspaces dan Apache Cassandra.

Apache Cassandra API, operasi, dan tipe data

Amazon Keyspaces mendukung semua operasi bidang data Cassandra yang umum digunakan, seperti membuat ruang kunci dan tabel, membaca data, dan menulis data. Untuk melihat apa yang saat ini didukung, lihatAPI Cassandra yang didukung, operasi, fungsi, dan tipe data.

Pembuatan asinkron dan penghapusan ruang kunci dan tabel

Amazon Keyspaces melakukan operasi data definition language (DDL), seperti membuat dan menghapus keyspaces dan tabel, secara asinkron. Untuk mempelajari cara memantau status pembuatan sumber daya, lihat Membuat ruang kunci di Amazon Keyspaces danMembuat tabel di Amazon Keyspaces. Untuk daftar pernyataan DDL dalam referensi bahasa CQL, lihat. Pernyataan DDL (bahasa definisi data) di Amazon Keyspaces

Autentikasi dan otorisasi

Amazon Keyspaces (untuk Apache Cassandra) menggunakan AWS Identity and Access Management (IAM) untuk otentikasi dan otorisasi pengguna, dan mendukung kebijakan otorisasi yang setara dengan Apache Cassandra. Dengan demikian, Amazon Keyspaces tidak mendukung perintah konfigurasi keamanan Apache Cassandra.

Batch

Amazon Keyspaces mendukung perintah batch yang tidak tercatat dengan hingga 30 perintah dalam batch. Hanya DELETE perintah tanpa syaratINSERT,UPDATE, atau yang diizinkan dalam batch. Batch yang dicatat tidak didukung.

Konfigurasi cluster

Amazon Keyspaces tanpa server, jadi tidak ada cluster, host, atau mesin virtual Java (JVM) untuk dikonfigurasi. Pengaturan Cassandra untuk pemadatan, kompresi, caching, pengumpulan sampah, dan penyaringan mekar tidak berlaku untuk Amazon Keyspaces dan diabaikan jika ditentukan.

Koneksi

Anda dapat menggunakan driver Cassandra yang ada untuk berkomunikasi dengan Amazon Keyspaces, tetapi Anda perlu mengonfigurasi driver secara berbeda. Amazon Keyspaces mendukung hingga 3.000 kueri CQL per koneksi TCP per detik, tetapi tidak ada batasan jumlah koneksi yang dapat dibuat oleh driver.

Sebagian besar driver Cassandra open-source membuat kumpulan koneksi ke Cassandra dan memuat kueri keseimbangan melalui kumpulan koneksi tersebut. Amazon Keyspaces mengekspos 9 alamat IP peer ke driver, dan perilaku default sebagian besar driver adalah membuat koneksi tunggal ke setiap alamat IP peer. Oleh karena itu, throughput kueri CQL maksimum dari driver yang menggunakan pengaturan default adalah 27.000 kueri CQL per detik.

Untuk meningkatkan jumlah ini, kami sarankan untuk meningkatkan jumlah koneksi per alamat IP yang dipertahankan driver Anda di kumpulan koneksinya. Misalnya, menyetel koneksi maksimum per alamat IP ke 2 menggandakan throughput maksimum driver Anda menjadi 54.000 kueri CQL per detik.

Sebagai praktik terbaik, kami merekomendasikan untuk mengonfigurasi driver untuk menggunakan 500 kueri CQL per detik per koneksi untuk memungkinkan overhead dan meningkatkan distribusi. Dalam skenario ini, perencanaan untuk 18.000 kueri CQL per detik membutuhkan 36 koneksi. Mengkonfigurasi driver untuk 4 koneksi di 9 titik akhir menyediakan 36 koneksi yang melakukan 500 permintaan per detik. Untuk informasi selengkapnya tentang praktik terbaik untuk koneksi, lihatOptimalkan koneksi driver klien untuk lingkungan tanpa server.

Saat menghubungkan dengan titik akhir VPC, mungkin ada lebih sedikit titik akhir yang tersedia. Ini berarti Anda harus meningkatkan jumlah koneksi dalam konfigurasi driver. Untuk informasi selengkapnya tentang praktik terbaik untuk koneksi VPC, lihat. Cara mengonfigurasi koneksi melalui titik akhir VPC di Amazon Keyspaces

INkata kunci

Amazon Keyspaces mendukung IN kata kunci dalam pernyataan. SELECT INtidak didukung dengan UPDATE danDELETE. Saat menggunakan IN kata kunci dalam SELECT pernyataan, hasil kueri dikembalikan dalam urutan bagaimana kunci disajikan dalam SELECT pernyataan. Di Cassandra, hasilnya diurutkan secara leksikografis.

Saat menggunakan ORDER BY, pemesanan ulang penuh dengan pagination dinonaktifkan tidak didukung dan hasilnya diurutkan dalam halaman. Kueri irisan tidak didukung dengan IN kata kunci. TOKENStidak didukung dengan IN kata kunci. Amazon Keyspaces memproses kueri dengan IN kata kunci dengan membuat subkueri. Setiap subquery dihitung sebagai koneksi menuju 3.000 kueri CQL per koneksi TCP per batas detik. Untuk informasi selengkapnya, lihat Menggunakan IN operator dengan SELECT Pernyataan di Amazon Keyspaces.

Penyetelan throughput kueri CQL

Amazon Keyspaces mendukung hingga 3.000 kueri CQL per koneksi TCP per detik, tetapi tidak ada batasan jumlah koneksi yang dapat dibuat oleh driver.

Sebagian besar driver Cassandra open-source membuat kumpulan koneksi ke Cassandra dan memuat kueri keseimbangan melalui kumpulan koneksi tersebut. Amazon Keyspaces mengekspos 9 alamat IP peer ke driver, dan perilaku default sebagian besar driver adalah membuat koneksi tunggal ke setiap alamat IP peer. Oleh karena itu, throughput kueri CQL maksimum dari driver yang menggunakan pengaturan default adalah 27.000 kueri CQL per detik.

Untuk meningkatkan jumlah ini, kami sarankan untuk meningkatkan jumlah koneksi per alamat IP yang dipertahankan driver Anda di kumpulan koneksinya. Misalnya, mengatur koneksi maksimum per alamat IP ke 2 akan menggandakan throughput maksimum driver Anda menjadi 54.000 kueri CQL per detik.

Untuk informasi selengkapnya tentang praktik terbaik untuk koneksi, lihatOptimalkan koneksi driver klien untuk lingkungan tanpa server.

Saat menghubungkan dengan titik akhir VPC, lebih sedikit titik akhir yang tersedia. Ini berarti Anda harus meningkatkan jumlah koneksi dalam konfigurasi driver. Untuk informasi selengkapnya tentang praktik terbaik untuk koneksi titik akhir VPC, lihat. Cara mengonfigurasi koneksi melalui titik akhir VPC di Amazon Keyspaces

FROZENkoleksi

FROZENKata kunci di Cassandra membuat serial beberapa komponen dari tipe data koleksi menjadi satu nilai abadi yang diperlakukan seperti file. BLOB INSERTdan UPDATE pernyataan menimpa seluruh koleksi.

Amazon Keyspaces mendukung hingga lima tingkat bersarang untuk koleksi beku secara default. Untuk informasi selengkapnya, lihat Kuota layanan Amazon Keyspaces.

Amazon Keyspaces tidak mendukung perbandingan ketidaksetaraan yang menggunakan seluruh koleksi beku dalam kondisional atau pernyataan. UPDATE SELECT Perilaku untuk koleksi dan koleksi beku sama di Amazon Keyspaces.

Saat Anda menggunakan koleksi beku dengan stempel waktu sisi klien, jika stempel waktu operasi tulis sama dengan stempel waktu kolom yang ada yang tidak kedaluwarsa atau di-tombstoned, Amazon Keyspaces tidak melakukan perbandingan. Sebaliknya, ini memungkinkan server menentukan penulis terbaru, dan penulis terbaru menang.

Untuk informasi lebih lanjut tentang koleksi beku, lihatJenis koleksi.

Transaksi ringan

Amazon Keyspaces (untuk Apache Cassandra) sepenuhnya mendukung membandingkan dan mengatur fungsionalitas padaINSERT,, dan DELETE perintahUPDATE, yang dikenal sebagai transaksi ringan (LWT) di Apache Cassandra. Sebagai penawaran tanpa server, Amazon Keyspaces (untuk Apache Cassandra) memberikan kinerja yang konsisten pada skala apa pun, termasuk untuk transaksi ringan. Dengan Amazon Keyspaces, tidak ada penalti kinerja untuk menggunakan transaksi ringan.

Penyeimbangan beban

Entri system.peers tabel sesuai dengan penyeimbang beban Amazon Keyspaces. Untuk hasil terbaik, sebaiknya gunakan kebijakan penyeimbangan beban round robin dan menyetel jumlah koneksi per IP agar sesuai dengan kebutuhan aplikasi Anda.

Paginasi

Amazon Keyspaces mem-paginasi hasil berdasarkan jumlah baris yang dibaca untuk memproses permintaan, bukan jumlah baris yang dikembalikan dalam kumpulan hasil. Akibatnya, beberapa halaman mungkin berisi lebih sedikit baris daripada yang Anda tentukan dalam UKURAN HALAMAN untuk kueri yang difilter. Selain itu, Amazon Keyspaces melakukan paginasi hasil secara otomatis setelah membaca 1 MB data untuk memberikan kinerja pembacaan milidetik satu digit yang konsisten kepada pelanggan. Untuk informasi selengkapnya, lihat Hasil paginasi di Amazon Keyspaces.

Partisi

Partisi default di Amazon Keyspaces adalah Cassandra yang kompatibel. Murmur3Partitioner Selain itu, Anda memiliki pilihan untuk menggunakan Amazon Keyspaces DefaultPartitioner atau yang kompatibel dengan Cassandra. RandomPartitioner

Dengan Amazon Keyspaces, Anda dapat dengan aman mengubah partisi untuk akun Anda tanpa harus memuat ulang data Amazon Keyspaces Anda. Setelah perubahan konfigurasi selesai, yang memakan waktu sekitar 10 menit, klien akan melihat pengaturan partisi baru secara otomatis saat berikutnya mereka terhubung. Untuk informasi selengkapnya, lihat Bekerja dengan partisi di Amazon Keyspaces.

Pernyataan yang disiapkan

Amazon Keyspaces mendukung penggunaan pernyataan yang disiapkan untuk operasi bahasa manipulasi data (DHTML), seperti membaca dan menulis data. Amazon Keyspaces saat ini tidak mendukung penggunaan pernyataan siap untuk operasi bahasa definisi data (DDL), seperti membuat tabel dan ruang kunci. Operasi DDL harus dijalankan di luar pernyataan yang disiapkan.

Hapus rentang

Amazon Keyspaces mendukung penghapusan baris dalam jangkauan. Rentang adalah serangkaian baris yang berdekatan di dalam partisi. Anda menentukan rentang dalam operasi DELETE menggunakan klausa WHERE. Anda dapat menentukan rentang menjadi seluruh partisi.

Selanjutnya, Anda dapat menentukan rentang untuk menjadi bagian dari baris yang berdekatan dalam partisi dengan menggunakan operator relasional (misalnya, '>', '<'), atau dengan menyertakan kunci partisi dan menghilangkan satu atau lebih kolom pengelompokan. Dengan Amazon Keyspaces, Anda dapat menghapus hingga 1.000 baris dalam rentang dalam satu operasi. Selain itu, penghapusan rentang bersifat atomik, tetapi tidak terisolasi.

Tabel sistem

Amazon Keyspaces mengisi tabel sistem yang diperlukan oleh driver Cassandra open-source Apache 2.0. Tabel sistem yang terlihat oleh klien berisi informasi yang unik untuk pengguna yang diautentikasi. Tabel sistem sepenuhnya dikendalikan oleh Amazon Keyspaces dan hanya-baca.

Akses hanya-baca ke tabel sistem diperlukan, dan Anda dapat mengontrolnya dengan kebijakan akses IAM. Untuk informasi selengkapnya, lihat Mengelola akses menggunakan kebijakan. Anda harus menentukan kebijakan kontrol akses berbasis tag untuk tabel sistem secara berbeda tergantung pada apakah Anda menggunakan panggilan API AWS SDK atau Cassandra Query Language (CQL) melalui driver Cassandra dan alat pengembang. Untuk mempelajari lebih lanjut tentang kontrol akses berbasis tag untuk tabel sistem, lihat Akses sumber daya Amazon Keyspaces berdasarkan tag.

Jika Anda mengakses Amazon Keyspaces menggunakan titik akhir Amazon VPC, Anda akan melihat entri dalam tabel untuk system.peers setiap titik akhir Amazon VPC yang memiliki izin untuk dilihat Amazon Keyspaces. Akibatnya, driver Cassandra Anda mungkin mengeluarkan pesan peringatan tentang node kontrol itu sendiri di tabelsystem.peers. Anda dapat dengan aman mengabaikan peringatan ini.

Stempel waktu

Di Amazon Keyspaces, stempel waktu tingkat sel yang kompatibel dengan stempel waktu default di Apache Cassandra adalah fitur keikutsertaan.

USING TIMESTAMPKlausa dan WRITETIME fungsi hanya tersedia ketika stempel waktu sisi klien dihidupkan untuk sebuah tabel. Untuk mempelajari selengkapnya tentang stempel waktu sisi klien di Amazon Keyspaces, lihat. Bekerja dengan stempel waktu sisi klien di Amazon Keyspaces