Part 14 — Cassandra Write Path
Apache Cassandra Series
- Part 1 — Introduction to Apache Cassandra
- Part 2 — The CAP Theorm
- Part 3 — Query First Approach
- Part 4 — Partitioning, Rings and Tokens
- Part 5 — Replication, Data Centers and Racks
- Part 6 — CQL — Keyspace and Table
- Part 7 — CQL — Consistancy, Inserts and Selects
- Part 8 — CQL — Timestamps, TTLs, Collections and Secondary Indexs
- Part 9 — CQL — UUIDs and Counters
- Part 10 — CQL — Materialized Views
- Part 11 — Peer To Peer Architecture
- Part 12 — Snitch
- Part 13 — Gossip Protocol
- Part 14 — Cassandra Write Path
- Part 15 — Cassandra Read Path
- Part 16 — Compaction
Cassandra Write Path
- Cassandra menyimpan data ke dua tempat yaitu Commit Log dan MemTable. Commit Log disimpan di disk dan bersifat semi-persistent. Ini berarti data tidak akan hilang ketika Cassandra restart. Namun, data yang disimpan tidak diurutkan. MemTable disimpan di memory dan bersifat non-persistent. Ini berarti data akan hilang ketika Cassandra restart. Namun, data yang disimpan diurutkan berdasarkan clustering column.
- Setelah data berhasil disimpan di kedua tempat tersebut, Cassandra akan mengirim pesan ke client bahwa transaksi telah berhasil.
- Jika data hilang dari MemTable, data akan dikembalikan dari Commit Log.
- Jika ukuran data di Commit Log dan MemTable mulai terlalu besar, maka Cassandra akan melakukan aksi flush. Aksi flush akan menyimpan seluruh data di MemTable ke disk sebagai SSTable yang bersifat persistent dan immutable.
Untuk mengoptimalkan performa penyimpanan data pada Hard Disk atau Spinning Disk, perlu dibedakan antara tempat penyimpanan Commit Log dan SS Table. Hal ini dilakukan agar bagian Head Hard Disk yang digunakan untuk menyimpan data pada SS Table dapat fokus pada kegiatan searching data, sementara bagian Hard Disk yang terletak pada bagian awal (HD di Commit Log) dapat fokus pada kegiatan Insert data yang berkelanjutan. Dengan cara ini, penggunaan Hard Disk dapat dioptimalkan sehingga meningkatkan performa penyimpanan data pada Cassandra.
Sedangkan data yang disimpan di SSD bisa digabungkan menjadi 1.
Dari SS Table yang banyak dapat di gabungkan menjadi 1 SS Table, proses ini disebut Compaction. Proses ini dapat meningkatkan proses searching.
🔔 Jika anda menyukai artikel ini, silahkan subscribe agar anda bisa mendapatkan notifikasi jika ada artikel baru atau anda bisa melihat artikel yang telah dipublikasikan disini. 🚀
📝 Jika ada pertanyaan atau saran, anda bisa menulisnya di kolom komentar atau mengirim pesan lewat Medium.
Thank you for your support! 🌟