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.

Seperti yang sudah disinggung diawal, Hadoop tidak cukup lagi untuk Facebook.  Alasannya dijelaskan secara detail di catatan facebook engineering. Namun secara singkat, salah satu komponen Hadoop yakni JobTracker, yang bertanggung jawab untuk   memanajemen cluster dan penjadwalan query data tidak sanggup lagi untuk menangani jumlah cluster dan query aplikasi Facebook yang sudah  makin banyak.

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.

Sumber gambar : Facebook & Techcrunch