Anda di halaman 1dari 5

Big data storage

 Data dari sumber eksternal seringkali tidak dalam struktur formator yang dapat langsung
diproses.
 Perselisihan data diperlukan untuk memfilter, membersihkan, menyiapkan data untuk
analisis hilir.
 BigDatadatasets sering kali perlu disimpan dalam beberapa salinan.
 Membutuhkan strategi investor inovatif.
 Teknologi untuk mencapai solusi penyimpanan yang hemat biaya dan berskala tinggi.
Cluster
 Kumpulan server atau node yang sangat erat.
 Memiliki spesifikasi perangkat keras yang sama dan terhubung bersama melalui jaringan
untuk bekerja sebagai satu unit.
 Setiap node memiliki sumber daya khusus: memori, prosesor, hard drive.
 Sebuah cluster dapat menjalankan tugas dengan membaginya menjadi potongan-
potongan kecil dan mendistribusikan eksekusinya ke komputer yang berbeda.
File system
 Sebuah metode menyimpan dan mengatur data di perangkat penyimpanan.
 File adalah unit penyimpanan atom yang digunakan oleh sistem file untuk menyimpan
data
 Memberikan tampilan data yang logis.
 OS menggunakan sistem file untuk menyimpan dan mengambil data atas nama aplikasi
 Setiap OS mendukung satu atau lebih sistem file (NTFS dari Microsoft Windows dan
exton Linux)
Distributed file system
 Sistem file yang dapat menyimpan file besar yang tersebar di seluruh node cluster.
 Bagi klien, file tampaknya bersifat lokal; Namun, ini hanya tampilan logis karena secara
fisik file didistribusikan ke seluruh cluster.
 Memungkinkan file diakses dari berbagai lokasi.
 Contoh: Google File System (GFS) dan Hadoop Distributed File System (HDFS).
NOSQL (not-only SQl)
 Database non-relasional yang sangat skalabel, toleran terhadap kesalahan, dan dirancang
khusus untuk menampung data semi-terstruktur dan tidak terstruktur.
 Seringkali menyediakan antarmuka kueri berbasis API yang dapat dipanggil dari dalam
dan aplikasi.
 Mendukung bahasa query selain SQL:
 Dioptimalkan untuk menyimpan XML dan menggunakan Xquery.
 Dirancang untuk menyimpan RDF dan menggunakan SPARQL.
 Beberapa database NoSQL juga menyediakan antarmuka kueri seperti SQL.
Sharding
 Proses mempartisi secara horizontal kumpulan data yang lebih besar menjadi kumpulan
kumpulan data yang lebih kecil dan lebih mudah dikelola yang disebut pecahan.
 Didistribusikan ke beberapa node (server atau mesin).
 Setiap pecahan disimpan di node terpisah.
 Setiap node hanya bertanggung jawab atas data yang disimpan di dalamnya.
 Setiap pecahan memiliki skema yang sama.
 Semua pecahan secara kolektif mewakili kumpulan data lengkap.
How sharding works
 Setiap shard dapat secara independen melayani pembacaan dan penulisan untuk subset
data tertentu yang menjadi tanggung jawabnya.
 Bergantung pada kueri, data mungkin perlu diambil dari kedua shard.
Manfaat sharding
 Memberikan toleransi parsial terhadap kegagalan.
 Jika terjadi kegagalan node, hanya data yang disimpan di node tersebut yang terpengaruh.
Peringatan Sharding
 Pola kueri perlu diperhitungkan untuk menghindari kemacetan.
 Kueri yang membutuhkan data dari beberapa bagian akan meningkatkan kinerja penalti.
 Lokalitas data membuat data yang sering diakses tetap berada di lokasi yang sama
Replication
 Menyimpan banyak salinan dari sebuah set data, yang dikenal sebagai replika, di
beberapa node.
 Memberikan skalabilitas dan ketersediaan.
 Data yang sama direplikasi di berbagai node.
 Toleransi kesalahan juga dicapai dengan redundansi data.
 Dua metode berbeda:
o To different methods
o Peer-to-peer

Master-Slave
 Semua data ditulis ke node master.
 Setelah disimpan, data direplikasi ke beberapa node budak.
 Semua permintaan tulis eksternal, termasuk menyisipkan, memperbarui, dan menghapus,
terjadi pada node master, sedangkan permintaan baca dapat dipenuhi oleh node slave
mana pun.
 Permintaan baca dapat dipenuhi oleh node slave mana pun.
 Ideal untuk membaca beban intensif.
 Performa tulis menurun karena jumlah penulisan meningkat.
 Jika node master gagal, pembacaan masih dapat dilakukan melalui node slave mana pun.
Master-Slave write consistency
 Penulisan konsisten, karena semua penulisan dikoordinasikan oleh node master.
 Node budak dapat dikonfigurasi sebagai node cadangan untuk node master.
 Jika node master gagal, penulisan tidak didukung hingga node master dibuat kembali.
 Node master dapat dibangkitkan dari cadangan dari node master, atau masternode baru
dipilih dari node slave.
Peer-to-peer
 Dengan replikasi peer-to-peer, semua node beroperasi pada level yang sama.
 Setiap node, yang dikenal sebagai peer, sama-sama mampu menangani baca dan tulis.
 Setiap tulisan disalin ke semua rekan.
 Rawan menulis ketidakkonsistenan yang terjadi sebagai akibat dari update simultan dari
data yang sama di beberapa peer.
Concurrency handling strategy
 Konkurensi pesimistis
• Menggunakan penguncian: hanya satu pembaruan pada rekaman yang dapat terjadi
dalam satu waktu.
• Merugikan ketersediaan: rekaman database yang sedang diperbarui tetap tidak tersedia
sampai semua kunci dilepaskan.
 Konkurensi yang optimis
•Tidak menggunakan penguncian.
• Memungkinkan terjadinya ketidakkonsistenan.
• Konsistensi akhirnya akan tercapai setelah semua pembaruan disebarkan.
• Rekan mungkin tetap tidak konsisten untuk beberapa periode waktu sebelum mencapai
konsistensi.
Sharding and replication
•Meningkatkan toleransi kesalahan terbatas yang ditawarkan oleh sharding.
•Memanfaatkan peningkatan ketersediaan dan skalabilitas replikasi.
•Baik sharding dan replikasi dapat digabungkan.
•Dua cara untuk menggabungkan:
•Replikasi sharding dan master-slave
•Sharding dan replikasi peer-to-peer
Sharing + Master-Slave Replication
• Banyak pecahan menjadi budak dari satu master.
• Master itu sendiri adalah pecahan.
• Menghasilkan banyak master.
• Satu pecahan slave hanya dapat dikelola oleh satu pecahan master.
• Konsistensi penulisan dipertahankan oleh master-shard.
• Jika master-shard menjadi non-operasional, toleransi kesalahan untuk operasi tulis akan
terpengaruh.
• Replika pecahan pada beberapa node budak memberikan skalabilitas dan toleransi kesalahan
untuk operasi pembacaan.
CAP Theorem
•Konsistensi, Ketersediaan, dan Toleransi partisi (CAP) teorema, juga dikenal sebagai Teorema
Brewer.
•Ini menyatakan bahwa sistem database terdistribusi, yang berjalan di cluster, hanya dapat
menyediakan dua dari tiga properti berikut:
• Konsistensi: Pembacaan dari node mana pun akan menghasilkan data yang sama di
beberapa node.
• Ketersediaan: Permintaan baca / tulis akan selalu diakui dalam bentuk berhasil atau gagal.
• Toleransi partisi: Sistem database dapat mentolerir pemutusan komunikasi yang
memisahkan cluster menjadi beberapa silo dan masih dapat melayani permintaan baca / tulis
ACID
 Prinsip desain database yang terkait dengan manajemen transaksi.
 Atomicity
 Consistency
 Isolation
 durability
 Memanfaatkan konkurensi pesimistis untuk memastikan konsistensi melalui aplikasi kunci
rekaman.
 Pendekatan tradisional untuk transaksi database yang digunakan oleh RDBMS.
Durabillity
 Memastikan bahwa hasil operasi permanen.
 Setelah dilakukan, transaksi tidak dapat dibatalkan, terlepas dari kegagalan sistem apa
pun
Base
 Prinsip desain database berdasarkan CAPtheorem dan dimanfaatkan oleh sistem database
yang menggunakan teknologi terdistribusi.
 BASE singkatan dari:
Basically available
Soft state
Eventual consistency
 Lebih mengutamakan ketersediaan daripada konsistensi
 Memanfaatkan konkurensi optimis dengan melonggarkan batasan konsistensi kuat yang
diamanatkan oleh properti ACID.
Basically Available
 Selalu terima permintaan klien.
 Baik dalam bentuk data yang diminta atau notifikasi berhasil / gagal.
Eventual consistency
 Status yang dibaca oleh klien yang berbeda, segera setelah menulis ke database, mungkin
tidak mengembalikan hasil yang konsisten
 Basis data hanya mencapai konsistensi setelah perubahan telah disebarkan ke semua
node.
Bace versus ACID
 BASE menekankan ketersediaan daripada konsistensi langsung.
 ACID memastikan konsistensi langsung dengan mengorbankan ketersediaan karena
pencarian catatan.
 Database BASE dapat melayani banyak klien tanpa latensi apa pun meskipun
memberikan hasil yang tidak konsisten.
 Basis data yang sesuai dengan BASE tidak berguna untuk sistem ransaksional di mana
kurangnya konsistensi menjadi perhatian.

Anda mungkin juga menyukai