Mohon tunggu...
W Jaya
W Jaya Mohon Tunggu... Insinyur - Pemerhati Big Data

http://www.teknologi-bigdata.com/

Selanjutnya

Tutup

Nature

Bagaimana Facebook Mencari Mutual Friends Kita?

27 Januari 2015   23:43 Diperbarui: 17 Juni 2015   12:16 214
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Nature. Sumber ilustrasi: Unsplash

Facebook Mutual Friends

Facebook telah dikenal sebagai salah satu perusahaanweb serviceyang sukses mengambil hati lebih dari satu miliar pengguna Internet di dunia. Guna tetap dapat memberikan layanan yang optimal kepada tiap usernya, Facebook telah menerapkan sejumlah teknologiBig Dataseperti Apache Hadoop (HDFS+MapReduce) danApache HBase( yang dikenal sebagai database Big Data ) untuk memproses aliran data dari para usernya tersebut. Dikatakan bahwa Facebook telah dibanjiri oleh sekitar 1,1 miliar pengguna aktif per-bulannya pada Maret 2013. Dalam artikel ini kita akan membahas bagaimana mengaplikasikan MapReduce untuk mencariMutual Friendsdari network pertemanan dalam Facebook.

Bagi mereka yang sudah mengenalMapReduce, pasti sudah akrab dengan program Wordcount, sebuah contoh program aplikasi MapReduce, yang boleh dianggap sebagai "Hello World!"-nya MapReduce.Aplikasi Wordcount, sesuai dengan namanya, berfungsi untuk menghitung kemunculan tiap kata dalam satu atau sekumpulan text file. Memahami aplikasi Wordcount adalah langkah pertama untuk mengerti cara kerja MapReduce.

Seperti telah dinyatakan diatas, kali ini kita akan membahas sebuah contohuse caseMapReduce dalam dunia nyata, yaitu: Mencari jumlahMutual Friendsdari network pertemanan dalamFacebook dengan menggunakan MapReduce. Bagi para pengguna Facebook, pastinya sudah sangat familiar dengan istilahMutual Friendsini. Lalu, bagaimana Facebookdapatmenghitung dan meng-updatejumlahMutual Friendsdari tiap usernya yang jumlahnya sudah melebihi satu miliar dan masih terus bertambahitu?

Facebook memiliki daftar pertemanan (list of friends), dan perlu dicatat bahwafriendsatau pertemanan dalam Facebook bersifat dua arah : jika aku adalah temanmu maka kamu adalah temanku juga. Facebookjuga memiliki server penyimpanan data yang sangat besar dan melayani ratusan juta permintaan akses setiap harinya. Berkaitan dengan hal ini, Facebook telah memutuskan untuk melakukan komputasi pendahuluan/pre-computation( jika memungkinkan ) untuk mempersiapkanjawaban / responsesterhadap permintaan akses yang jumlahnya ratusan juta tersebut. Hal ini diharapkan dapat memberikan respon yang lebih cepat terhadap suatu permintaan daripadamelakukankomputasisetiap kalipermintaan akses itu datang. Salah satu permintaan penghitungan yang sangat umum adalahMutual Friends.Sebagai contoh, saat saya melihat profile Facebook milik Henny, saya dapat mengetahui berapa jumlahMutual Friendsantara saya dan Henny :"Kamu dan Henny memiliki 54 teman yang sama". Kemudian saya juga akan dapat mengetahui siapa saja yang termasuk dalam 54 orang tersebut. Jumlah teman yang sama atauMutual Friendsini tentu saja tidak setiap saat berubah, jadi akan sangat mubazir jika Facebook harus selalu menghitung kembali setiap kali saya melihat profile-nya Henny.

Dalam kasus ini, kita akan menggunakan MapReduceuntuk menghitung jumlah teman yang sama atauMutual Friendsdari setiap pengguna Facebook sekali sehari dan menyimpan hasilnya dalam bentukKey Value Store( Apache HBase ). Dengan demikian, setiap kali ada seorang pengguna yang melihat profile pengguna yang lain, maka jumlah teman yang sama atauMutual Friendsdari kedua orang ini dapat langsung diketahui daridatabaseKey Value Storetanpa menghitungnya lagi.

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
Mohon tunggu...

Lihat Konten Nature Selengkapnya
Lihat Nature Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun