Isi kandungan:
- Kurang keperluan ETL
- Sokongan untuk teks tidak tersusun
- Keupayaan untuk mengendalikan perubahan dari masa ke masa
- Tiada pergantungan pada sihir SQL
- Keupayaan untuk skala secara mendatar pada perkakasan komoditi
- Lebar kefungsian
- Sokongan untuk pelbagai struktur data
- Pilihan Vendor
- Tiada kod warisan
- Kod pelaksana bersebelahan dengan data
Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Pangkalan data NoSQL bukan pengganti langsung untuk sistem pengurusan pangkalan data relasi (RDBMS). Untuk banyak masalah data, bagaimanapun, NoSQL adalah perlawanan yang lebih baik daripada RDBMS.
Kurang keperluan ETL
pangkalan data NoSQL menyokong menyimpan data "seperti yang ada. "Kedai nilai utama memberi anda keupayaan untuk menyimpan struktur data mudah, manakala pangkalan data pangkalan data NoSQL memberikan anda kemampuan untuk mengendalikan pelbagai struktur datar atau bersarang.
Kebanyakan data yang terbang di antara sistem adalah sebagai mesej. Biasanya, data mengambil salah satu daripada format berikut:
-
Objek binari yang akan diluluskan melalui satu set lapisan
-
Dokumen XML
-
Dokumen JSON
Mampu mengendalikan format ini secara native dalam pelbagai Pangkalan data NoSQL mengurangkan jumlah kod yang anda perlu tukar daripada format data sumber kepada format yang perlu disimpan. Ini dipanggil ekstrak, mengubah, dan memuat (ETL).
Dengan menggunakan pendekatan ini, anda dapat mengurangkan jumlah kod yang diperlukan untuk mula menggunakan pangkalan data NoSQL. Lebih-lebih lagi, kerana anda tidak perlu membayar kemas kini kod "paip" ini, kos penyelenggaraan yang berterusan berkurangan.
Sokongan untuk teks tidak tersusun
Kebanyakan data dalam sistem perusahaan tidak tersusun. Banyak pangkalan data NoSQL boleh mengendalikan pengindeksan teks tidak tersusun sama ada sebagai ciri asli (MarkLogic Server) atau satu set perkhidmatan bersepadu termasuk Solr atau Elasticsearch.
Dapat mengawal teks yang tidak tersusun dapat meningkatkan maklumat dan dapat membantu organisasi membuat keputusan yang lebih baik. Sebagai contoh, kegunaan lanjutan termasuk sokongan untuk berbilang bahasa dengan carian fleksibel, fungsi coretan, dan sokongan berpunca kata. Ciri lanjutan juga termasuk sokongan untuk kamus dan thesauri.
Selain itu, dengan menggunakan tindakan amaran carian pada data ingest, anda boleh mengekstrak entiti yang dinamakan dari direktori seperti penyenaraian orang, tempat, dan organisasi, yang membolehkan data teks lebih baik dikategorikan, ditandai, dan dicari.
Perkhidmatan pengayaan entiti seperti SmartLogic, OpenCalais, NetOwl, dan TEMIS Luxid yang menggabungkan maklumat yang diekstrak dengan maklumat lain menyediakan web maklumat yang kaya interleaved dan meningkatkan analisis dan penggunaan yang efisien.
Keupayaan untuk mengendalikan perubahan dari masa ke masa
Oleh kerana sifat agnostik skema pangkalan data NoSQL, mereka sangat mampu menguruskan perubahan - anda tidak perlu menulis semula rutin ETL jika struktur mesej XML antara perubahan sistem.
Beberapa pangkalan data NoSQL mengambil langkah ini lebih jauh dan memberikan indeks universal untuk struktur, nilai, dan teks yang terdapat dalam maklumat.Microsoft DocumentDB dan MarkLogic Server kedua-duanya memberikan keupayaan ini.
Jika struktur dokumen berubah, indeks ini membenarkan organisasi menggunakan maklumat tersebut dengan segera, dan bukannya menunggu beberapa bulan sebelum anda dapat menguji dan menulis semula sistem.
Tiada pergantungan pada sihir SQL
Bahasa Permintaan Terstruktur (SQL) adalah bahasa utama yang digunakan untuk menanyakan sistem pengurusan pangkalan data relasi. Mampu membina pertanyaan supaya mereka melaksanakan dengan baik telah bertahun-tahun menjadi seni berduri. Gabungan berbilang kompleks tidak mudah ditulis dari ingatan.
Walaupun beberapa pangkalan data NoSQL menyokong akses SQL, mereka berbuat demikian untuk keserasian dengan aplikasi sedia ada seperti alat perisikan perniagaan (BI). Pangkalan data NoSQL menyokong bahasa akses mereka sendiri yang boleh mentafsirkan data yang disimpan, dan bukannya memerlukan model hubungan dalam pangkalan data asas.
Ini lebih mentaliti pemikir-centric kepada reka bentuk pangkalan data dan antaramuka pengaturcaraan aplikasi akses mereka (API) adalah alasan pangkalan data NoSQL telah menjadi sangat popular di kalangan pemaju aplikasi.
Pemaju aplikasi tidak perlu mengetahui kerja dalaman dan vagari pangkalan data sebelum menggunakannya. Pangkalan data NoSQL memberi kuasa kepada pemaju untuk mengerjakan apa yang diperlukan dalam aplikasi dan bukannya memaksa pangkalan data hubungan untuk melakukan apa yang diperlukan.
Keupayaan untuk skala secara mendatar pada perkakasan komoditi
Pangkalan data NoSQL mengendalikan pembahagian ( sharding ) pangkalan data di beberapa pelayan. Oleh itu, jika keperluan penyimpanan data anda terlalu banyak, anda boleh terus menambah pelayan yang murah dan menyambungkannya ke kluster pangkalan data anda ( skala mendatar ) yang menjadikannya berfungsi sebagai perkhidmatan data tunggal.
Berbanding dengan dunia pangkalan data hubungan di mana anda perlu membeli perkakasan yang baru, lebih berkuasa dan lebih mahal untuk meningkatkan ( penegak menegak ). Sekiranya anda menggandakan jumlah data yang anda simpan, anda dengan mudah akan menguasai kos perkakasan yang anda perlukan.
Menyediakan ketahanan dan ketersediaan tinggi pangkalan data NoSQL dengan menggunakan perkakasan dan penyimpanan murah adalah salah satu aset utama NoSQL. Mampu berbuat demikian sambil menyediakan skala yang murah hati untuk kegunaan banyak juga tidak menyakiti!
Lebar kefungsian
Kebanyakan pangkalan data relasi menyokong ciri yang sama tetapi dengan cara yang sedikit berbeza, sehingga mereka semua sama.
Pangkalan data NoSQL, sebaliknya, terdapat dalam empat jenis teras: nilai utama, kolumnar, dokumen, dan kedai triple. Dalam jenis ini, anda boleh mencari pangkalan data untuk memenuhi keperluan anda (dan khusus!). Dengan begitu banyak pilihan, anda terikat untuk mencari pangkalan data NoSQL yang akan menyelesaikan masalah permohonan anda.
Sokongan untuk pelbagai struktur data
Banyak aplikasi memerlukan penyimpanan objek mudah, sementara yang lain memerlukan penyimpanan struktur yang sangat kompleks dan saling berkaitan. Pangkalan data NoSQL menyediakan sokongan untuk pelbagai struktur data.
-
Nilai, senarai, peta dan rentetan binari yang sederhana boleh dikendalikan dengan kelajuan tinggi di kedai-kedai penting.
-
Nilai maklumat berkaitan boleh dikumpulkan dalam keluarga lajur dalam klon Bigtable.
-
Struktur hierarchal ibu bapa dan anak yang sangat kompleks boleh diuruskan dalam pangkalan data dokumen.
-
Sebuah web maklumat yang saling berkaitan boleh dijelaskan secara fleksibel dan berkaitan dalam kedai tiga dan grafik.
Pilihan Vendor
Industri NoSQL dibanjiri dengan pangkalan data, walaupun banyak yang ada sekitar kurang dari sepuluh tahun. Sebagai contoh, IBM, Microsoft, dan Oracle baru-baru ini menurunkan jari kaki mereka ke pasaran ini. Akibatnya, banyak vendor menargetkan penonton tertentu dengan inovasi mereka sendiri. Varian sumber
Open-] tersedia untuk kebanyakan pangkalan data NoSQL, yang membolehkan syarikat meneroka dan mula menggunakan pangkalan data NoSQL dengan risiko yang minimum. Syarikat-syarikat ini kemudian boleh mengambil kaedah baru mereka untuk platform produksi dengan menggunakan persembahan perusahaan.
Tiada kod warisan
Oleh kerana mereka begitu baru, pangkalan data NoSQL tidak mempunyai kod warisan, yang bermakna mereka tidak perlu memberikan sokongan untuk platform perkakasan lama atau menjaga fungsi aneh dan jarang digunakan.
Pangkalan data NoSQL menikmati kadar pantas dari segi pembangunan dan pematangan. Ciri-ciri baru dikeluarkan sepanjang masa, dan ciri-ciri baru dan sedia ada dikemas kini dengan kerap (jadi vendor NoSQL tidak perlu mengekalkan asas kod yang sangat besar). Sebenarnya, siaran utama baru berlaku setiap tahun berbanding setiap tiga hingga lima tahun.
Kod pelaksana bersebelahan dengan data
Pangkalan data NoSQL telah diwujudkan dalam era Hadoop. Sistem fail yang sangat didistribusikan oleh Hadoop (HDFS) dan persekitaran pemprosesan batch (Map / Reduce) memberi isyarat perubahan dalam cara data disimpan, dipertimbangkan, dan diproses.
Kerja pertanyaan dan pemproses kini berpindah ke beberapa pelayan, yang menyediakan tahap selarasan tinggi untuk kedua-dua beban kerja dan permintaan pertanyaan. Mampu mengira agregasi di sebelah data juga menjadi norma.
Anda tidak lagi memerlukan sistem gudang data berasingan yang dikemas kini dalam sekelip mata. Dengan agregasi yang cepat dan pengendalian pertanyaan, analisis akan dihantar ke pangkalan data untuk pelaksanaan di sebelah data, yang bermaksud anda tidak perlu menghantar banyak data di sekitar rangkaian untuk mencapai analisis gabungan tempatan.