Selama ini orang-orang mengetahui Facebook merupakan layanan web dengan jumlah pengguna terbesar didunia. Teknimo pernah mempublikasikan artikel yang menyatakan jumlah pengguna facebook saat ini lebih dari 1 milyar. Banyaknya pengguna facebook yang aktif update status, upload foto, video, catatan dan file, bayangkan berapa besar data yang harus ditampung oleh Facebook. Saat ini, Facebook mengimplementasikan teknologi MapReduce dari Apache Hadoop untuk manajemen dan pemrosesan data di data center. Sejak tahun 2011 seiring dengan meningkatnya jumlah data, MapReduce sudah mencapai batasnya. Facebook membutuhkan teknologi yang lebih cepat untuk memproses data.
Berapa Besar Data di Facebook?
Bisa dikatakan data yang ada benar-benar banyak, sedikit perusahaan di dunia yang memiliki data sebesar kapasitas facebook. Salah satu koleksi data terbesar facebook adalah lebih dari 100 Petabyte atau 1.048.576.000 Gigabyte. Buat membayangkan seberapa besar data itu, teknimo mau bertanya, berapa besar kapasitas harddisk di komputer teknimos? Apakah 1 Terabyte? Kalo itu jawabannya iya, kapasitas itu hanyalah sepersejuta dari ukuran koleksi data facebook terbesar. Dan itu hanyalah sebagian dari data facebook.
Pada bulan Agustus 2012 lalu, facebook melaporkan ada 2,5 milyar konten dan lebih dari 500 Terabyte data diproses tiap harinya. Ada 2,7 milyar tombol like yang ditekan, 300 juta foto di-upload setiap harinya. Dan setiap setengah jam, sistem di facebook memindai 105 Terabyte data.
Bisa dikatakan facebook merupakan kumpulan data terbesar dan termahal di bumi. Namun bagaimana facebook menyimpan dan membaca datanya? Tentunya tidak dengan cara menggunakan basis data biasa. Tidak dengan basis data yang biasa digunakan di Website seperti teknimo atau bahkan kaskus.
Hadoop Sudah Tidak Cukup lagi
Salah satu teknologi yang digunakan oleh Facebook adalah Apache Hadoop. Merupakan software open-source yang dibuat untuk menangani set data yang sangat besar. Hadoop sanggup menangani data besar yang terletak mulai dari di satu server hingga ribuan mesin server, yang terbagi dalam cluster (sekumpulan server). Teknologi seperti hadoop biasa digunakan di layanan web yang memiliki data besar, dimana teknologi database relasional biasa tidak bisa menanganinya. Perusahaan seperti Google, Yahoo, dan Facebook menggunakan Hadoop untuk mengatur data-datanya.
Corona
Karena itu, facebook membuat sistem baru yang dinamakan Corona. Penjadwalan pengolahan data diperbaiki di Corona membuat Hadoop makin efisien, lebih tinggi skalabilitasnya dan tingkat ketersediaan yang meningkat.
Corona dibuat karena Hadoop tidak dirancang untuk sistem sebesar facebook, tidak banyak perusahaan atau website yang mengelola data sebanyak facebook. Corona merupakan sistem baru untuk penjadwalan pengolahan data di Hadoop. Yang membuat penggunaan sumber daya tiap cluster lebih efisien. Berkat sistem baru ini, performa facebook menjadi lebih baik.
Corona bukanlah sistem pertama yang dibuat facebook, sebelumnya facebook pernah membuat Cassandra, HipHop, Hive dan aplikasi lain yang dibuat berdasarkan masalah yang ada di sistem Facebook. Sistem-sistem tersebut juga banyak yang di-open source-kan, dan beberapa dimasukkan dalam proyek Apache, misalnya seperti Cassandra. Tidak hanya membuat, facebook juga berkontribusi untuk proyek-proyek opensource yang facebook gunakan. Misalnya seperti Apache Hadoop, yang menjadi tulang punggung sistem Facebook juga turut dikembangkan oleh engineer dari facebook.
Ada ribuan engineer yang bekerja untuk membuat Facebook lebih cepat dan mampu menyesuaikan pertumbuhan penggunanya. Membuat sistem yang skalabilitasnya tinggi seperti Facebook bukan pekerjaan mudah. Pada layanan lain saat penggunanya makin banyak, maka solusinya adalah menambahkan server. Namun, tidak demikian dengan facebook, semua data saling terhubung. Jika sistem sekarang tidak lagi cukup menangani data, solusinya tidak semudah menambahkan server. Dibutuhkan sistem khusus seperti Corona dan Hadoop agar aplikasi raksasa ini bekerja dengan baik.
0 comments:
Posting Komentar