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 CassandraAPIs, operasi, dan tipe data
- Pembuatan asinkron dan penghapusan ruang kunci dan tabel
- Autentikasi dan otorisasi
- Batch
- Konfigurasi cluster
- Koneksi
- INkata kunci
- FROZENkoleksi
- Transaksi ringan
- Penyeimbangan beban
- Paginasi
- Partisi
- Pernyataan yang disiapkan
- Hapus rentang
- Tabel sistem
- Stempel waktu
- Jenis yang ditentukan pengguna () UDTs
Apache CassandraAPIs, 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, lihatCassandraAPIs, operasi, fungsi, dan tipe data yang didukung.
Pembuatan asinkron dan penghapusan ruang kunci dan tabel
Amazon Keyspaces melakukan operasi bahasa definisi data (DDL), seperti membuat dan menghapus ruang kunci, tabel, dan tipe secara asinkron. Untuk mempelajari cara memantau status pembuatan sumber daya, lihat Periksa status pembuatan keyspace di Amazon Keyspaces danPeriksa status pembuatan tabel di Amazon Keyspaces. Untuk daftar DDL pernyataan dalam referensi CQL bahasa, lihatDDLpernyataan (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 () untuk dikonfigurasi. JVMs 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 CQL kueri per TCP koneksi 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 CQL kueri maksimum driver yang menggunakan pengaturan default adalah 27.000 CQL kueri 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 menggandakan throughput maksimum driver Anda menjadi 54.000 CQL kueri per detik.
Sebagai praktik terbaik, kami merekomendasikan mengonfigurasi driver untuk menggunakan 500 CQL kueri per detik per koneksi untuk memungkinkan overhead dan meningkatkan distribusi. Dalam skenario ini, perencanaan untuk 18.000 CQL kueri 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 VPC titik akhir, 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 VPC koneksi, lihatCara mengonfigurasi koneksi melalui VPC titik akhir 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 CQL kueri per batas TCP koneksi per detik. Untuk informasi selengkapnya, lihat Gunakan IN operator dengan SELECT pernyataan dalam kueri 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 8 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 (LWTs) 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 PAGE SIZE 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.
Dalam tabel dengan kolom statis, Apache Cassandra dan Amazon Keyspaces menetapkan nilai kolom statis partisi di awal setiap halaman dalam kueri multi-halaman. Ketika tabel memiliki baris data yang besar, sebagai akibat dari perilaku pagination Amazon Keyspaces, kemungkinan lebih tinggi bahwa hasil operasi pembacaan rentang dapat mengembalikan lebih banyak halaman untuk Amazon Keyspaces daripada untuk Apache Cassandra. Akibatnya, ada kemungkinan lebih tinggi di Amazon Keyspaces bahwa pembaruan bersamaan ke kolom statis dapat mengakibatkan nilai kolom statis berbeda di halaman yang berbeda dari kumpulan hasil baca rentang.
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 (DML), seperti membaca dan menulis data. Amazon Keyspaces saat ini tidak mendukung penggunaan pernyataan yang disiapkan untuk operasi bahasa definisi data (DDL), seperti membuat tabel dan ruang kunci. DDLoperasi 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 DELETE operasi dengan menggunakan WHERE klausa. 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.
Penghapusan rentang tidak terisolasi. Penghapusan baris individual terlihat oleh operasi lain saat penghapusan rentang sedang dalam proses.
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. Untuk informasi selengkapnya, lihat Ruang kunci sistem di Amazon Keyspaces.
Akses hanya-baca ke tabel sistem diperlukan, dan Anda dapat mengontrolnya dengan kebijakan IAM akses. 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 AWS SDK atau Cassandra Query Language (CQL) API panggilan 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 VPCtitik akhir Amazon, Anda akan melihat entri dalam tabel system.peers
untuk setiap titik akhir Amazon yang memiliki izin untuk dilihat VPC 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 opt-in.
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. Stempel waktu sisi klien di Amazon Keyspaces
Jenis yang ditentukan pengguna () UDTs
Operator ketidaksetaraan tidak didukung UDTs di Amazon Keyspaces.
Untuk mempelajari cara bekerja dengan UDTs di Amazon Keyspaces, lihat. Tipe yang ditentukan pengguna (UDTs) di Amazon Keyspaces
Untuk meninjau berapa banyak UDTs yang didukung per ruang kunci, tingkat penyarangan yang didukung, serta nilai dan kuota default lainnya yang terkaitUDTs, lihat. Kuota dan nilai default untuk tipe yang ditentukan pengguna () UDTs di Amazon Keyspaces