Beralih ke Memcached dan Redis, inilah Netflix's Hollow

Setelah dua tahun penggunaan dalaman, Netflix menawarkan projek sumber terbuka baru sebagai pilihan hebat untuk menyimpan set data yang sentiasa berubah.

Hollow adalah pustaka Java dan set alat yang bertujuan untuk menyimpan data set memori hingga beberapa gigabait. Netflix mengatakan tujuan Hollow adalah tiga kali ganda: Ini bertujuan untuk lebih cekap menyimpan data; ia dapat menyediakan alat untuk menghasilkan API secara automatik untuk akses yang mudah ke data; dan secara automatik dapat menganalisis corak penggunaan data untuk diselaraskan dengan lebih berkesan dengan hujung belakang.

Mari simpan ini antara kita

Sebilangan besar senario untuk menyimpan data pada sistem yang tidak disimpan - sistem "pengguna" dan bukan sistem "pengeluar" - melibatkan penggunaan produk seperti Memcached atau Redis. Hollow mengingatkan kedua-dua produk kerana menggunakan storan dalam memori untuk akses pantas, tetapi ia bukan penyimpanan data sebenar seperti Redis.

Tidak seperti banyak sistem cache data lain, Hollow dimaksudkan untuk digabungkan dengan kumpulan data tertentu — skema yang diberikan dengan bidang tertentu, biasanya aliran JSON. Ini memerlukan beberapa kerja persiapan, walaupun Hollow menyediakan beberapa alat untuk mengautomasikan sebahagian prosesnya. Sebab untuk melakukannya: Hollow dapat menyimpan data dalam ingatan sebagai potongan tetap, panjang yang ditaip kuat yang tidak dikenakan pengumpulan sampah Java. Akibatnya, mereka lebih cepat diakses daripada objek Java konvensional.

Keuntungan lain yang dinyatakan dengan Hollow adalah bahawa ia menyediakan banyak perkakas untuk bekerja dengan data. Setelah anda menentukan skema data, Hollow secara automatik dapat menghasilkan Java API yang dapat membekalkan data pelengkap automatik ke IDE. Data juga dapat dilacak ketika berubah, sehingga pengembang memiliki akses ke snapshot titik-dalam-waktu, perbezaan antara snapshot, dan rollback data.

Lebih pantas di sekeliling

Banyak kelebihan yang dituntut oleh Netflix untuk Hollow melibatkan kecekapan operasi asas — iaitu, masa permulaan yang lebih pantas untuk pelayan dan kurang memori. Tetapi alat pemodelan dan pengurusan data Hollow juga dimaksudkan untuk membantu pembangunan, bukan hanya mempercepat pengeluaran.

"Bayangkan dapat dengan cepat menggeser seluruh kumpulan data pengeluaran anda - semasa atau dari mana-mana masa lalu - ke stesen kerja pembangunan tempatan, muatkannya, kemudian buat semula senario pengeluaran tertentu," kata Netflix dalam catatan blog pengantarnya.

Satu peringatan adalah bahawa Hollow tidak sesuai untuk kumpulan data dari semua ukuran - "KB, MB, dan GB, tetapi bukan TB," adalah bagaimana syarikat memasukkannya ke dalam dokumentasinya. Yang mengatakan, Netflix juga menyiratkan bahawa Hollow mengurangkan jumlah penyebaran yang diperlukan oleh set data cache. "Dengan kerangka kerja yang tepat, dan sedikit pemodelan data, ambang [memori] itu mungkin jauh lebih tinggi daripada yang anda fikirkan," tulis Netflix.