Rumah  >  Artikel  >  pangkalan data  >  Apakah ciri-ciri pangkalan data nosql

Apakah ciri-ciri pangkalan data nosql

青灯夜游
青灯夜游asal
2022-11-28 19:43:4121030semak imbas

Ciri-ciri Nosql: 1. Kebolehskalaan fleksibel; nosql menghilangkan ciri-ciri hubungan pangkalan data hubungan, tiada hubungan antara data, dan ia boleh dikembangkan dengan mudah. 2. Model data fleksibel; NoSQL menggunakan model bukan perhubungan seperti kunci/nilai dan keluarga lajur, membenarkan jenis data yang berbeza disimpan dalam satu elemen data. 3. NoSQL boleh bergantung pada keupayaan pengembangan mendatar yang baik untuk menggunakan sepenuhnya infrastruktur pengkomputeran awan dan menyepadukan dengan baik ke dalam persekitaran pengkomputeran awan. 4. Nosql mempunyai prestasi membaca dan menulis yang sangat tinggi, terutamanya apabila berurusan dengan jumlah data yang besar. 5. Ketersediaan yang tinggi.

Apakah ciri-ciri pangkalan data nosql

Persekitaran pengendalian tutorial ini: sistem Windows 7, komputer Dell G3.

Pengenalan kepada NoSQL

NoSQL ialah kaedah reka bentuk sistem pengurusan pangkalan data yang berbeza daripada pangkalan data umum istilah untuk pangkalan data hubungan Model data yang digunakannya bukanlah model hubungan pangkalan data hubungan tradisional, tetapi model bukan hubungan seperti kunci/nilai, keluarga lajur, dokumen, dll. Pangkalan data NoSQL tidak mempunyai struktur jadual tetap, biasanya tiada operasi gabungan, dan mereka tidak mematuhi kekangan ACID dengan ketat. Oleh itu, berbanding dengan pangkalan data hubungan, NoSQL mempunyai kebolehskalaan mendatar yang fleksibel dan boleh menyokong penyimpanan data yang besar.

Apakah itu ACID

  • Atomicity of transactions (Atomicity): bermaksud urus niaga sama ada dilaksanakan sepenuhnya atau tidak dilaksanakan, yang bermaksud transaksi adalah mustahil. berhenti separuh jalan sahaja. Contohnya, jika anda mengeluarkan wang dari ATM, transaksi ini boleh dibahagikan kepada dua langkah: 1Leret kad, 2 Bayar duit. Tidak mustahil untuk meleret kad tetapi wang tidak keluar. Kedua-dua langkah ini mesti diselesaikan pada masa yang sama atau tidak disiapkan langsung.
  • Ketekalan transaksi (Ketekalan): bermakna perjalanan transaksi tidak mengubah konsistensi data dalam pangkalan data. Contohnya, kekangan integriti a b=10 dan transaksi berubah a, kemudian b juga harus berubah dengan sewajarnya.
  • Kemerdekaan(Pengasingan): Kebebasan transaksi juga dipanggil pengasingan, yang bermaksud bahawa dua atau lebih urus niaga tidak akan dilaksanakan dalam cara bersilang. Kerana ini boleh menyebabkan data tidak konsisten.
  • Ketahanan(Ketahanan): Ketahanan transaksi bermakna selepas urus niaga dilaksanakan dengan jayanya, perubahan yang dibuat oleh urus niaga kepada pangkalan data disimpan secara kekal dalam pangkalan data dan tidak akan ditarik balik tanpa sebab

Ciri-ciri pangkalan data NoSQL

(1) Skala fleksibel

Disebabkan mekanisme reka bentuknya sendiri, pangkalan data perhubungan tradisional biasanya sukar untuk mencapai "pengembangan mendatar" apabila menghadapi peningkatan besar-besaran dalam beban pangkalan data. selalunya perlu untuk mencapai "pengembangan menegak" dengan menaik taraf perkakasan. NoSQLPangkalan data pada asalnya direka untuk memenuhi keperluan "pengembangan mendatar", jadi ia sememangnya mempunyai keupayaan pengembangan mendatar yang baik.

(2) Model data fleksibel

Pangkalan data perhubungan mempunyai takrifan piawai dan mematuhi pelbagai kekangan yang ketat. Walaupun pendekatan ini memastikan keperluan ketekalan data sistem perniagaan, model data yang terlalu tegar juga bermakna ia tidak dapat memenuhi pelbagai keperluan perniagaan yang muncul. Sebaliknya, pangkalan data NoSQL menggunakan model bukan perhubungan seperti kunci/nilai, keluarga lajur, dll., membenarkan jenis yang berbeza data untuk disimpan dalam satu elemen data.

(3) disepadukan rapat dengan pengkomputeran awan

Pengkomputeran awan mempunyai keupayaan pengembangan mendatar yang baik dan boleh diskalakan secara bebas mengikut penggunaan sumber Pelbagai sumber boleh ditambah atau dikeluarkan secara dinamik pangkalan data NoSQL boleh bergantung pada Keupayaan pengembangan mendatar mereka sendiri untuk menggunakan sepenuhnya dan bebas infrastruktur pengkomputeran awan, menyepadukan dengan baik ke dalam persekitaran pengkomputeran awan, dan membina perkhidmatan pangkalan data awan berdasarkan NoSQL.

(4) Kelantangan data yang besar, prestasi tinggi

Pangkalan data nosql mempunyai prestasi baca dan tulis yang sangat tinggi, terutamanya di bawah volum data yang besar, Ia juga berprestasi sangat tinggi. baik, terutamanya disebabkan oleh bukan perhubungan dan struktur pangkalan data yang mudah.

Biasanya nosql menggunakan Query Cache.

Cache NoSQL adalah tahap rekod dan Cache yang halus Oleh itu, dari aspek ini, prestasi NoSQL jauh lebih tinggi.

(5) Ketersediaan tinggi

Ketersediaan tinggi juga merupakan ciri jelas Nosql boleh dilaksanakan dengan sangat mudah tanpa menjejaskan prestasi seni bina yang sangat tersedia, termasuk contoh biasa Model Cassandra dan HBase Ketersediaan tinggi juga boleh dicapai melalui model.

Sebab kemunculan NoSQL

1, Pangkalan data perhubungan boleh tidak lagi memenuhi Web2.0 keperluan . Terutamanya dimanifestasikan dalam aspek berikut:

  • (1) tidak dapat memenuhi keperluan pengurusan data besar

  • Untuk laman web di atas, ia akan dapat dilaksanakan tidak lama lagi Menjana lebih daripada 10 bilion rekod, untuk pangkalan data hubungan, dalam jadual dengan 10 bilion rekodSQL pertanyaan sangat tidak cekap.

  • (2) tidak boleh memenuhi Keperluan untuk keselarasan data tinggi

  • (3 ) tidak dapat memenuhi keperluan berskala tinggi dan ketersediaan tinggi

2 Ciri pangkalan data telah menjadi "hambar" dalam era Web 2.0

Ciri-ciri utama pangkalan data hubungan termasuk mekanisme transaksi yang lengkap dan pertanyaan yang cekap mekanisme. Walau bagaimanapun, dua ciri utama yang dibanggakan oleh pangkalan data hubungan telah menjadi tidak berguna dalam era

Web2.0, terutamanya dalam aspek berikut:

(1) Sistem laman web Web 2.0 biasanya tidak memerlukan transaksi pangkalan data yang ketat

Bagi kebanyakan laman web Web 2.0, transaksi pangkalan data tidak lagi diperlukan. Sangat penting. Urus niaga pangkalan data biasanya mempunyai mekanisme pelaksanaan yang kompleks untuk memastikan konsistensi pangkalan data, yang memerlukan banyak overhed sistem Untuk laman web Web 2.0 yang mengandungi sejumlah besar permintaan baca dan tulis masa nyata yang kerap, kos melaksanakan transaksi tidak dapat ditanggung.

(2)

Web 2.0 tidak memerlukan pembacaan dan penulisan masa nyata yang ketat

Untuk pangkalan data hubungan, sebaik sahaja rekod data berjaya dimasukkan ke dalam pangkalan data, ia boleh disoal segera.

Untuk Web 2.0, tiada keperluan membaca dan menulis masa nyata sedemikian.

(3) Web 2.0 biasanya tidak mengandungi sejumlah besar pertanyaan SQL yang kompleks

Pertanyaan SQL yang kompleks biasanya mengandungi berbilang operasi gabungan Jadual. Walau bagaimanapun, tapak web Web 2.0 telah direka untuk meminimumkan atau mengelakkan operasi sedemikian, dan biasanya hanya menggunakan pertanyaan kunci utama bagi satu jadual Oleh itu, mekanisme pengoptimuman pertanyaan pangkalan data hubungan tidak boleh membuat perbezaan dalam Web 2.0.

Perbandingan NoSQL dan pangkalan data hubungan

RDBMS: pangkalan data hubungan

Apakah ciri-ciri pangkalan data nosql

Apakah ciri-ciri pangkalan data nosql

Apakah ciri-ciri pangkalan data nosql

Perbandingan NoSQL dan pangkalan data hubungan Ringkasan:

(1) pangkalan data hubungan

Kelebihan: Ia berdasarkan teori algebra hubungan lengkap, mempunyai piawaian yang ketat, menyokong empat sifat transaksi ASID, dan menggunakan mekanisme pengindeksan Ia boleh mencapai pertanyaan yang cekap, dengan teknologi matang dan sokongan teknikal daripada syarikat profesional

Kelemahan: Skala yang lemah, tidak dapat menyokong storan data besar-besaran yang lebih baik, model data terlalu tegar, tidak dapat menyokong aplikasi Web2.0 yang lebih baik, mekanisme transaksi mempengaruhi Prestasi sistem keseluruhan dsb.

(2) NoSQLPangkalan Data

Kelebihan: Ya Menyokong storan data berskala ultra besar, dan model data fleksibel boleh menyokong aplikasi Web2.0, dengan keupayaan pengembangan mendatar yang kuat, dsb.

Kelemahan: Kekurangan asas teori matematik, prestasi rendah pertanyaan kompleks, kebanyakannya tidak dapat mencapai konsistensi transaksi yang kukuh, sukar untuk mencapai integriti data, teknologi tidak matang, kekurangan pasukan profesional sokongan teknikal, penyelenggaraan yang sukar, dsb.

(3) Pangkalan data perhubungan dan pangkalan data NoSQL masing-masing mempunyai kelebihan dan kekurangan masing-masing dan tidak boleh menggantikan satu sama lain

Senario aplikasi pangkalan data hubungan: Sistem perniagaan utama dalam bidang telekomunikasi, perbankan dan lain-lain perlu memastikan kukuh. konsistensi transaksi

NoSQLSenario aplikasi pangkalan data: Perniagaan tidak kritikal (seperti analisis data) syarikat Internet dan syarikat tradisional

Mengguna pakai seni bina hibrid

  • Kes: Amazon menggunakan pelbagai jenis pangkalan data untuk menyokong aplikasi e-dagangnya
  • Untuk data sementara seperti "bakul beli-belah", gunakan Nilai-kunci storan akan menjadi lebih cekap
  • Maklumat produk dan pesanan semasa sesuai untuk penyimpanan dalam pangkalan data hubungan

NoSQL Empat jenis utama

NoSQL Walaupun terdapat banyak pangkalan data, secara ringkasnya, tipikal NoSQLPangkalan data biasanya termasuk pangkalan data nilai kunci, pangkalan data keluarga lajur, pangkalan data dokumen dan pangkalan data graf

1. Pangkalan data nilai kunci

Pangkalan data nilai kunci (Pangkalan Data Nilai-Kekunci) mempunyai Kunci khusus dan penunjuk yang menunjuk kepada Nilai tertentu dalam jadual. Kunci boleh digunakan untuk mencari Nilai, iaitu, untuk menyimpan dan mendapatkan Nilai tertentu. Nilai adalah telus dan tidak kelihatan kepada pangkalan data Nilai tidak boleh diindeks atau ditanya, dan hanya boleh ditanya melalui Key. Nilai boleh digunakan untuk menyimpan sebarang jenis data, termasuk integer, aksara, tatasusunan, objek, dsb.

Senario aplikasi: Aplikasi berorientasikan sesi (seperti aplikasi Web ) dilancarkan apabila pengguna log dalam sesi dan kekal aktif sehingga pengguna log keluar atau sesi tamat. Pada masa ini, aplikasi menyimpan semua data berkaitan sesi dalam memori utama atau dalam pangkalan data. Data sesi mungkin termasuk maklumat profil pengguna, mesej, data dan tema pemperibadian, cadangan, promosi disasarkan dan diskaun. Setiap sesi pengguna mempunyai pengecam unik. Data sesi tidak boleh ditanya pada mana-mana kunci selain daripada kunci utama, jadi storan nilai kunci yang pantas adalah lebih sesuai untuk data sesi. Secara umum, pangkalan data nilai kunci mungkin menawarkan kurang overhed setiap halaman daripada pangkalan data hubungan.

Apakah ciri-ciri pangkalan data nosql

2.
3. Pangkalan data dokumen

Apakah ciri-ciri pangkalan data nosql

4

Apakah ciri-ciri pangkalan data nosql

5. Analisis perbandingan pelbagai jenis pangkalan data

Apakah ciri-ciri pangkalan data nosql

  • MySQL: dihasilkan lebih awal dan matang dengan trend LAMPU. Walaupun tiada penambahbaikan besar, pangkalan data yang paling banyak digunakan di Internet yang baru muncul
  • MongoDB: ialah perkara baharu yang menyediakan lebih fleksibiliti Data model, penyerahan tak segerak, indeks lokasi geografi dan pelbagai fungsi lain
  • HBase: ialah askar gajah yang "membuli". Bergantung pada persekitaran ekologi Hadoop, ia boleh mempunyai kebolehskalaan yang baik. Tetapi sama seperti askar gajah, pengguna perlu menaikkan seekor gajah (Hadoop), untuk memandunya
  • Redis: ialah wakil storan nilai kunci dengan fungsi paling mudah. Menyediakan storan data rawak. Sama seperti kayu, tidak ada struktur tambahan. Tetapi tepat kerana ini, skalabilitinya sangat baik. Sama seperti cudgel emas di tangan Wukong, yang besar boleh memecahkan langit, dan yang kecil boleh menyusut menjadi jarum

Tiga asas NoSQL

Apa yang dipanggil CAP merujuk kepada:

  • C(Ketekalan ): Ketekalan bermaksud mana-mana operasi baca sentiasa boleh membaca hasil operasi tulis yang telah selesai sebelum ini, iaitu, dalam persekitaran teragih, data pada berbilang titik adalah konsisten, atau dengan kata lain, semua nod mempunyai data yang sama pada masa yang sama
  • J: ( Ketersediaan): Ketersediaan merujuk kepada pemerolehan data yang pantas dan keupayaan untuk kembali keputusan operasi dalam masa tertentu , memastikan setiap permintaan dijawab tanpa mengira kejayaan atau kegagalan ; >
  • Toleransi Pembahagian Rangkaian): Toleransi partition merujuk kepada arus Apabila partition rangkaian berlaku (iaitu, sesetengah nod dalam sistem tidak dapat berkomunikasi dengan nod lain), sistem yang dipisahkan juga boleh berjalan secara normal , iaitu kehilangan atau kegagalan sebarang maklumat dalam sistem tidak akan menjejaskan operasi berterusan sistem . CAPTeori memberitahu kita bahawa adalah mustahil untuk sistem teragih memenuhi tiga keperluan iaitu ketekalan, ketersediaan dan toleransi partition pada masa yang sama. Mengenyangkan dua daripada mereka pada masa yang sama adalah seperti kata pepatah, "Anda tidak boleh memiliki kek anda dan makan juga."

Apabila berurusan dengan

CAPApakah ciri-ciri pangkalan data nosql

terdapat beberapa pilihan yang jelas:

  • CA: iaitu, menekankan ketekalan (C) dan ketersediaan (A), tinggalkan toleransi partition (P), cara paling mudah ialah meletakkan semua kandungan berkaitan urus niaga dalam keadaan yang sama pada mesin. Jelas sekali, pendekatan ini akan menjejaskan skalabiliti sistem dengan serius. Pangkalan data hubungan tradisional (MySQL, SQL Server dan PostgreSQL), semua Ini prinsip reka bentuk diterima pakai, jadi skalabilitinya agak lemah

  • CP: iaitu, penekanan adalah pada seks konsistensi (C) dan toleransi partition (P), tolak ketersediaan (A ), apabila partition rangkaian berlaku, perkhidmatan yang terjejas perlu menunggu sehingga data menjadi konsisten, jadi mereka tidak boleh menyediakan perkhidmatan luaran semasa tempoh menunggu

  • AP: iaitu, menekankan ketersediaan (A) dan toleransi partition (P ), meninggalkan konsistensi (C), membenarkan sistem mengembalikan data yang tidak konsisten

BASE

Saya sebut ASID sebelum ini, sekarang mari kita bercakap tentang BASE(B secara asasnya Availble, S kebiasaannya, Eketekalan akhirnya)

Bvailble), status lembut (

ASID

ASAS

Atom Sex(Atomicity)

Secara asasnya tersedia(Bsecara asasnya Atersedia )

Ketekalan(Cketekalan )

Keadaan lembut/Transaksi yang fleksibel(Skerap keadaan)

Pengasingan(Sayapengasingan)

Konsistensi akhirnya(Ekonsistensi akhirnya)

Kegigihan(D uble)

secara asasnya


A

S kerap keadaan) dan akhirnya konsistensi (Ekonsistensi akhirnya) : Keadaan lembut "Keadaan (keadaan lembut)" ialah rumusan yang sepadan dengan "keadaan keras (keadaan keras

)". Apabila data yang disimpan dalam pangkalan data berada dalam "keadaan keras", ketekalan data boleh dijamin, iaitu data sentiasa betul. "Keadaan lembut" bermaksud keadaan boleh menjadi tidak segerak untuk satu tempoh masa, dengan tahap kelewatan tertentu
konsistensi akhirnya

Jenis konsistensi termasuk konsistensi yang kuat dan konsisten yang lemah Perbezaan utama antara kedua-duanya ialah sama ada operasi seterusnya boleh mendapatkan data terkini di bawah operasi capaian data yang sangat serentak. Untuk ketekalan yang kukuh, selepas operasi kemas kini dilakukan, operasi baca seterusnya boleh menjamin bahawa data terkini selepas kemas kini dibaca sebaliknya, jika ia tidak dijamin bahawa akses berikutnya membaca data terkini selepas kemas kini, maka Ia adalah konsistensi yang lemah. Konsistensi terakhir hanyalah kes khas konsistensi yang lemah, yang membolehkan operasi capaian seterusnya tidak dapat membaca data yang dikemas kini buat sementara waktu, tetapi selepas satu tempoh masa, data yang dikemas kini mesti dibaca akhirnya .
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati:

Pengajaran Pengaturcaraan! !

Atas ialah kandungan terperinci Apakah ciri-ciri pangkalan data nosql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn