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.
Topik
- Apache Cassandra API, operasi, dan tipe data
- Pembuatan asinkron dan penghapusan ruang kunci dan tabel
- Autentikasi dan otorisasi
- Batch
- Konfigurasi cluster
- Koneksi
- INkata kunci
- Penyetelan throughput kueri CQL
- FROZENkoleksi
- Transaksi ringan
- Penyeimbangan beban
- Paginasi
- Partisi
- Pernyataan yang disiapkan
- Hapus rentang
- Tabel sistem
- Stempel waktu
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
IN
kata kunci
Amazon Keyspaces mendukung IN
kata kunci dalam pernyataan. SELECT
IN
tidak 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. TOKENS
tidak 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
FROZEN
koleksi
FROZEN
Kata kunci di Cassandra membuat serial beberapa komponen dari tipe data koleksi menjadi satu nilai abadi yang diperlakukan seperti file. BLOB
INSERT
dan 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 TIMESTAMP
Klausa 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