Sistem Big Data dan NoSQL
Sistem big data dan NoSQL adalah teknologi manajemen data yang dibangun untuk volume, kecepatan, dan variasi yang sulit ditangani oleh basis data relasional, menukar jaminan relasional yang ketat dengan skalabilitas horizontal, skema fleksibel, dan ketersediaan tinggi.
Definition
Sistem big data adalah platform manajemen data yang direkayasa untuk kumpulan data yang terlalu besar, cepat, atau bervariasi untuk basis data node tunggal tradisional; sistem NoSQL adalah penyimpanan non-relasional yang mengadopsi model data fleksibel dan konsistensi yang longgar untuk mencapai skalabilitas horizontal dan ketersediaan.
Scope
Area ini mencakup sistem data yang dirancang untuk skala masif: penyimpanan NoSQL (key-value, dokumen, wide-column, dan grafik) serta model data fleksibelnya; kerangka kerja pemrosesan paralel data yang berasal dari MapReduce; trade-off konsistensi-ketersediaan yang dijelaskan oleh teorema CAP dan spektrum model konsistensi; serta gudang data dan OLAP untuk analitik skala besar. Ini membahas bagaimana sistem-sistem ini melonggarkan atau mengatur ulang asumsi relasional untuk skala. Ini tidak termasuk internal komit terdistribusi dan eksekusi kueri paralel, yang dibahas dalam area basis data terdistribusi dan paralel.
Sub-topics
Core questions
- Kebutuhan skalabilitas dan fleksibilitas apa yang mendorong pergeseran melampaui basis data relasional?
- Model data apa yang disediakan oleh kategori NoSQL utama?
- Bagaimana kerangka kerja paralel data memproses kumpulan data besar di seluruh klaster?
- Trade-off konsistensi-ketersediaan apa yang dijelaskan oleh teorema CAP?
- Bagaimana gudang data dan OLAP mendukung kueri analitis skala besar?
Key concepts
- penyimpanan key-value, dokumen, wide-column, grafik
- skalabilitas horizontal
- fleksibilitas skema
- MapReduce dan pemrosesan paralel data
- teorema CAP
- konsistensi eventual
- BASE versus ACID
- gudang data dan OLAP
Key theories
- Penyimpanan NoSQL yang dapat diskalakan secara horizontal
- Sistem NoSQL meninggalkan model relasional node tunggal demi model key-value, dokumen, wide-column, atau grafik yang memecah dan mereplikasi di seluruh klaster komoditas, memprioritaskan skalabilitas dan ketersediaan daripada kueri yang kaya dan konsistensi yang kuat.
- Pemrosesan paralel data
- Kerangka kerja yang mengikuti model MapReduce mengekspresikan komputasi skala besar sebagai fase map dan reduce paralel di atas data yang dipartisi, menyembunyikan kompleksitas distribusi, penjadwalan, dan toleransi kesalahan dari pemrogram.
- Trade-off CAP
- Teorema CAP menyatakan bahwa penyimpanan data terdistribusi tidak dapat secara bersamaan menjamin konsistensi, ketersediaan, dan toleransi partisi, memaksa perancang untuk memilih, selama partisi jaringan, antara konsistensi dan ketersediaan.
Clinical relevance
Sistem big data dan NoSQL mendukung infrastruktur data web modern: penyimpanan key-value dan wide-column mendukung layanan dengan lalu lintas tinggi, kerangka kerja paralel data memproses log dan clickstream dalam skala besar, dan gudang data melayani analitik bisnis, menjadikan sistem ini sentral bagi rekayasa data dan aplikasi skala besar.
History
Beban kerja skala internet pada tahun 2000-an melampaui kemampuan basis data relasional node tunggal. MapReduce Google (2004/2008) dan ekosistem Hadoop sumber terbuka memungkinkan pemrosesan data skala klaster; Dynamo Amazon (2007) dan Bigtable Google menginspirasi gelombang penyimpanan NoSQL; dan teorema CAP Brewer membingkai trade-off konsistensi-ketersediaan yang diwujudkan oleh sistem-sistem ini.
Debates
- Konsistensi kuat versus eventual
- Sistem NoSQL sering memilih ketersediaan dan konsistensi eventual untuk tetap responsif di bawah partisi, tetapi ini mendorong penanganan konflik ke aplikasi; bidang ini memperdebatkan kapan konsistensi eventual dapat diterima versus kapan sistem yang lebih baru harus mengembalikan jaminan yang lebih kuat.
Key figures
- Jeffrey Dean
- Sanjay Ghemawat
- Eric Brewer
- Werner Vogels
Related topics
Seminal works
- dean2008
- decandia2007
- brewer2012
Frequently asked questions
- Apakah NoSQL berarti tidak ada SQL sama sekali?
- Tidak. NoSQL biasanya dibaca sebagai 'bukan hanya SQL'. Ini mengacu pada penyimpanan data yang tidak dibangun di atas model relasional dan tidak berpusat pada SQL, tetapi banyak sistem NoSQL menawarkan antarmuka kueri seperti SQL, dan istilah ini mencakup keluarga luas — basis data key-value, dokumen, wide-column, dan grafik — daripada satu teknologi tunggal.
- Kapan saya harus memilih sistem NoSQL daripada basis data relasional?
- Sistem NoSQL menarik ketika Anda perlu melakukan penskalaan horizontal di banyak mesin, menyimpan data yang fleksibel atau berkembang pesat, atau memaksimalkan ketersediaan untuk pola akses sederhana. Basis data relasional tetap lebih disukai ketika Anda membutuhkan kueri yang kaya, join yang kompleks, dan konsistensi transaksional yang kuat atas data terstruktur.