Home Database GFS, Yuk pelajari “Harddisk” Google
formats

GFS, Yuk pelajari “Harddisk” Google

Published on February 25, 2013, in Database.

cloud2

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.

Pada saat membaca data, GFS akan memilih servers yang terdekat, sedangkan pada saat menulis/menyimpan data, GFS akan melakukannya dalam beberapa servers sekaligus. GFS tidak memfasilitasi penyimpanan / penulisan data secara bersamaan, melainkan dilakukan secara atomic. Artinya, selama data masih dalam proses penyimpanan / penulisan oleh suatu aplikasi, maka data tersebut beserta lokasinya dalam memory tidak akan bisa diakses oleh aplikasi lain sampai proses penyimpanan tersebut benar-benar selesai.
3unsur

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.

Selain tahan banting, GFS juga scalable. Artinya GFS bisa di-scale up dan di-scala out . Di-scale up artinya GFS bisa ditingkatkan kapasitasnya dengan meningkatkan spesifikasi komputer-komputer yang mengusungnya. Sedangkan di-scale out artinya GFS dapat diperbesar kapasitasnya dengan menambah jumlah komputer pada cluster tempat ia dijalankan. Kedua proses ini dapat dilakukan tanpa harus men-set up dari awal, tidak perlu setting ulang dan tak perlu melalukan pemindahan data dari sistem lama ke sistem baru yang telah di-upgrade. Beda halnya kalau kita menggunakan system konvensional. Pada saat akan mengganti atau mengupgrade kapasitas komputer, kita harus melakukan setting ulang. Proses pemindahan data dari system lama ke system yang baru juga merupakan hal yang mutlak.

Referensi :
“The Google File System”, Sanjay Ghemawat et al, Google Inc. 2003

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>