Video: SQL vs. Hadoop: Acid vs. Base 2024
Salah satu ciri sistem database relasional adalah sesuatu yang dikenal sebagai kepatuhan 994> ASID. Seperti dugaan Anda, ACID adalah akronim - huruf-huruf individual, yang dimaksudkan untuk menggambarkan karakteristik transaksi database individual, dapat diperluas seperti yang dijelaskan dalam daftar ini: Atomicity:
-
Transaksi database harus sepenuhnya sukses atau gagal sepenuhnya Keberhasilan sebagian tidak diijinkan.
-
Selama transaksi database, RDBMS berkembang dari satu negara yang valid ke yang lain. Negara tidak pernah salah Isolasi:
-
Transaksi database klien harus terjadi terpisah dari klien lain yang mencoba bertransaksi dengan RDBMS. Daya tahan:
-
Operasi data yang merupakan bagian dari transaksi harus tercermin dalam penyimpanan sampah non-organik (memori komputer yang dapat mengambil informasi tersimpan meskipun tidak didukung - seperti hard disk) dan bertahan setelah transaksi berhasil diselesaikan. Kegagalan transaksi tidak dapat meninggalkan data dalam keadaan yang sebagian dilakukan.
Hadoop sendiri tidak memiliki konsep transaksi (atau bahkan catatan, dalam hal ini), jadi ini jelas bukan sistem yang sesuai dengan ACID. Berpikir lebih spesifik tentang penyimpanan data dan proyek pengolahan di ekosistem Hadoop secara keseluruhan, tidak satupun dari keduanya sepenuhnya sesuai dengan ASAM. Namun, mereka
melakukanmencerminkan properti yang sering Anda lihat di toko data NoSQL, jadi ada beberapa preseden pendekatan Hadoop. Salah satu konsep kunci dibalik toko data NoSQL adalah tidak semua aplikasi benar-benar membutuhkan transaksi yang sesuai dengan ACID. Bersantai dengan properti ACID tertentu (dan menjauh dari model relasional) telah membuka banyak kemungkinan, yang memungkinkan beberapa toko data NoSQL untuk mencapai skalabilitas dan kinerja yang hebat untuk aplikasi niche mereka. Sedangkan ACID mendefinisikan karakteristik kunci yang dibutuhkan untuk pemrosesan transaksi yang andal, dunia NoSQL memerlukan karakteristik yang berbeda untuk memungkinkan fleksibilitas dan skalabilitas.Karakteristik lawan ini dengan cerdik tertangkap dalam akronim BASE:
B
asically
-
A vailable: Sistem ini dijamin tersedia untuk di query oleh semua pengguna. (Tidak ada isolasi di sini.) S oft State:
-
Nilai yang tersimpan dalam sistem dapat berubah karena model konsistensi akhirnya, seperti yang dijelaskan pada butir berikutnya. E akhirnya Konsisten:
-
Saat data ditambahkan ke sistem, status sistem direplikasi secara bertahap di semua node. Sebagai contoh, di Hadoop, ketika sebuah file ditulis ke HDFS, replika blok data dibuat di node data yang berbeda setelah blok data asli ditulis. Untuk jangka pendek sebelum blok direplikasi, keadaan sistem file tidak konsisten. Basis akronim sedikit dibikin, karena kebanyakan penyimpanan data NoSQL tidak sepenuhnya mengabaikan karakteristik ACID - tidak benar-benar konsep berlawanan kutub yang namanya disiratkan, dengan kata lain. Juga, Soft State dan Akhirnya Karakteristik Konsisten memiliki jumlah yang sama, namun intinya adalah bahwa dengan menenangkan konsistensi, sistem dapat secara horisontal berskala (banyak simpul) dan memastikan ketersediaan. Tidak ada diskusi tentang NoSQL yang lengkap tanpa menyebutkan teorema CAP, yang mewakili tiga jenis jaminan yang akan diberikan oleh arsitek dalam sistem mereka:
Konsistensi: Serupa dengan C di ACID, semua simpul dalam sistem akan memiliki tampilan data yang sama setiap saat. Ketersediaan:
Sistem selalu merespons permintaan.
-
Toleransi partisi: Sistem tetap online jika terjadi masalah jaringan di antara simpul sistem.
-
Teorema CAP menyatakan bahwa dalam sistem jaringan terdistribusi, arsitek harus memilih dua dari tiga jaminan ini - Anda tidak dapat menjanjikan ketiga pengguna Anda. Itu membuat Anda dengan tiga kemungkinan yang ditunjukkan: Sistem yang menggunakan teknologi relasional tradisional
-
biasanya tidak partisi toleran, sehingga bisa menjamin konsistensi dan ketersediaan. Singkatnya, jika salah satu bagian dari sistem teknologi relasional tradisional ini offline, keseluruhan sistem sedang offline. Sistem dimana toleransi partisi dan ketersediaan sangat penting
tidak dapat menjamin konsistensi, karena pembaruan (perusak konsistensi) dapat dilakukan di kedua sisi partisi. Toko kunci-nilai Dynamo dan CouchDB dan toko keluarga kolom Cassandra adalah contoh populer dari sistem partisi tolerant / availability (PA).
-
Sistem dimana toleransi partisi dan konsistensi sangat penting tidak dapat menjamin ketersediaan karena sistem mengembalikan kesalahan sampai keadaan terpartisi terpecahkan.
-
Toko data berbasis Hadoop dianggap sebagai sistem CP ( c
-
gigih dan p
toleran artian). Dengan data yang tersimpan berlebihan di banyak simpul budak, padam sebagian besar (partisi) cluster Hadoop dapat ditolerir. Hadoop dianggap konsisten karena memiliki toko metadata utama (NameNode) yang mempertahankan satu, tampilan konsisten data yang tersimpan dalam cluster.