Penjelasan istilah BASE

170

The DASAR singkatan digunakan untuk menggambarkan sifat-sifat database tertentu, biasanya database NoSQL. Ini sering disebut sebagai kebalikan dari ACID .

Hanya ada beberapa artikel yang menyentuh rincian BASE, sedangkan ACID memiliki banyak artikel yang menguraikan masing-masing sifat atomisitas, konsistensi, isolasi dan daya tahan. Wikipedia hanya mencurahkan beberapa baris untuk istilah ini.

Ini membuat saya beberapa pertanyaan tentang definisi :

B asically A vailable, S oft state, E konsistensi ventual

Saya telah menafsirkan properti-properti ini sebagai berikut, menggunakan artikel ini dan imajinasi saya:

Pada dasarnya yang tersedia bisa merujuk pada persepsi ketersediaan data. Jika satu node gagal, bagian dari data tidak akan tersedia, tetapi seluruh lapisan data tetap operasional.

  • Apakah interpretasi ini benar, atau apakah mengacu pada sesuatu yang lain?
  • Pembaruan: disimpulkan dari jawaban Mau , apakah ini berarti seluruh lapisan data selalu menerima data baru, yaitu tidak ada skenario penguncian yang mencegah data dari dimasukkan segera?

Status lunak : Yang bisa saya temukan adalah konsep data yang membutuhkan periode refresh. Tanpa penyegaran, data akan kedaluwarsa atau dihapus.

  • Penghapusan data secara otomatis dalam database terasa aneh bagi saya.
  • Data kadaluarsa atau basi lebih masuk akal. Tetapi konsep ini akan berlaku untuk semua jenis penyimpanan data yang berlebihan, bukan hanya NoSQL. Apakah itu menggambarkan sesuatu yang lain?

Konsistensi akhirnya berarti bahwa pembaruan pada akhirnya akan beriak ke semua server, diberikan waktu yang cukup.

  • Properti ini jelas bagi saya.

Dapatkah seseorang menjelaskan properti ini secara detail?

Atau apakah itu hanya akronim yang dibuat-buat dan tidak bermakna yang merujuk pada konsep asam dan basa seperti yang ditemukan dalam kimia?

Niels van der Rest
sumber

Jawaban:

194

Akronim BASE didefinisikan oleh Eric Brewer , yang juga dikenal karena merumuskan teorema CAP .

Teorema CAP menyatakan bahwa sistem komputer terdistribusi tidak dapat menjamin ketiga properti berikut secara bersamaan:

  • Konsistensi
  • Ketersediaan
  • Toleransi partisi

Sistem BASE menyerah pada konsistensi.

  • Pada dasarnya yang tersedia menunjukkan bahwa sistem tidak ketersediaan jaminan, dalam hal teorema CAP.
  • Status lunak menunjukkan bahwa keadaan sistem dapat berubah seiring waktu, bahkan tanpa input. Ini karena model konsistensi akhirnya.
  • Konsistensi akhirnya menunjukkan bahwa sistem akan menjadi konsisten dari waktu ke waktu, mengingat bahwa sistem tidak menerima input selama waktu itu.

Brewer mengakui bahwa akronim itu dibuat-buat :

Saya datang dengan akronim [DASAR] dengan siswa saya di kantor mereka awal tahun itu. Saya setuju itu dibuat sedikit, tetapi begitu juga "ASAM" - jauh lebih banyak daripada yang disadari orang, jadi kami pikir itu cukup baik.

Niels van der Rest
sumber
33
Pada dasarnya tersedia TIDAK menjamin ketersediaan. itu artinya, sebagian besar tersedia tetapi server mungkin turun karena berbagai alasan.
DarthVader
@Neils, jadi apakah ACID menyerah ketersediaan atau toleransi patition?
Pacerier
@ Peracerier, di situlah teorema CAP mulai menunjukkan kekurangannya :) Jika sistem menjamin toleransi partisi, ia mengorbankan ketersediaan jika partisi. Jika sistem menjamin ketersediaan, itu menyerah pada toleransi partisi yang berarti bahwa partisi akan membuat sistem tidak tersedia (atau tidak konsisten). Sehingga Anda dapat melihat bahwa 'ketersediaan' dan 'toleransi partisi' berjalan seiring. Ada lebih detail tentang ini di artikel ini .
Niels van der Rest
1
Tidak ilmiah, tetapi dari pengamatan saya, ketika berbicara tentang Layanan Web, ACID paling sering dikaitkan dengan SOAP dan BASE lebih dekat dengan layanan REST (RESTful). Dan untuk diskusi yang lebih jelas tentang konsistensi akhirnya, lihat debat antara pendukung MongoDB dan CouchDB.
charles ross
CAP "theorem" dibedah secara matematis (tetapi sangat mudah dibaca) dan didiskusikan dengan cara yang sangat cerdas oleh Mark Burgess , yang artikelnya sedang saya baca. (Saya ditautkan di sana oleh Wikipedia .)
Wildcard
45

Ini ada hubungannya dengan BASE : jenis jumper BASE selalu pada dasarnya tersedia (untuk hubungan baru), dalam keadaan lunak (tidak ada hubungannya yang bertahan lama) dan akhirnya konsisten (suatu hari dia akan menikah).

Mau
sumber
Ok, jadi Anda mengatakan database ACID jauh lebih baik daripada BASE?
Pacerier
2
Au contraire, BASE selalu lebih menyenangkan.
Mau
8
Ya, itu sebenarnya roti harian saya dan jika Anda menginginkan jawaban yang serius, ACID.
Mau
1
@Pacerier Eric Brewer ho menciptakan BASE istilah, menunjukkan bahwa sementara bank dan lembaga keuangan berbicara tentang kendala ACID, dalam kenyataannya, mereka tidak sepenuhnya berbicara ( highscalability.com/blog/2013/5/1/... )
dandan
2
@Pacerier dan Mau, bagaimana dengan NewSQL? Apakah Anda memilihnya daripada NoSQL (BASE) dan relasional (ACID)?
Boris Mocialov
6
  • Ketersediaan Dasar : Basis data tampaknya berfungsi sebagian besar waktu.

  • Soft State : Toko tidak harus konsisten atau saling menulis sepanjang waktu.

  • Konsistensi akhirnya : Data harus selalu konsisten, sehubungan dengan bagaimana sejumlah perubahan dilakukan.

MANISH PRIYADARSHI
sumber
4

ACID dan BASE adalah masing-masing model konsistensi untuk RDBMS dan NoSQL. Transaksi ACID jauh lebih pesimistis yaitu mereka lebih khawatir tentang keamanan data. Dalam dunia basis data NoSQL, transaksi ACID menjadi kurang modis karena beberapa basis data telah melonggarkan persyaratan untuk konsistensi, kesegaran data, dan keakuratan dengan segera untuk mendapatkan manfaat lain, seperti skalabilitas dan ketahanan.

BASE adalah singkatan dari -

  • Ketersediaan Dasar - Basis data tampaknya berfungsi sebagian besar waktu.
  • Status lunak - Toko tidak harus konsisten-tulis, juga replika yang berbeda tidak harus saling konsisten sepanjang waktu.
  • Konsistensi akhirnya - Menyimpan konsistensi pameran di beberapa titik kemudian (misalnya, malas saat membaca).

Oleh karena itu BASE mengendurkan konsistensi untuk memungkinkan sistem memproses permintaan bahkan dalam keadaan tidak konsisten.

Contoh : Tidak ada yang keberatan jika tweet mereka tidak konsisten dalam jejaring sosial mereka untuk waktu yang singkat. Lebih penting untuk mendapatkan respons langsung daripada memiliki status informasi pengguna yang konsisten.

Pujan Srivastava
sumber
1
Konsistensi akhirnya sebenarnya memiliki dampak yang tidak diinginkan. Apakah Anda pernah mengalami pelambatan obrolan LinkedIn. Anda membalas dengan satu kalimat, dan kemudian membalas dengan yang lain. Kemudian karena Konsistensi Akhirnya, atau kurangnya penerapannya yang tepat, Anda berakhir dengan dua balasan Anda yang beralih bersama. Ya, Anda mendapat 2 balasan di obrolan pada akhirnya, tetapi mereka tidak dalam urutan yang dimaksud.
zmechanic
2

Untuk menambah jawaban lain, saya pikir akronim diturunkan untuk menunjukkan skala antara dua istilah untuk membedakan seberapa handal transaksi atau permintaan di mana antara RDMS versus Big Data.

Dari artikel ini asam vs basa

Dalam Kimia, pH mengukur kebasaan relatif dan keasaman dari larutan (pelarut dalam air). Skala pH meluas dari 0 (zat yang sangat asam seperti asam baterai) hingga 14 (zat yang sangat basa seperti bohong); air murni pada 77 ° F (25 ° C) memiliki pH 7 dan netral.

Insinyur data telah secara pintar meminjam asam vs basa dari ahli kimia dan menciptakan akronim yang walaupun tidak tepat artinya, masih merupakan representasi tepat dari apa yang terjadi dalam sistem basis data tertentu ketika membahas keandalan pemrosesan transaksi.

Satu hal lagi, karena saya bekerja dengan Big Data menggunakan Elasticsearch. Untuk memperjelas, turunan dari Elasticsearch adalah sebuah node dan sekelompok node membentuk sebuah cluster.

Bagi saya dari sudut pandang praktis, BA (Dasarnya Tersedia), dalam konteks ini, memiliki gagasan beberapa master node untuk menangani cluster Elasticsearch dan operasinya.

Jika Anda memiliki 3 node master dan node master yang mengarahkan saat ini turun, sistem akan tetap aktif, meskipun dalam keadaan kurang efisien, dan node master lainnya menggantikannya sebagai node master pengarah utama. Jika dua node master turun, sistem masih tetap dan node master terakhir mengambil alih.

James Drinkard
sumber
0

Itu bisa saja karena ACID adalah satu set sifat yang ditunjukkan zat (dalam Kimia) dan BASE adalah set pelengkap dari mereka. Soft State Eventual Consistency 'diputuskan karena bentuknya lengkap.

siebenheaven
sumber
2
Itu mungkin menjelaskan bagaimana akronim datang ke ada, tetapi tidak menjelaskan apa berbagai properti berarti .
Jmb
Penggunaan kata-kata seperti 'Pada dasarnya' yang bahkan tidak signifikan dalam hal makna yang mereka bawa menunjukkan bahwa akronim dipilih terlebih dahulu (ACID vs BASE) dan kemudian kata-kata itu ditemukan untuk mengurutkan mengisi bagian akronim . Itu mungkin mengapa kami tidak menemukan banyak penjelasan dan referensi (dibandingkan dengan kata-kata dari ACID, penjelasan yang dapat Anda temukan di setiap halaman yang berbicara tentang RDBMS) dengan apa arti kata-kata ini.
siebenheaven
Saya menemukan ini benar menarik, karena "Pada dasarnya Tersedia" tampaknya begitu dipaksakan.
Ricardo Pedroni