Pernahkah anda membayangkan, sistem apa yang ada di balik mesin pencari Google? Bagaimana mereka menampung data-data yang mereka miliki, teknologi apa yang mereka gunakan, apakah virtualisasi? Cloud? Saya sering bertanya-tanya perihal hal itu. Butuh berapa komputer atau server menyerupai apa yang mereka gunakan? Seberapa besar storage yang dibutuhkan? Bagaimana mereka bisa menampung data yang sebegitu banyak dan besar? Jika memakai banyak storage dan perangkat server untuk menyimpan data tersebut, kemudian bagaimana kalau saja ada salah satu atau beberapa server atau storage yang rusak sekaligus? Bagaimana mereka menangani problem tersebut? Dari banyak pertanyaan tersebut, setidaknya dengan menemukan dan membaca paper penelitian ini, sedikit banyak telah menjawab rasa ingin tau saya.
Yak jawabannya ialah Google File System, apa itu? Google file system (GFS) ialah sistem file yang dikembangkan oleh Google secara khusus untuk mengakomodir kebutuhan khusus Google. GFS didesain untuk sanggup memenuhi undangan pemrosesan yang tumbuh semakin tinggi secara signifikan atau bisa disebut bertui-tubi sebagaimana Google butuhkan. GFS sebagaimana sistem terdistribusi lainnya mempunyai kualifikasi yang tidak jauh dari:
- Memiliki kemampuan yang sanggup ditingkatkan (scale out)
- Mampu mempunyai performa yang bagus
- Memiliki reliabilitas yang bagus, dan
- Tingkat ketersedian yang tinggi.
Scale out sendiri sanggup dibedakan menjadi dua jenis, scale out secara horizontal atau scale out secara vertical. Scale out secara vertical lebih kepada peningkatan kemampuan perangkat keras yang digunakan, contohnya saja sebelumnya memakai prosesor Intel i3 ditingkatkan menjadi i5 atau i7. Sedangkan scale out secara horisontal lebih kepada peningkatan kemampuan (baik pemrosesan atau media penyimpanan) dengan cara penambahan instance yang sejajar (jika diilustrasikan, menyerupai prinsip bantu-membantu di Indonesia), misal dari 1 server menjadi 2 server, menjadi 3 server dan seterusnya, dengan kemampuannya GFS bisa mengkoordinir banyak server sekaligus untuk sanggup saling bekerja sama. GFS juga dirancang untuk sanggup berjalan di komputer server komoditi, alias server dengan spesifikasi yang gampang ditemukan di pasaran, bukan server yang didesain atau dipesan khusus untuk mengerjakan suatu pemrosesan atau penyimpanan. Keuntungannya ialah saat mereka (Google) membutuhkan peningkatan performa atau suplemen media penyimpanan, tinggal mereka beli server yang ada di pasaran, kemudian mereka gabungkan dengan GFS, solusi yang gampang bukan? Dengan semakin banyak server yang terlibat, maka potensi kegagalan yang terjadi akan semakin besar, fitur GFS bisa menoleransi kegagalan tersebut, sehingga proses yang terjadi di dalamnya tidak akan terganggu, data yang tersimpan di dalamnya juga tidak rusak sehingga selalu tersedia (Good Reliability and High Availability).
Arsitektur GFS
GFS mempunyai arsitektur master-slave, satu master yang mengelola beberapa slave (chunk server). Data yang disimpan di dalam GFS akan di pecah-pecah ke dalam beberapa penggalan (chunk) yang kemudian di replikasi dan di simpan di seluruh chunk server yang tersedia, sedangkan lokasi dan metadata file yang ditaruh di GFS tersebut akan disimpan oleh server master dalam bentuk namespace. Ketika ada chunk server yang mati/rusak, maka chunk server yang lain yang menyimpan data yang sama akan segera mereplikasi ulang, untuk menjaga ketersediaan data yang disimpan. Sedangkan apabila server Master rusak, maka GFS akan mendelegasikan tugas master tersebut ke master bayangan (shadow master).
Untuk meningkatkan performa GFS, setiap klien yang ingin melaksanakan operasi baca tulis, tidak harus melalui server master, server master hanya sebagai pendelegasi saja. Pada operasi baca:
Pada operasi menulis juga berlaku menyerupai mirip itu:
- Klien akan menghubungi master untuk menanyakan lokasi file yang akan di baca
- Master akan memberitahu lokasi file berada di chunk server mana saja
- Setelah klien mendapat lokasi file, maka klien akan eksklusif menghubungi chunk server untuk membaca data yang dibutuhkan.
Pada operasi menulis juga berlaku menyerupai mirip itu:
- Klien akan menghubungi master untuk meminta lokasi chunk server yang sanggup ditulisi data
- Master akan memberitahu lokasi chunk server mana saja yang sanggup ditulis kepada klien
- Setelah klien mendapat lokasi chunk server yang sanggup ditulisi, maka klien akan eksklusif menghubungi chunk server untuk menulis data yang dibutuhkan.
Kedua operasi tersebut sanggup mengurangi efek bottleneck kepada master, sebab seluruh komunikasi tidak perlu melewati master, master hanya berperan sebagai pendelegasi dan pencatat lokasi data sehingga klien sanggup eksklusif berinteraksi kepada chunk server.
Peran master sesungguhnya tidak hanya itu, master juga berfungsi untuk memastikan bahwa chunk server dalam keadaan "hidup", apabila diketahui ada chunk server yang mati, maka master akan meminta chunk server lainnya yang menyimpan data sama dengan chunk server yang mati untuk kembali mereplikasi data tersebut sampai ke jumlah semula, hal itu untuk meningkatkan ketersediaan data yang disimpan di dalam GFS.
Ada salah satu proyek Apache yang terinspirasi oleh kemampuan GFS, yaitu Hadoop. Berbeda dengan GFS yang merupakan perangkat lunak propertiary milik Google dan tidak bisa sembarang orang menggunakannya atau mendapatkannya, Hadoop bersifat open source dan sanggup dipakai oleh siapapun tanpa mengeluarkan biaya lisensi. Hadoop sendiri dikembangkan oleh yayasan Apache Foundation dengan tujuan untuk membuat environment yang sama dengan GFS. Hadoop sendiri merupakan standart platform untuk pemrosesan bagi banyak perusahaan yang mengelola Big Data.
Mungkin di goresan pena selanjutnya saya akan membahas perihal Hadoop, bagi yang tidak sabar untuk mengetahui apa itu Hadoop, mungkin bisa eksklusif berkunjung ke website resminya di hadoop.apache.org
Mungkin di goresan pena selanjutnya saya akan membahas perihal Hadoop, bagi yang tidak sabar untuk mengetahui apa itu Hadoop, mungkin bisa eksklusif berkunjung ke website resminya di hadoop.apache.org
Mari berteman dengan saya
Follow my Instagram _yudha58
0 Response to "Apa Itu Google File System? (Teknologi Di Balik Google)"
Posting Komentar