HDFS adalah sistem file terdistribusi berbasis Java yang memungkinkan penyimpanan data besar di beberapa node kluster Hadoop. HDFS memiliki kelebihan seperti penyimpanan terdistribusi, komputasi paralel, dan skalabilitas horizontal yang memungkinkan penambahan node tanpa henti sistem.
2. D F S O R D I S T R I B U T E D F I L E S Y S T E M
• Sistem File Terdistribusi berbicara tentang mengelola data, yaitu file atau folder di banyak
komputer atau server.
• Dengan kata lain, DFS adalah sistem file yang memungkinkan kita menyimpan data melalui
banyak node atau mesin dalam sebuah cluster dan memungkinkan banyak pengguna untuk
mengakses data.
• Jadi pada dasarnya, ini melayani tujuan yang sama dengan sistem file yang tersedia di mesin
Anda, seperti untuk windows Anda memiliki NTFS (Sistem File Teknologi Baru) atau untuk
Mac Anda memiliki HFS (Sistem File Hierarkis).
• Satu-satunya perbedaan adalah, dalam kasus Sistem File Terdistribusi, Anda menyimpan
data di beberapa mesin, bukan di satu mesin. Meskipun file disimpan di seluruh jaringan,
DFS mengatur, dan menampilkan data sedemikian rupa sehingga pengguna yang duduk di
mesin akan merasa semua data disimpan di mesin itu sendiri.
3. H D F S ?
• Sistem file Terdistribusi Hadoop atau HDFS adalah sistem file terdistribusi berbasis Java
yang memungkinkan Anda menyimpan data besar di beberapa node dalam kluster
Hadoop. Jadi, jika Anda menginstal Hadoop, Anda mendapatkan HDFS sebagai sistem
penyimpanan dasar untuk menyimpan data di lingkungan terdistribusi.
• Sistem File Terdistribusi Hadoop didistribusikan sedemikian rupa sehingga setiap mesin
menyumbangkan penyimpanan masing-masing untuk menyimpan segala jenis data.
4. K E L E B I H A N
H D F S
• Distributed Storage:
5. • Distributed & Parallel Computation:
• Karena data dibagi di seluruh mesin, ini
memungkinkan kita memanfaatkan
Komputasi Terdistribusi dan Paralel.
6. • Horizontal Scalability:
• Yang terakhir, mari kita bicara tentang penskalaan horizontal atau
penskalaan di Hadoop. Ada dua jenis penskalaan:
• vertikal dan horizontal. Dalam penskalaan vertikal (peningkatan),
meningkatkan kapasitas perangkat keras sistem. Dengan kata lain,
mendapatkan lebih banyak RAM atau CPU dan menambahkannya
ke sistem Anda yang sudah ada untuk membuatnya lebih kuat dan
bertenaga.
• Namun ada tantangan yang terkait dengan penskalaan vertical
1. Selalu ada batasan untuk meningkatkan kapasitas perangkat
keras Anda. Jadi, Anda tidak dapat terus meningkatkan RAM
atau CPU mesin.
2. Dalam penskalaan vertikal, Anda menghentikan mesin terlebih
dahulu. Kemudian Anda meningkatkan RAM atau CPU untuk
menjadikannya tumpukan perangkat keras yang lebih kuat.
Setelah Anda meningkatkan kapasitas hardware, Anda memulai
ulang mesin.
7. • Dalam kasus penskalaan horizonta, menambahkan lebih banyak node ke klaster yang
ada alih-alih meningkatkan kapasitas perangkat keras masing-masing mesin. Dan yang
paling penting, dapat menambahkan lebih banyak mesin saat dalam perjalanan, yaitu
tanpa menghentikan sistem.
• Oleh karena itu, saat melakukan penskalaan, kami tidak memiliki waktu henti atau zona
hijau, tidak ada yang seperti itu. Pada akhirnya, Anda akan memiliki lebih banyak mesin
yang bekerja secara paralel untuk memenuhi kebutuhan Anda.
8. F I T U R H D F S
• Cost
HDFS, secara umum, diterapkan pada perangkat keras komoditas seperti desktop/laptop yang
Anda gunakan setiap hari. Jadi, sangat ekonomis dari segi biaya kepemilikan proyek. Karena
kami menggunakan perangkat keras komoditas berbiaya rendah, Anda tidak perlu
menghabiskan banyak uang untuk meningkatkan skala cluster Hadoop Anda. Dengan kata lain,
menambahkan lebih banyak node ke HDFS Anda akan menghemat biaya.
• Variety and Volume of Data
Ketika kita berbicara tentang HDFS maka kita berbicara tentang menyimpan data yang sangat
besar yaitu data Terabyte & petabyte dan berbagai jenis data. Jadi, Anda dapat menyimpan
semua jenis data ke dalam HDFS, baik itu terstruktur, tidak terstruktur, atau semi terstruktur.
9. • Reliability and Fault Tolerance
• Saat Anda menyimpan data di HDFS, ini secara internal membagi data yang diberikan ke
dalam blok data dan menyimpannya secara terdistribusi di seluruh kluster Hadoop Anda.
Informasi terkait blok data mana yang berada di node data mana yang direkam dalam
metadata. NameNode mengelola data meta dan DataNodes bertanggung jawab untuk
menyimpan data.
• Data Integrity
• Integritas Data berbicara tentang apakah data yang disimpan di HDFS saya benar atau tidak.
HDFS secara konstan memeriksa integritas data yang disimpan terhadap checksumnya.
Jika menemukan kesalahan apa pun, ia akan melaporkannya ke node nama. Kemudian,
simpul nama membuat replika baru tambahan dan karenanya menghapus salinan yang
rusak.
10. • High Throughput
• Throughput adalah jumlah pekerjaan yang dilakukan dalam satuan waktu. Ini berbicara tentang
seberapa cepat Anda dapat mengakses data dari sistem file. Pada dasarnya, ini memberi Anda
wawasan tentang kinerja sistem. Seperti yang Anda lihat dalam contoh di atas, kami menggunakan
sepuluh mesin secara kolektif untuk meningkatkan komputasi.
• Data Locality
• Lokalitas data berbicara tentang memindahkan unit pemrosesan ke data daripada data ke unit
pemrosesan. Dalam sistem tradisional kami, kami biasa membawa data ke lapisan aplikasi dan
kemudian memprosesnya. Namun sekarang, karena arsitektur dan volume data yang sangat besar,
membawa data ke lapisan aplikasi akan mengurangi kinerja jaringan ke tingkat yang terlihat.
• Jadi, di HDFS, kami membawa bagian komputasi ke node data tempat data berada. Karenanya, Anda
tidak memindahkan data, Anda membawa program atau bagian pemrosesan ke data.
Editor's Notes
Saat mengakses sistem file Hadoop Distributed dari salah satu dari sepuluh mesin di kluster Hadoop, Anda akan merasa seolah-olah telah masuk ke satu mesin besar yang memiliki kapasitas penyimpanan 10 TB (total penyimpanan lebih dari sepuluh mesin). Apa artinya? Ini berarti Anda dapat menyimpan satu file besar 10 TB yang akan didistribusikan ke sepuluh mesin (masing-masing 1 TB). Jadi, tidak terbatas pada batas fisik masing-masing mesin.
Mari kita pahami konsep ini dengan contoh di atas. Misalnya, diperlukan waktu 43 menit untuk memproses file 1 TB pada satu mesin. Jadi, sekarang beri tahu saya, berapa lama waktu yang diperlukan untuk memproses file 1 TB yang sama jika Anda memiliki 10 mesin di kluster Hadoop dengan konfigurasi serupa – 43 menit atau 4,3 menit? 4,3 menit, Benar! Apa yang terjadi disini? Setiap node bekerja dengan bagian dari file 1 TB secara paralel. Oleh karena itu, pekerjaan yang memakan waktu 43 menit sebelumnya, kini selesai hanya dalam 4,3 menit karena pekerjaan dibagi menjadi sepuluh mesin.