SlideShare a Scribd company logo
Cassandra Facebook Database
Bustomi Rahrjo
D3 Teknik Informatika FMIPA UNS
Jln. Ir. Sutami 36 A, Surakarta, 57126 INDONESIA
Email, bustomiraharjo@gmail.com
Intisari— Cassandra adalah sistem penyimpanan terdistribusi
untuk mengelola data terstruktur yang dirancang untuk skala
yang sangat besar di banyak server, tanpa satu titik kegagalan .
Pada skala besar, kehandalan merupakan tantangan utama.
Matinya pelayanan(server) dapat memberikan dampak negatif
yang sangat besar. Oleh karena itu Cassandra dirancang untuk
berjalan di atas infrastruktur dengan ratusan node (mungkin
tersebar di seluruh pusat data yang berbeda ). Pada skala ini ,
komponen kecil dan besar akan selalu gagal, cara Cassandra
menangani kegagalan ini adalah dengan mendorong keandalan
dan skalabilitas dari sistem perangkat lunak yang bergantung
pada layanan ini. Cassandra telah mencapai beberapa tujuan skalabilitas , kinerja tinggi, ketersediaan dan penerapan . Dalam
banyak hal Cassandra menyerupai database dari segi desain dan
impementasi. Cassandra tidak mendukung model data relasional
secara penuh, melainkan menyediakan klien dengan model data
sederhana yang mendukung kontrol dinamis atas tata letak data
dan format. Cassandra digunakan pada Facebook untuk
pencarian inbox.
Keywords— cassandra, database, dan facebook.

I. PENDAHULUAN
Tidak dapat dipungkiri bahwa database merupakan media
penyimpanan data yang paling banyak digunakan oleh
aplikasi-aplikasi yang ada saat ini. Hal ini menimbulkan
kecenderungan bahwa untuk menyimpan data harus di
database. Memang, data harus disimpan di database
sehingga jika suatu saat data tersebut diperlukan, maka
diambil lagi. Namun, apakah bentuk database yang digunakan
harus seperti relational database yang sering digunakan
aplikasi pada umumnya. Selama bertahun-tahun, semenjak
tahun 1990-an aplikasi bergantung pada relational database
untuk menyimpan datanya. Tercatat ada beberapa RDBMS
(Relational Database Management System) yang merajai
dunia relational
database, yakni
MySQL,
Oracle,
PostgreSQL dan Microsoft SQL Server.
Semua RDBMS tersebut sudah terkenal akan
ketangguhannya dalam menangani penyimpanan data
berskala besar. MySQL tercatat sebagai RDBMS yang
paling banyak digunakan untuk penyimpanan data dalam
aplikasi berbasis web. Banyak websitewebsite di dunia dengan
jumlah pengakses mencapai jutaan yang menggunakan
MySQL, seperti Facebook.
Namun, seiring meningkatnya jumlah pengakses internet,
maka situs-situs tersebut lama-lama akan melambat
juga kecepatannya. Dan penyebab dari melambatanya
kecepatan akses tersebut, tidak lain karena tingginya akses
ke database sehingga RDBMS kewalahan untuk melayani
request data.

Beruntunglah pada tahun 2009 muncul trend baru
penyimpanan data, NoSQL. NoSQL ini merupakan
kepanjangan dari Not Only SQL. Sesuai kepanjangannya
NoSQL
tidak menggunakan
sintaks
SQL
untuk
memyimpan data. Sebenarnya NoSQL ini dikembangkan
pertama kali pada tahun 1998 oleh Carlo Strozzi. Lalu,
pada tahun 2009, Eric Evans 2 memperkenalkan kembali
teknologi NoSQL. NoSQL ini jauh berbeda dengan
relational database. Penyimpanan data dalam NoSQL tidak
memerlukan skema tabel yang tetap seperti relational
database.
II. TINJAUAN PUSTAKA
A. Facebook
Facebook merupakan jejaring sosial tersukses untuk saat ini.
Jejaring sosial yang dibangun oleh Mark Zuckerberg ini telah
menempatkan Mark sebagai 35 Orang Terkaya (Forbes, 2012)
dan Person of The Year (Times, 2010). Pengguna facebook
sendiri saat ini sudah hampir mencapai 1 miliar pengguna
aktif. Pada bulan Juni 2012, menurut Statista.com pengguna
facebook sendiri telah mencapai angka 955 juta
(Tribunnews.com ,2012).
Facebook memiliki konsep sebagai media jejaring sosial
dimana Pengguna dapat membuat profil diri mereka sendiri
yang dilengkapi foto/video, daftar ketertarikan pribadi,
informasi kontak, dan informasi pribadi lain (tanggal lahir,
tempat tinggal,pendidikan, pekerjaan, hobi, dan bisa
mendeskripsikan tentang diri sendiri). Para pengguna juga
bisa menambah kenalan atau yang biasa kita sebut dengan
teman (fitur friends). Trend penggunaan facebook sebagai
media jejaring sosial tidak jauh-jauh dari mengekspresikan
semua hal yang kita alami, dan membagikannya dengan
pengguna lain (yang disebut friends) melaui fitur update status
dan diketik di dalam kolom yang bertuliskan “what’s on your
mind” yang nantinya akan tampil pada home/timeline.
Facebook juga dilengkapi fitur pesan pribadi (fitur message)
atau umum (disebut dengan wall to wall) dan fitur obrolan
(chating). Mereka juga dapat membuat dan bergabung dengan
grup ketertarikan dan “halaman kesukaan” (dulu disebut
“halaman penggemar” hingga 19 April 2010).
B. NoSQL
NoSQL hanyalah penyebutan untuk database yang tidak
relasional. Jika relational database menggunakan SQL,
maka NoSQL menggunakan bermacam-macam cara untuk
penyimpanan datanya. NoSQL memiliki empat metode, yaitu:
Table-oriented, contoh: Google dengan Big Table,
Facebook dengan Cassandra
Graph-oriented
Document-oriented database, contoh: MongoDB
dan CouchDB.
Key-value store, contoh: Memcache dan Redis [5].
Metode NoSQL yang pertama adalah table-oriented.
Namun, metode ini hanya dikembangkan dan digunakan
oleh pembuatnya sendiri, contohnya Google dengan Big
Table dan Facebook dengan Cassandra. Performa dari
NoSQL jenis tableoriented ini tidak perlu diragukan lagi.
Hasilnya dapat dilihat dari begitu cepatnya waktu pencarian
pada Google, dan Facebook tetap cepat meskipun diakses
jutaan orang.
Metode NoSQL selanjutnya adalah graph-oriented, yaitu
jenis database NoSQL yang menggunakan struktur graph
dengan node, edge dan properties untuk menyimpan datanya.
Dibandingkan relational database, graph database seringkali
lebih cepat untuk associative data sets dan memetakan data
lebih pada struktur aplikasi berorientasi objek. Graph
database ini sangat cocok untuk graph-like query seperti
mencari shortest path antara dua node dalam graph.
Metode NoSQL yang ketiga adalah Document-oriented
database. Jenis NoSQL ini merupakan database yang
berbasiskan dokumen. Tidak ada tabel, field dan record,
yang ada hanyalah koleksi dan dokumen. Koleksi dapat
disamakan dengan tabel dan 3 dokumen disamakan dengan
field. Berbeda dengan database relasional, pada document
oriented database, dokumen dapat memiliki field yang
berbeda dengan dokumen lain walaupun berada dalam satu
koleksi. Hal ini tidak dapat dilakukan dengan database
relasional dimana sebuah record tidak mungkin memiliki
field yang berbeda dengan record yang berada dalam satu
tabel.
Yang terakhir adalah key-value store. Hampir sama
seperti document-oriented
database,
sama-sama
menggunakan sintaks NoSQL, yang berbeda adalah media
penyimpanannya. Dalam key-value store, data tidak langsung
disimpan dalam disk seperti database pada umumnya. Data
disimpan dalam memori komputer dan sesekali data dalam
memori ditulis ke disk. Penyimpanan data dalam memori
menyebabkan proses query akan lebih cepat, karena tidak
perlu lagi mengambil data dari disk. Hal ini pula yang
membuat key-value
store lebih
unggul dibandingkan
database relasional. Pada aplikasi web yang memiliki
intensitas transaksi data yang tinggi, biasanya akan
menggunakan key-value store untuk penyimpanan datanya
disamping menggunakan database relasional, contohnya
web LiveJournal, Wikipedia, Twitter, Youtube, dan
Wordpress
yang menggunakan Memcached. Kesamaan
lainnya, data yang tersimpan dalam key-value store tidak
harus memiliki field yang sama. Hal ini dikarenakan database
jenis ini menggunakan key yang berisi value untuk
penyimpanan datanya. Isi dari value ini bisa berupa string,
list atau pun tree. Bentuk struktur data list dan tree ini

memungkinkan bagi kita untuk memasukkan data yang
tidak linier dimana suatu record dalam list dapat memiliki
list lagi di dalamnya.
Pada kesempatan kali ini penulis hanya akan membahas
satu metode yaitu metodeTable-Oriented yang di kembangkan
untuk Facebook yaitu Cassandra.
III. PEMBAHASAN
Apache Cassandra adalah sistem manajemen open source
database terdistribusi yang dirancang untuk menangani data
yang sangat bersar di beberapa server, menyediakan
ketersediaan tinggi tanpa single point of failure . Cassandra
menawarkan dukungan yang kuat untuk cluster mencakup
beberapa pusat data ,dengan asynchronous replikasi bertuan
memungkinkan operasi latency rendah untuk semua klien .
Cassandra juga menempatkan nilai tinggi pada kinerja .
University of Toronto peneliti mempelajari sistem NoSQL
menyimpulkan bahwa " Dalam hal skalabilitas , ada
pemenang yang jelas di seluruh percobaan kami . Cassandra
mencapai throughput tertinggi untuk jumlah maksimum node
dalam semua percobaan . "
Model data Cassandra adalah penyimpanan dengan baris
partisi dengan sangat konsiste. Baris tersebut akan disusun
dalam tabel. Komponen pertama dari primary key tabel adalah
partition key, dalam sebuah partisi , baris dikelompokkan oleh
kolom yang tersisa dari kunci, kolom lain dapat diindeks
secara terpisah dari primary key .
Tabel dapat diciptakan, dihapus, dan diubah saat runtime
tanpa menghalangi update dan query.
Cassandra tidak join table atau subquery , kecuali untuk
analisis bets via Hadoop . Sebaliknya , Cassandra menekankan
denormalisasi melalui fitur seperti Collection.
A. Data Model
Setiap baris diidentifikasi oleh kunci unik. Kuncinya adalah
string dan tidak ada batasan pada ukuran .
Sebuah contoh dari Cassandra memiliki satu meja yang
terdiri dari satu atau lebih keluarga kolom seperti yang
didefinisikan oleh pengguna.
Jumlah keluarga kolom dan nama masing-masing di atas
harus diperbaiki pada saat cluster dimulai . Tidak ada batasan
jumlah keluarga kolom namun diharapkan bahwa akan ada
beberapa ini .
Setiap keluarga kolom dapat berisi salah satu dari dua
struktur : supercolumns atau kolom . Kedua hal ini dibuat
secara dinamis dan tidak ada batasan pada jumlah ini yang
dapat disimpan dalam sebuah keluarga kolom .
Kolom merupakan konstruksi yang memiliki nama , nilai
dan cap waktu yang ditentukan pengguna yang terkait dengan
mereka . Jumlah kolom yang dapat terkandung dalam sebuah
keluarga kolom sangat besar . Kolom bisa jumlah variabel per
tombol . Misalnya K1 kunci bisa memiliki 1.024 kolom /
super kolom sementara kunci K2 bisa memiliki 64 kolom /
super kolom .
" Supercolumns " adalah konstruksi yang memiliki nama ,
dan jumlah tak terbatas kolom assosciated dengan mereka .
Jumlah " Supercolumns " terkait dengan keluarga kolom bisa
menjadi tak terbatas dan dari sejumlah variabel per tombol .
Mereka menunjukkan karakteristik yang sama seperti kolom .
B. Distribusi , Replikasi dan Fault Toleransi
Data didistribusikan di seluruh node dalam cluster
menggunakan Hashing Konsisten berbasis dan Order
Melestarikan fungsi Hash . Kami menggunakan Order
Melestarikan Hash sehingga kita bisa melakukan berbagai
scan atas data untuk analisis di beberapa titik kemudian .
Keanggotaan Cluster dipertahankan melalui algoritma
keanggotaan gaya Gossip . Kegagalan node dalam cluster
dipantau menggunakan Kegagalan Detector Akrual Style .
Ketersediaan tinggi dicapai dengan menggunakan replikasi
dan kami secara aktif replikasi data di seluruh pusat data .
Karena konsistensi akhirnya adalah mantra dari sistem
membaca mengeksekusi pada replika terdekat dan data
diperbaiki di latar belakang untuk meningkatkan throughput
membaca .
Sistem menunjukkan sifat skalabilitas tambahan yang dapat
dicapai semudah menjatuhkan node dan memiliki mereka
secara otomatis dinyalakan dengan data.

Penyebaran pertama dari sistem Cassandra dalam Facebook
adalah untuk Inbox sistem pencarian . Sistem saat ini

menyimpan TB indeks di sekelompok 600 + core dan 120 +
TB ruang disk . Kinerja sistem telah baik dalam persyaratan
SLA kami dan aplikasi yang lebih dalam pipa untuk
menggunakan sistem Cassandra sebagai mesin penyimpanan
mereka . Sebuah versi beta dari Cassandra telah open source
dan dapat ditemukan di sini . Sistem seperti ini tidak pernah
benar-benar dilakukan . Satu dimulai dengan membangun fitur
inti tertentu yang benar-benar diperlukan , mencapai untuk
mendapatkan hak mereka dan hasil untuk membangun fitur
yang lebih mewah . Kami memiliki fitur inti tertentu yang
perlu dibangun dan telah lebih banyak yang direncanakan di
jalan di depan . Jika ada yang tertarik dalam memecahkan
masalah sistem terdistribusi keras yang mempengaruhi
kehidupan jutaan pengguna kami , jangan ragu untuk
menghubungi kami di Facebook
IV. PENUTUP
Demikian yang dapat kami paparkan mengenai materi yang
menjadi pokok bahasan dalam makalah ini, tentunya masih
banyak kekurangan dan kelemahannya, kerena terbatasnya
pengetahuan dan kurangnya rujukan atau referensi yang ada
hubungannya dengan judul makalah ini.
Penulis banyak berharap para pembaca yang budiman dusi
memberikan kritik dan saran yang membangun kepada penulis
demi sempurnanya makalah ini dan dan penulisan makalah di
kesempatan-kesempatan berikutnya. Semoga makalah ini
berguna bagi penulis pada khususnya juga para pembaca yang
budiman pada umumnya.
REFERENSI
[1]
[2]
[3]
[4]

https://www.facebook.com/note.php?note_id=24413138919
http://en.wikipedia.org/wiki/Apache_Cassandra
http://translate.google.co.id/#en/id/
https://www.academia.edu/2239545/NoSQL_Database_model_untuk_s
ocial_network_dan_web_2.0

More Related Content

What's hot

PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASE
Räjù GùÑáwàn
 
Mysql 2
Mysql 2Mysql 2
Mysql 2
Fajar Baskoro
 
Chapter 13
Chapter 13Chapter 13
Basic data
Basic dataBasic data
Basic data
YS YS
 
Pengertian basis data
Pengertian basis dataPengertian basis data
Pengertian basis data
Carudin29
 
Migrasi database heterogen mysql ke postgre sql
Migrasi database heterogen mysql ke postgre sqlMigrasi database heterogen mysql ke postgre sql
Migrasi database heterogen mysql ke postgre sql
Fardan Hafidy
 
106048 5,43216010038 sim,molidya_nadilasari_akuntansi,hapziali,sistemmanajeme...
106048 5,43216010038 sim,molidya_nadilasari_akuntansi,hapziali,sistemmanajeme...106048 5,43216010038 sim,molidya_nadilasari_akuntansi,hapziali,sistemmanajeme...
106048 5,43216010038 sim,molidya_nadilasari_akuntansi,hapziali,sistemmanajeme...
molidyanadilasari
 
Pengantar RDBMS
Pengantar RDBMSPengantar RDBMS
Pengantar RDBMS
Rochmad Jassin
 
Tugas 4
Tugas 4Tugas 4
Tugas 4
Hardy Tanamas
 
Chapter 3
Chapter 3Chapter 3
Tugas iv 0317_arie firmandani_1512510445
Tugas iv  0317_arie firmandani_1512510445Tugas iv  0317_arie firmandani_1512510445
Tugas iv 0317_arie firmandani_1512510445
Arie Firmandani
 
MariaDB
MariaDBMariaDB
MariaDB
AxelSyamodra
 
Instalasi serta DDL dan DML sederhana MariaDB
Instalasi serta DDL dan DML sederhana MariaDBInstalasi serta DDL dan DML sederhana MariaDB
Instalasi serta DDL dan DML sederhana MariaDB
AxelSyamodra
 
Tutorial my sql
Tutorial my sqlTutorial my sql
Tutorial my sql
MIlaSusanti2
 
Tugas 4 rekweb
Tugas 4 rekwebTugas 4 rekweb
Tugas 4 rekweb
rofik nurhidayat
 
Pengantar RDBMS
Pengantar RDBMSPengantar RDBMS
Pengantar RDBMS
Rochmad Jassin
 
TMK Tahun 5: Sistem Pengurusan Pangkalan Data (DBMS)
TMK Tahun 5: Sistem Pengurusan Pangkalan Data (DBMS)TMK Tahun 5: Sistem Pengurusan Pangkalan Data (DBMS)
TMK Tahun 5: Sistem Pengurusan Pangkalan Data (DBMS)
Noor Azma
 

What's hot (20)

PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASE
 
Mysql 2
Mysql 2Mysql 2
Mysql 2
 
Java souce code
Java souce codeJava souce code
Java souce code
 
Chapter 13
Chapter 13Chapter 13
Chapter 13
 
Basic data
Basic dataBasic data
Basic data
 
Pengertian basis data
Pengertian basis dataPengertian basis data
Pengertian basis data
 
Pel myswl
Pel myswlPel myswl
Pel myswl
 
Migrasi database heterogen mysql ke postgre sql
Migrasi database heterogen mysql ke postgre sqlMigrasi database heterogen mysql ke postgre sql
Migrasi database heterogen mysql ke postgre sql
 
106048 5,43216010038 sim,molidya_nadilasari_akuntansi,hapziali,sistemmanajeme...
106048 5,43216010038 sim,molidya_nadilasari_akuntansi,hapziali,sistemmanajeme...106048 5,43216010038 sim,molidya_nadilasari_akuntansi,hapziali,sistemmanajeme...
106048 5,43216010038 sim,molidya_nadilasari_akuntansi,hapziali,sistemmanajeme...
 
Pengantar RDBMS
Pengantar RDBMSPengantar RDBMS
Pengantar RDBMS
 
Tugas 4
Tugas 4Tugas 4
Tugas 4
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
Tugas iv 0317_arie firmandani_1512510445
Tugas iv  0317_arie firmandani_1512510445Tugas iv  0317_arie firmandani_1512510445
Tugas iv 0317_arie firmandani_1512510445
 
MariaDB
MariaDBMariaDB
MariaDB
 
Instalasi serta DDL dan DML sederhana MariaDB
Instalasi serta DDL dan DML sederhana MariaDBInstalasi serta DDL dan DML sederhana MariaDB
Instalasi serta DDL dan DML sederhana MariaDB
 
Tutorial my sql
Tutorial my sqlTutorial my sql
Tutorial my sql
 
Tugas 4 rekweb
Tugas 4 rekwebTugas 4 rekweb
Tugas 4 rekweb
 
1
11
1
 
Pengantar RDBMS
Pengantar RDBMSPengantar RDBMS
Pengantar RDBMS
 
TMK Tahun 5: Sistem Pengurusan Pangkalan Data (DBMS)
TMK Tahun 5: Sistem Pengurusan Pangkalan Data (DBMS)TMK Tahun 5: Sistem Pengurusan Pangkalan Data (DBMS)
TMK Tahun 5: Sistem Pengurusan Pangkalan Data (DBMS)
 

Viewers also liked

Makalah pemrograman generasi keempat postgresql
Makalah pemrograman generasi keempat postgresqlMakalah pemrograman generasi keempat postgresql
Makalah pemrograman generasi keempat postgresqlfaisalrafix
 
Makalah File , Database
Makalah File , DatabaseMakalah File , Database
Makalah File , Database
Febri Alif Pratama
 
Makalah Oracle
Makalah OracleMakalah Oracle
Makalah Oracle
Rifka Giovani
 
Carbon and Carbohydrates
Carbon and CarbohydratesCarbon and Carbohydrates
Carbon and Carbohydrates
Romy Friedman
 
Makalah komunikasi dalam organisasi (
Makalah komunikasi dalam organisasi (Makalah komunikasi dalam organisasi (
Makalah komunikasi dalam organisasi (Ikvheynha Awlya
 
Makalah database manajemen sistem
Makalah database manajemen sistemMakalah database manajemen sistem
Makalah database manajemen sistem
Mhd. Abdullah Hamid
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
Luminary Labs
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
Seth Familian
 

Viewers also liked (8)

Makalah pemrograman generasi keempat postgresql
Makalah pemrograman generasi keempat postgresqlMakalah pemrograman generasi keempat postgresql
Makalah pemrograman generasi keempat postgresql
 
Makalah File , Database
Makalah File , DatabaseMakalah File , Database
Makalah File , Database
 
Makalah Oracle
Makalah OracleMakalah Oracle
Makalah Oracle
 
Carbon and Carbohydrates
Carbon and CarbohydratesCarbon and Carbohydrates
Carbon and Carbohydrates
 
Makalah komunikasi dalam organisasi (
Makalah komunikasi dalam organisasi (Makalah komunikasi dalam organisasi (
Makalah komunikasi dalam organisasi (
 
Makalah database manajemen sistem
Makalah database manajemen sistemMakalah database manajemen sistem
Makalah database manajemen sistem
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Similar to Makalah casandra facebook

Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 -
fahreza yozi
 
Tugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_aprilianiTugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_apriliani
dewiapril1996
 
Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552
Nasrul Akbar
 
Rekayasa web part 4 khaerul anwar
Rekayasa web part 4 khaerul anwarRekayasa web part 4 khaerul anwar
Rekayasa web part 4 khaerul anwar
Khaerul Anwar
 
Tgs. tbd database oracle terdistribus-artayahonest
Tgs. tbd database oracle terdistribus-artayahonestTgs. tbd database oracle terdistribus-artayahonest
Tgs. tbd database oracle terdistribus-artayahonest
Artaya Honest
 
Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448
Andrian Lesmana
 
SIM, Ervina Santoso, Hapzi Ali, database perusahaan, universitas mercu buana,...
SIM, Ervina Santoso, Hapzi Ali, database perusahaan, universitas mercu buana,...SIM, Ervina Santoso, Hapzi Ali, database perusahaan, universitas mercu buana,...
SIM, Ervina Santoso, Hapzi Ali, database perusahaan, universitas mercu buana,...
Ervina Santoso
 
Tugas[4] 0317-[tryanita]-[1411511676]
Tugas[4]  0317-[tryanita]-[1411511676]Tugas[4]  0317-[tryanita]-[1411511676]
Tugas[4] 0317-[tryanita]-[1411511676]
trya nita
 
Rpp 14 perangkat lunak database
Rpp 14 perangkat lunak databaseRpp 14 perangkat lunak database
Rpp 14 perangkat lunak database
Arjuna Ahmadi
 
Si & Pi, cilin christianto, hapzi ali, database management sistem dalam kegia...
Si & Pi, cilin christianto, hapzi ali, database management sistem dalam kegia...Si & Pi, cilin christianto, hapzi ali, database management sistem dalam kegia...
Si & Pi, cilin christianto, hapzi ali, database management sistem dalam kegia...
Cilin christianto
 
tugas mata kuliah sistem teknologi informasi,,,tentang basis data
tugas mata kuliah sistem teknologi informasi,,,tentang basis data tugas mata kuliah sistem teknologi informasi,,,tentang basis data
tugas mata kuliah sistem teknologi informasi,,,tentang basis data
Julmianti
 
Bab12 backup dan restore basis data
Bab12 backup dan restore basis dataBab12 backup dan restore basis data
Bab12 backup dan restore basis data
Agung Sakepris
 
Modul Data Warehouse
Modul Data Warehouse  Modul Data Warehouse
Modul Data Warehouse
Nina Hendra Putri
 
Artikel blog dan database - pertemuan 15
Artikel blog dan database - pertemuan 15Artikel blog dan database - pertemuan 15
Artikel blog dan database - pertemuan 15
Ismania1912
 
03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data
Ainul Yaqin
 
Database dan MySQL
Database dan MySQLDatabase dan MySQL
Database dan MySQL
Ammazizzaky Tarigan
 
SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...
SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...
SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...
Yasmin Al-Hakim
 
TUGAS SISTEM INFORMASI MANAJEMEN: DAMPAK PEMANFAATAN BLOG DAN DATABASE PADA P...
TUGAS SISTEM INFORMASI MANAJEMEN: DAMPAK PEMANFAATAN BLOG DAN DATABASE PADA P...TUGAS SISTEM INFORMASI MANAJEMEN: DAMPAK PEMANFAATAN BLOG DAN DATABASE PADA P...
TUGAS SISTEM INFORMASI MANAJEMEN: DAMPAK PEMANFAATAN BLOG DAN DATABASE PADA P...
GitaSrinita
 
SI & PI, Hariz Abdul Najib, Hapzi Ali, DBMS Dalam Sistem Informasi, Universit...
SI & PI, Hariz Abdul Najib, Hapzi Ali, DBMS Dalam Sistem Informasi, Universit...SI & PI, Hariz Abdul Najib, Hapzi Ali, DBMS Dalam Sistem Informasi, Universit...
SI & PI, Hariz Abdul Najib, Hapzi Ali, DBMS Dalam Sistem Informasi, Universit...
Hariz Harahap
 

Similar to Makalah casandra facebook (20)

Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 -
 
Tugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_aprilianiTugas4 1412510602 dewi_apriliani
Tugas4 1412510602 dewi_apriliani
 
Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552
 
Tugas pak taufan
Tugas pak taufanTugas pak taufan
Tugas pak taufan
 
Rekayasa web part 4 khaerul anwar
Rekayasa web part 4 khaerul anwarRekayasa web part 4 khaerul anwar
Rekayasa web part 4 khaerul anwar
 
Tgs. tbd database oracle terdistribus-artayahonest
Tgs. tbd database oracle terdistribus-artayahonestTgs. tbd database oracle terdistribus-artayahonest
Tgs. tbd database oracle terdistribus-artayahonest
 
Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448Tugas4 (individu)-andrian lesmana-1311510448
Tugas4 (individu)-andrian lesmana-1311510448
 
SIM, Ervina Santoso, Hapzi Ali, database perusahaan, universitas mercu buana,...
SIM, Ervina Santoso, Hapzi Ali, database perusahaan, universitas mercu buana,...SIM, Ervina Santoso, Hapzi Ali, database perusahaan, universitas mercu buana,...
SIM, Ervina Santoso, Hapzi Ali, database perusahaan, universitas mercu buana,...
 
Tugas[4] 0317-[tryanita]-[1411511676]
Tugas[4]  0317-[tryanita]-[1411511676]Tugas[4]  0317-[tryanita]-[1411511676]
Tugas[4] 0317-[tryanita]-[1411511676]
 
Rpp 14 perangkat lunak database
Rpp 14 perangkat lunak databaseRpp 14 perangkat lunak database
Rpp 14 perangkat lunak database
 
Si & Pi, cilin christianto, hapzi ali, database management sistem dalam kegia...
Si & Pi, cilin christianto, hapzi ali, database management sistem dalam kegia...Si & Pi, cilin christianto, hapzi ali, database management sistem dalam kegia...
Si & Pi, cilin christianto, hapzi ali, database management sistem dalam kegia...
 
tugas mata kuliah sistem teknologi informasi,,,tentang basis data
tugas mata kuliah sistem teknologi informasi,,,tentang basis data tugas mata kuliah sistem teknologi informasi,,,tentang basis data
tugas mata kuliah sistem teknologi informasi,,,tentang basis data
 
Bab12 backup dan restore basis data
Bab12 backup dan restore basis dataBab12 backup dan restore basis data
Bab12 backup dan restore basis data
 
Modul Data Warehouse
Modul Data Warehouse  Modul Data Warehouse
Modul Data Warehouse
 
Artikel blog dan database - pertemuan 15
Artikel blog dan database - pertemuan 15Artikel blog dan database - pertemuan 15
Artikel blog dan database - pertemuan 15
 
03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data
 
Database dan MySQL
Database dan MySQLDatabase dan MySQL
Database dan MySQL
 
SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...
SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...
SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...
 
TUGAS SISTEM INFORMASI MANAJEMEN: DAMPAK PEMANFAATAN BLOG DAN DATABASE PADA P...
TUGAS SISTEM INFORMASI MANAJEMEN: DAMPAK PEMANFAATAN BLOG DAN DATABASE PADA P...TUGAS SISTEM INFORMASI MANAJEMEN: DAMPAK PEMANFAATAN BLOG DAN DATABASE PADA P...
TUGAS SISTEM INFORMASI MANAJEMEN: DAMPAK PEMANFAATAN BLOG DAN DATABASE PADA P...
 
SI & PI, Hariz Abdul Najib, Hapzi Ali, DBMS Dalam Sistem Informasi, Universit...
SI & PI, Hariz Abdul Najib, Hapzi Ali, DBMS Dalam Sistem Informasi, Universit...SI & PI, Hariz Abdul Najib, Hapzi Ali, DBMS Dalam Sistem Informasi, Universit...
SI & PI, Hariz Abdul Najib, Hapzi Ali, DBMS Dalam Sistem Informasi, Universit...
 

Makalah casandra facebook

  • 1. Cassandra Facebook Database Bustomi Rahrjo D3 Teknik Informatika FMIPA UNS Jln. Ir. Sutami 36 A, Surakarta, 57126 INDONESIA Email, bustomiraharjo@gmail.com Intisari— Cassandra adalah sistem penyimpanan terdistribusi untuk mengelola data terstruktur yang dirancang untuk skala yang sangat besar di banyak server, tanpa satu titik kegagalan . Pada skala besar, kehandalan merupakan tantangan utama. Matinya pelayanan(server) dapat memberikan dampak negatif yang sangat besar. Oleh karena itu Cassandra dirancang untuk berjalan di atas infrastruktur dengan ratusan node (mungkin tersebar di seluruh pusat data yang berbeda ). Pada skala ini , komponen kecil dan besar akan selalu gagal, cara Cassandra menangani kegagalan ini adalah dengan mendorong keandalan dan skalabilitas dari sistem perangkat lunak yang bergantung pada layanan ini. Cassandra telah mencapai beberapa tujuan skalabilitas , kinerja tinggi, ketersediaan dan penerapan . Dalam banyak hal Cassandra menyerupai database dari segi desain dan impementasi. Cassandra tidak mendukung model data relasional secara penuh, melainkan menyediakan klien dengan model data sederhana yang mendukung kontrol dinamis atas tata letak data dan format. Cassandra digunakan pada Facebook untuk pencarian inbox. Keywords— cassandra, database, dan facebook. I. PENDAHULUAN Tidak dapat dipungkiri bahwa database merupakan media penyimpanan data yang paling banyak digunakan oleh aplikasi-aplikasi yang ada saat ini. Hal ini menimbulkan kecenderungan bahwa untuk menyimpan data harus di database. Memang, data harus disimpan di database sehingga jika suatu saat data tersebut diperlukan, maka diambil lagi. Namun, apakah bentuk database yang digunakan harus seperti relational database yang sering digunakan aplikasi pada umumnya. Selama bertahun-tahun, semenjak tahun 1990-an aplikasi bergantung pada relational database untuk menyimpan datanya. Tercatat ada beberapa RDBMS (Relational Database Management System) yang merajai dunia relational database, yakni MySQL, Oracle, PostgreSQL dan Microsoft SQL Server. Semua RDBMS tersebut sudah terkenal akan ketangguhannya dalam menangani penyimpanan data berskala besar. MySQL tercatat sebagai RDBMS yang paling banyak digunakan untuk penyimpanan data dalam aplikasi berbasis web. Banyak websitewebsite di dunia dengan jumlah pengakses mencapai jutaan yang menggunakan MySQL, seperti Facebook. Namun, seiring meningkatnya jumlah pengakses internet, maka situs-situs tersebut lama-lama akan melambat juga kecepatannya. Dan penyebab dari melambatanya kecepatan akses tersebut, tidak lain karena tingginya akses ke database sehingga RDBMS kewalahan untuk melayani request data. Beruntunglah pada tahun 2009 muncul trend baru penyimpanan data, NoSQL. NoSQL ini merupakan kepanjangan dari Not Only SQL. Sesuai kepanjangannya NoSQL tidak menggunakan sintaks SQL untuk memyimpan data. Sebenarnya NoSQL ini dikembangkan pertama kali pada tahun 1998 oleh Carlo Strozzi. Lalu, pada tahun 2009, Eric Evans 2 memperkenalkan kembali teknologi NoSQL. NoSQL ini jauh berbeda dengan relational database. Penyimpanan data dalam NoSQL tidak memerlukan skema tabel yang tetap seperti relational database. II. TINJAUAN PUSTAKA A. Facebook Facebook merupakan jejaring sosial tersukses untuk saat ini. Jejaring sosial yang dibangun oleh Mark Zuckerberg ini telah menempatkan Mark sebagai 35 Orang Terkaya (Forbes, 2012) dan Person of The Year (Times, 2010). Pengguna facebook sendiri saat ini sudah hampir mencapai 1 miliar pengguna aktif. Pada bulan Juni 2012, menurut Statista.com pengguna facebook sendiri telah mencapai angka 955 juta (Tribunnews.com ,2012). Facebook memiliki konsep sebagai media jejaring sosial dimana Pengguna dapat membuat profil diri mereka sendiri yang dilengkapi foto/video, daftar ketertarikan pribadi, informasi kontak, dan informasi pribadi lain (tanggal lahir, tempat tinggal,pendidikan, pekerjaan, hobi, dan bisa mendeskripsikan tentang diri sendiri). Para pengguna juga bisa menambah kenalan atau yang biasa kita sebut dengan teman (fitur friends). Trend penggunaan facebook sebagai media jejaring sosial tidak jauh-jauh dari mengekspresikan semua hal yang kita alami, dan membagikannya dengan pengguna lain (yang disebut friends) melaui fitur update status dan diketik di dalam kolom yang bertuliskan “what’s on your mind” yang nantinya akan tampil pada home/timeline. Facebook juga dilengkapi fitur pesan pribadi (fitur message) atau umum (disebut dengan wall to wall) dan fitur obrolan (chating). Mereka juga dapat membuat dan bergabung dengan grup ketertarikan dan “halaman kesukaan” (dulu disebut “halaman penggemar” hingga 19 April 2010). B. NoSQL NoSQL hanyalah penyebutan untuk database yang tidak relasional. Jika relational database menggunakan SQL, maka NoSQL menggunakan bermacam-macam cara untuk penyimpanan datanya. NoSQL memiliki empat metode, yaitu:
  • 2. Table-oriented, contoh: Google dengan Big Table, Facebook dengan Cassandra Graph-oriented Document-oriented database, contoh: MongoDB dan CouchDB. Key-value store, contoh: Memcache dan Redis [5]. Metode NoSQL yang pertama adalah table-oriented. Namun, metode ini hanya dikembangkan dan digunakan oleh pembuatnya sendiri, contohnya Google dengan Big Table dan Facebook dengan Cassandra. Performa dari NoSQL jenis tableoriented ini tidak perlu diragukan lagi. Hasilnya dapat dilihat dari begitu cepatnya waktu pencarian pada Google, dan Facebook tetap cepat meskipun diakses jutaan orang. Metode NoSQL selanjutnya adalah graph-oriented, yaitu jenis database NoSQL yang menggunakan struktur graph dengan node, edge dan properties untuk menyimpan datanya. Dibandingkan relational database, graph database seringkali lebih cepat untuk associative data sets dan memetakan data lebih pada struktur aplikasi berorientasi objek. Graph database ini sangat cocok untuk graph-like query seperti mencari shortest path antara dua node dalam graph. Metode NoSQL yang ketiga adalah Document-oriented database. Jenis NoSQL ini merupakan database yang berbasiskan dokumen. Tidak ada tabel, field dan record, yang ada hanyalah koleksi dan dokumen. Koleksi dapat disamakan dengan tabel dan 3 dokumen disamakan dengan field. Berbeda dengan database relasional, pada document oriented database, dokumen dapat memiliki field yang berbeda dengan dokumen lain walaupun berada dalam satu koleksi. Hal ini tidak dapat dilakukan dengan database relasional dimana sebuah record tidak mungkin memiliki field yang berbeda dengan record yang berada dalam satu tabel. Yang terakhir adalah key-value store. Hampir sama seperti document-oriented database, sama-sama menggunakan sintaks NoSQL, yang berbeda adalah media penyimpanannya. Dalam key-value store, data tidak langsung disimpan dalam disk seperti database pada umumnya. Data disimpan dalam memori komputer dan sesekali data dalam memori ditulis ke disk. Penyimpanan data dalam memori menyebabkan proses query akan lebih cepat, karena tidak perlu lagi mengambil data dari disk. Hal ini pula yang membuat key-value store lebih unggul dibandingkan database relasional. Pada aplikasi web yang memiliki intensitas transaksi data yang tinggi, biasanya akan menggunakan key-value store untuk penyimpanan datanya disamping menggunakan database relasional, contohnya web LiveJournal, Wikipedia, Twitter, Youtube, dan Wordpress yang menggunakan Memcached. Kesamaan lainnya, data yang tersimpan dalam key-value store tidak harus memiliki field yang sama. Hal ini dikarenakan database jenis ini menggunakan key yang berisi value untuk penyimpanan datanya. Isi dari value ini bisa berupa string, list atau pun tree. Bentuk struktur data list dan tree ini memungkinkan bagi kita untuk memasukkan data yang tidak linier dimana suatu record dalam list dapat memiliki list lagi di dalamnya. Pada kesempatan kali ini penulis hanya akan membahas satu metode yaitu metodeTable-Oriented yang di kembangkan untuk Facebook yaitu Cassandra. III. PEMBAHASAN Apache Cassandra adalah sistem manajemen open source database terdistribusi yang dirancang untuk menangani data yang sangat bersar di beberapa server, menyediakan ketersediaan tinggi tanpa single point of failure . Cassandra menawarkan dukungan yang kuat untuk cluster mencakup beberapa pusat data ,dengan asynchronous replikasi bertuan memungkinkan operasi latency rendah untuk semua klien . Cassandra juga menempatkan nilai tinggi pada kinerja . University of Toronto peneliti mempelajari sistem NoSQL menyimpulkan bahwa " Dalam hal skalabilitas , ada pemenang yang jelas di seluruh percobaan kami . Cassandra mencapai throughput tertinggi untuk jumlah maksimum node dalam semua percobaan . " Model data Cassandra adalah penyimpanan dengan baris partisi dengan sangat konsiste. Baris tersebut akan disusun dalam tabel. Komponen pertama dari primary key tabel adalah partition key, dalam sebuah partisi , baris dikelompokkan oleh kolom yang tersisa dari kunci, kolom lain dapat diindeks secara terpisah dari primary key . Tabel dapat diciptakan, dihapus, dan diubah saat runtime tanpa menghalangi update dan query. Cassandra tidak join table atau subquery , kecuali untuk analisis bets via Hadoop . Sebaliknya , Cassandra menekankan denormalisasi melalui fitur seperti Collection. A. Data Model Setiap baris diidentifikasi oleh kunci unik. Kuncinya adalah string dan tidak ada batasan pada ukuran . Sebuah contoh dari Cassandra memiliki satu meja yang terdiri dari satu atau lebih keluarga kolom seperti yang didefinisikan oleh pengguna. Jumlah keluarga kolom dan nama masing-masing di atas harus diperbaiki pada saat cluster dimulai . Tidak ada batasan jumlah keluarga kolom namun diharapkan bahwa akan ada beberapa ini . Setiap keluarga kolom dapat berisi salah satu dari dua struktur : supercolumns atau kolom . Kedua hal ini dibuat secara dinamis dan tidak ada batasan pada jumlah ini yang dapat disimpan dalam sebuah keluarga kolom . Kolom merupakan konstruksi yang memiliki nama , nilai dan cap waktu yang ditentukan pengguna yang terkait dengan mereka . Jumlah kolom yang dapat terkandung dalam sebuah keluarga kolom sangat besar . Kolom bisa jumlah variabel per
  • 3. tombol . Misalnya K1 kunci bisa memiliki 1.024 kolom / super kolom sementara kunci K2 bisa memiliki 64 kolom / super kolom . " Supercolumns " adalah konstruksi yang memiliki nama , dan jumlah tak terbatas kolom assosciated dengan mereka . Jumlah " Supercolumns " terkait dengan keluarga kolom bisa menjadi tak terbatas dan dari sejumlah variabel per tombol . Mereka menunjukkan karakteristik yang sama seperti kolom . B. Distribusi , Replikasi dan Fault Toleransi Data didistribusikan di seluruh node dalam cluster menggunakan Hashing Konsisten berbasis dan Order Melestarikan fungsi Hash . Kami menggunakan Order Melestarikan Hash sehingga kita bisa melakukan berbagai scan atas data untuk analisis di beberapa titik kemudian . Keanggotaan Cluster dipertahankan melalui algoritma keanggotaan gaya Gossip . Kegagalan node dalam cluster dipantau menggunakan Kegagalan Detector Akrual Style . Ketersediaan tinggi dicapai dengan menggunakan replikasi dan kami secara aktif replikasi data di seluruh pusat data . Karena konsistensi akhirnya adalah mantra dari sistem membaca mengeksekusi pada replika terdekat dan data diperbaiki di latar belakang untuk meningkatkan throughput membaca . Sistem menunjukkan sifat skalabilitas tambahan yang dapat dicapai semudah menjatuhkan node dan memiliki mereka secara otomatis dinyalakan dengan data. Penyebaran pertama dari sistem Cassandra dalam Facebook adalah untuk Inbox sistem pencarian . Sistem saat ini menyimpan TB indeks di sekelompok 600 + core dan 120 + TB ruang disk . Kinerja sistem telah baik dalam persyaratan SLA kami dan aplikasi yang lebih dalam pipa untuk menggunakan sistem Cassandra sebagai mesin penyimpanan mereka . Sebuah versi beta dari Cassandra telah open source dan dapat ditemukan di sini . Sistem seperti ini tidak pernah benar-benar dilakukan . Satu dimulai dengan membangun fitur inti tertentu yang benar-benar diperlukan , mencapai untuk mendapatkan hak mereka dan hasil untuk membangun fitur yang lebih mewah . Kami memiliki fitur inti tertentu yang perlu dibangun dan telah lebih banyak yang direncanakan di jalan di depan . Jika ada yang tertarik dalam memecahkan masalah sistem terdistribusi keras yang mempengaruhi kehidupan jutaan pengguna kami , jangan ragu untuk menghubungi kami di Facebook IV. PENUTUP Demikian yang dapat kami paparkan mengenai materi yang menjadi pokok bahasan dalam makalah ini, tentunya masih banyak kekurangan dan kelemahannya, kerena terbatasnya pengetahuan dan kurangnya rujukan atau referensi yang ada hubungannya dengan judul makalah ini. Penulis banyak berharap para pembaca yang budiman dusi memberikan kritik dan saran yang membangun kepada penulis demi sempurnanya makalah ini dan dan penulisan makalah di kesempatan-kesempatan berikutnya. Semoga makalah ini berguna bagi penulis pada khususnya juga para pembaca yang budiman pada umumnya. REFERENSI [1] [2] [3] [4] https://www.facebook.com/note.php?note_id=24413138919 http://en.wikipedia.org/wiki/Apache_Cassandra http://translate.google.co.id/#en/id/ https://www.academia.edu/2239545/NoSQL_Database_model_untuk_s ocial_network_dan_web_2.0