Di era data besar, bisnis menghasilkan lebih banyak informasi daripada sebelumnya. Namun, menyimpan data saja tidak cukup – data harus disimpan secara efisien, andal, dan hemat biaya. Di sinilah erasure coding (EC) berperan. Digunakan oleh sistem penyimpanan terdistribusi seperti Ceph, erasure coding menawarkan cara yang lebih cerdas untuk melindungi data sekaligus mengoptimalkan penggunaan penyimpanan. Artikel ini menguraikan tentang apa itu erasure coding, bagaimana cara kerjanya, dan kapan menggunakannya sebagai pengganti replikasi tradisional.
Replikasi vs Pengodean Penghapusan: Apa Perbedaannya?
Secara default, banyak sistem penyimpanan, termasuk Ceph, menggunakan replikasi untuk melindungi data. Replikasi sangat mudah: setiap bagian data diduplikasi di beberapa disk (biasanya 3 salinan). Metode ini cepat dan dapat diandalkan, terutama untuk file kecil atau lingkungan berkinerja tinggi-tetapi metode inimenghabiskan banyak penyimpanan.
Pengkodean penghapusan, di sisi lain, mengambil pendekatan yang lebih efisien. Alih-alih menyalin seluruh kumpulan data, ia memecahnya menjadi potongan-potongan yang lebih kecil-kombinasipotongan data dan potongan paritas (digunakan untuk pemulihan). Potongan-potongan ini tersebar di berbagai disk. Jika beberapa disk gagal, data yang hilang dapat direkonstruksi menggunakan informasi paritas.
Tabel di bawah ini membandingkan replikasi dan pengkodean penghapusan dalam hal efisiensi penyimpanan, metode pemulihan, dan kasus penggunaan yang ideal:

Cara Kerja Pengkodean Penghapusan di Ceph
Pengkodean penghapusan di Ceph dapat dikonfigurasi melalui profil yang mendefinisikan bagaimana data dipecah dan dilindungi. Setiap profil EC ditentukan oleh dua parameter:
– k – Jumlah potongan data
– m – Jumlah potongan pengkodean (paritas)
Sistem ini menciptakan total k + m potongan, yang didistribusikan ke seluruh cluster penyimpanan. Ceph dapat mentoleransi hingga m kegagalan tanpa kehilangan data.
Tabel di bawah ini menguraikan profil pengkodean penghapusan yang umum digunakan dan membandingkannya dalam hal toleransi kesalahan dan overhead penyimpanan:

Contoh: Profil 3+2 membagi data menjadi 3 bagian dan menambahkan 2 bagian paritas. Setiap 3 dari 5 potongan dapat memulihkan data asli, bahkan jika 2 potongan hilang.
Memilih Profil EC yang Tepat
Pilihannya tergantung pada lingkungan dan tujuan Anda:
– K lebih rendah, m lebih tinggi (mis., 3+2): Lebih banyak redundansi, ideal untuk cluster yang lebih kecil atau di mana ketahanan merupakan prioritas utama.
– K lebih tinggi, m lebih rendah (mis., 10+4): Efisiensi penyimpanan yang lebih baik, bagus untuk penerapan skala besar yang memprioritaskan penghematan biaya.
Pengkodean penghapusan menawarkan beberapa keuntungan yang membuatnya menjadi pilihan yang kuat untuk sistem penyimpanan modern, termasuk:
– Penyimpanan yang efisien: Biaya overhead yang lebih rendah daripada replikasi-simpan lebih banyak data untuk ruang disk yang sama.
– Toleransi kesalahan yang tinggi: Menangani beberapa kegagalan disk tanpa kehilangan data.
– Skalabilitas: Cocok untuk cluster besar dan penerapan skala cloud.
– Redundansi khusus: Menyetel rasio k+m untuk memenuhi kebutuhan daya tahan dan anggaran Anda.
Ketika Pengodean Penghapusan Masuk Akal
Pengodean penghapusan tidak ideal untuk setiap skenario. Tetapi ketika diterapkan secara strategis, ia unggul dalam banyak kasus. Berikut ini adalah skenario di mana erasure coding unggul, bersama dengan alasan mengapa ia sangat cocok untuk setiap skenario:

Skenario yang Paling Cocok untuk Replikasi
Pengkodean penghapusan membutuhkan lebih banyak CPU dan I/O selama penulisan dan pembangunan ulang sehingga mungkin bukan pilihan terbaik untuk:
– Basis data atau VM (misalnya, Ceph RBD)
– Sistem berkas interaktif dengan berkas-berkas kecil (misalnya, CephFS)
– Beban kerja I/O dengan latensi rendah dan throughput tinggi
Dalam hal ini, replikasi menawarkan performa yang lebih baik meskipun biaya penyimpanannya lebih tinggi.
Pengkodean penghapusan adalah strategi yang efektif untuk organisasi yang bertujuan untuk mengoptimalkan efisiensi, daya tahan, dan skalabilitas penyimpanan. Dalam Ceph, strategi ini mengurangi biaya penyimpanan dengan memecah data menjadi potongan-potongan dengan paritas, sehingga memungkinkan pemulihan dari kegagalan tanpa replikasi data secara penuh. Konfigurasi seperti 6+3 dapat mentoleransi hingga tiga kegagalan, sehingga cocok untuk penyimpanan dingin dan data objek berskala besar .
Meskipun menawarkan penghematan biaya dan ketahanan yang signifikan, pengkodean penghapusan memperkenalkan pertukaran kinerja, terutama untuk penulisan yang kecil atau sering, dan kurang ideal untuk aplikasi yang peka terhadap latensi seperti basis data.


