Di artikel sebelumnya ane sudah bahas tentang BigTable. nah, kali ini ane mau membahas teknologi yang sama, tapi dengan judul yang berbeda. Penasaran ?, yuk ikutin terus.. jangan di tutup tab nya.. ^_^
sedikit review, bigtable adalah sebuah teknologi yang di implementasikan oleh google untuk menjaga, memberdayakan, mengoperasikan, dan mengembangkan basis data yang menyimpan data dari seluruh dunia. Bigtable sendiri adalah sebuah table besar yang mirip dengan basis data konvensional, namun terdapat perbedaan yang mencolok diantaranya adalah bahasa yang digunakan dan struktur tabel. Bigtable bekerja dengan sekumpulan komputer yang saling berhubungan (jaringan), dengan kecepatan yang tinggi maka bigtable membutuhkan sebuah infrastruktur yang memadai agar bisa menunjang berjalannya system yang besar tersebut. Infrastruktur menjadi bagian vital yang tidak boleh disepelekan dalam hal ini, karena efeknya bisa mengganggu proses pencarian google yang selama ini kita kenal. ^_^
GFS atau Google File System, adalah sebuah infrastruktur yang diimplementasikan oleh google dalam mengelola basis data dan server besarnya. Sebenarnya GFS bisa dibilang adalah sebuah hard disk drive (HDD), flash disk, DVD-R dan sebagainya. Bedanya, GFS menyimpan data-nya secara terdistribusi pada komputer-komputer dalam suatu cluster. Lalu cluster itu apa? Cluster dalam konteks ini adalah network atau jaringan komputer yang terdiri atas ratusan atau bahkan ribuan komputer. Yang namanya network berarti komputer yang ada didalamnya sudah dalam kondisi saling berhubungan, bisa saling berkomunikasi, bisa saling tukar data. Berkat kemampuannya yang bisa menyimpan data secara terdistribusi ini GFS bisa menyimpan data super besar yang tidak bisa disimpan dalam suatu HDD paling besar sekalipun.
GFS memiliki tiga entitas / unsur utama, yaitu: Master Servers, Chunkservers, dan Clients. Master Servers adalah server central yang mengendalikan dan memonitor kondisi GFS secara keseluruhan. Chunkservers adalah bagian yang bertanggungjawab menyimpan dan membaca file ke/dari HDD tiap node (node: satu komputer yang berada dalam cluster GFS). Chunkservers yang jumlahnya banyak ini berada dibawah kendali Master Servers. Terakhir, Clients adalah aplikasi yang menggunakan GFS yang menyimpan dan membaca file ke/dari GFS. Tiap chunk (blok data) akan direplikasi secara otomatis dan disimpan dalam tiga Chunkservers. Ini berguna sebagai cadangan jika terdapat Chunkservers yang rusak. Kemudian Master Servers akan mengatur distribusi chunks (block-block data) ke tiap Chunkservers sedemikian rupa sehingga terdistribusi secara merata. Tidak ada yang mendapat chunk berlebih, juga tidak ada yang mendapat terlalu sedikit.
Salah satu kelebihan GFS adalah GFS dijalankan pada cluster yang terdiri atas komputer-komputer biasa yang relatif tidak mahal. Google tidak menjalankan GFS dengan menggunakan komputer-komputer handal dengan spesifikasi dan kualitas super melebihi komputer biasa yang beredar dipasaran. Oleh karena itu, kerusakan atau kegagalan pada suatu node (titik yang mengacu pada satu komputer pada suatu cluster) adalah hal yang lumrah terjadi dan sudah diprediksi sebelumnya. Untuk mengantisipasi hal ini, GFS didesain untuk tetap dapatĀ berjalan normal walaupun terjadi kegagalan dalam suatu node. Singkatnya, GFS itu tahan banting.
Referensi :
“The Google File System”, Sanjay Ghemawat et al, Google Inc. 2003