Film besar, data besar: Netflix menggunakan NoSQL di cloud

Netflix adalah Kahuna besar dari bisnis media Web, dengan 33 juta pelanggan di lebih dari 40 negara. Seiring dengan berkembangnya layanan streaming "tonton sekarang" Netflix, perusahaan harus memikirkan kembali data dan strategi penyimpanannya untuk mengatasi beban kerja yang membengkak yang dikelola di awan. Saat ini, perusahaan hampir selesai dalam migrasi dari Oracle ke database NoSQL Cassandra, meningkatkan ketersediaan dan pada dasarnya menghilangkan waktu henti yang ditimbulkan oleh perubahan skema database.

Netflix meluncurkan layanan streaming pada tahun 2007, menggunakan database Oracle sebagai back end. "Kami memiliki satu pusat data, yang berarti kami mengalami satu titik kegagalan," jelas Adrian Cockcroft, arsitek cloud di Netflix. "Kami mendekati batas lalu lintas dan kapasitas. Sekarang orang dapat menonton program streaming Netflix dari ponsel mereka, dari perangkat Wii, kotak Roku, dan banyak lainnya, permintaan akan ketersediaan meningkat setiap saat. Kami memiliki lebih banyak pelanggan setiap kuartal, lebih banyak lagi pelanggan menggunakan streaming, dan mereka menggunakan streaming dengan kecepatan yang lebih tinggi. "

[Juga di: Mengapa Netflix menggunakan Python di atas Java | Database mana yang harus saya gunakan? | Unduh Menyelam Mendalam Big Data Analytics untuk gambaran umum praktis dan komprehensif dari bidang yang sedang berkembang pesat ini. ]

Data telah berkembang secepat basis pelanggan, Cockcroft mengatakan: Jumlah permintaan API pada Januari 2011 adalah 37 kali lebih tinggi daripada permintaan pada Januari 2010. Perusahaan tahu bahwa pemadaman atau streaming berkualitas buruk dapat mengusir pelanggan. "Kami tahu kami harus keluar dari pusat data, jadi kami dapat terus berlari dan terus berkembang," kata Cockcroft.

Pada 2010, Netflix mulai memindahkan datanya ke Amazon Web Services. Langkah selanjutnya adalah mengganti database Oracle-nya dengan Apache Cassandra, database NoSQL open source yang dikenal dengan skalabilitas dan keandalan tingkat perusahaan. "Bagi kami, masalah dengan database SQL pusat adalah bahwa semuanya ada di satu tempat ii yang hanya nyaman sampai gagal," jelas Cockcroft. "Dan karena database ini mahal, Anda cenderung meletakkan semuanya di sana. Kemudian semuanya gagal sekaligus."

Masalah lainnya adalah bahwa perubahan skema memerlukan waktu henti sistem. "Setiap dua minggu, kami memiliki setidaknya 10 menit waktu henti untuk dimasukkan ke dalam skema baru," jelasnya. "Batasan database SQL memengaruhi ketersediaan dan skalabilitas kami."