Beberapa hari yang lalu, Apache Software Foundation mengumumkan perilisan versi baru Apache Cassandra 4.0, yang merupakan sistem manajemen basis data terdistribusi yang termasuk dalam kelas sistem NoSQL dan dirancang untuk menciptakan penyimpanan data dalam jumlah besar yang sangat skalabel dan andal yang disimpan dalam bentuk array asosiatif.
Apache Cassandra 4.0 versi baru ini dianggap sebagai versi stabil sehingga dapat digunakan untuk penerapan produksi dan telah diuji di infrastruktur Amazon, Apple, DataStax, Instacluster, iland, dan Netflix dengan cluster lebih dari 1000 node.
Fitur baru utama dari Apache Cassandra 4.0
Versi baru Apache Cassandra 4.0 ini mencakup hampir 1,000 perbaikan bug, peningkatan, dan fitur baru, di antaranya yang menonjol adalah:
- Peningkatan kecepatan dan skalabilitas: mentransmisikan data hingga 5x lebih cepat selama operasi skala dan kinerja hingga 25% lebih cepat pada baca dan tulis, memberikan arsitektur yang lebih elastis, terutama dalam penerapan cloud dan Kubernetes.
- Konsistensi yang ditingkatkan: menjaga replika data tetap sinkron untuk mengoptimalkan perbaikan inkremental untuk pengoperasian dan konsistensi yang lebih cepat dan efisien di antara replika data.
- Peningkatan keamanan dan observabilitas: jejak audit melacak akses dan aktivitas pengguna dengan dampak minimal pada kinerja beban kerja. Pengambilan dan pemutaran baru memungkinkan analisis beban kerja produksi untuk membantu memastikan keamanan dan kepatuhan terhadap peraturan dengan SOX, PCI, GDPR, atau persyaratan lainnya.
- Pengaturan konfigurasi baru: metrik sistem yang terbuka dan pengaturan konfigurasi memberikan fleksibilitas bagi operator untuk memastikan mereka memiliki akses mudah ke data yang mengoptimalkan penerapan.
- Latensi yang diminimalkan: waktu jeda pengumpul sampah dikurangi menjadi beberapa milidetik tanpa penurunan latensi seiring bertambahnya ukuran tumpukan.
- Kompresi yang lebih baik: Peningkatan efisiensi kompresi mengurangi tekanan yang tidak perlu pada ruang disk dan meningkatkan kinerja membaca.
Selain itu, juga ditekankan bahwa dukungan pencatatan audit telah ditambahkan untuk melacak operasi otentikasi pengguna dan semua kueri CQL yang dieksekusi, serta kemampuan untuk menyimpan log biner lengkap dari permintaan, sehingga semua lalu lintas permintaan dan respons dapat disimpan.
Hal lain yang perlu diperhatikan adalah opsi eksperimental untuk membandingkan semua pohon Merkle (Merkle Tree). Misalnya, mengaktifkan opsi ini pada klaster dengan 3 node, di mana dua replika identik dan satu sudah usang, akan menghasilkan pembaruan replika yang usang hanya dengan menggunakan operasi penyalinan dari replika saat ini.
Demikian juga, menambahkan dukungan untuk tabel virtual yang tidak mencerminkan data yang disimpan di SSTables, tetapi informasi yang ditampilkan melalui API (metrik kinerja, informasi konfigurasi, konten cache, informasi tentang klien yang terhubung, dll.).
Efisiensi penyimpanan terkompresi telah ditingkatkan untuk mengurangi konsumsi ruang disk dan meningkatkan kinerja baca.
Selain itu, perlu dicatat bahwa dukungan eksperimental untuk replikasi sementara dan Cheap Quorums telah ditambahkan. Replika sementara tidak menyimpan semua data dan menggunakan pemulihan inkremental untuk menjaga konsistensi dengan replika penuh. Cheap Quorums adalah optimasi penulisan yang tidak menulis ke replika sementara sampai sejumlah replika penuh yang memadai tersedia.
Adapun data yang terkait dengan ruang kunci sistem (sistem. *), Ini sekarang berada di direktori pertama secara default alih-alih didistribusikan di antara semua direktori data, memungkinkan node untuk tetap beroperasi jika terjadi kegagalan salah satu disk tambahan.
Perubahan penting lainnya meliputi:
- Menambahkan dukungan eksperimental untuk Java 11.
- Menambahkan dukungan untuk operasi aritmatika dalam kueri CQL.
- Perintah "nodetool cfstats" menambahkan dukungan untuk menyortir berdasarkan metrik tertentu dan membatasi jumlah baris yang ditampilkan.
- Pengaturan disediakan untuk membatasi koneksi pengguna ke pusat data tertentu saja.
- Menambahkan kemampuan untuk membatasi intensitas (batas frekuensi) operasi untuk membuat dan menghapus snapshot.
- Dukungan Python 3 diimplementasikan di cqlsh dan cqlshlib (dukungan Python 2.7 masih dipertahankan).
Terakhir, jika Anda tertarik untuk mempelajari lebih lanjut tentang versi baru ini, Anda dapat menemukan detailnya di tautan berikut.