Isi kandungan:
- Tidak perlu menulis SQL
- Jangan menghabiskan bulanan merancang skema
- Kurang kod transformasi data (ETL)
- Lebih mudah untuk mengekalkan kod
- Jalankan kod yang berdekatan dengan data untuk prestasi terbaik
- Banyak pilihan sumber terbuka
- Mudah untuk skala
- Model data konsisten yang akhir
- Sokongan bahasa esoterik
- JavaScript end-to-end
Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Populariti pangkalan data NoSQL timbul daripada bilangan pemaju yang sangat gembira menggunakannya. Pemaju melihat NoSQL sebagai teknologi yang membolehkan dan membebaskan. Tidak seperti pendekatan hubungan tradisional, NoSQL memberikan anda cara untuk bekerja dengan data yang lebih dekat dengan aplikasi daripada model data hubungan.
Pemaju mengamalkan teknologi NoSQL atas sebab-sebab yang banyak, beberapa di antaranya diserlahkan di sini:
Tidak perlu menulis SQL
Menulis Bahasa Terstruktur Berstruktur (SQL) - dan melakukannya dengan baik - adalah ancaman dari banyak wujud pemaju perusahaan. Kesakitan ini adalah kerana menulis pertanyaan yang sangat rumit dengan banyak menyertai semua jadual berkaitan tidak mudah dilakukan. Lebih-lebih lagi, berdasarkan kepada perubahan pangkalan data yang tetap dari masa ke masa, mengekalkan kod pertanyaan kompleks adalah pekerjaan dalam dan dari dirinya sendiri.
Pemaju perusahaan telah mencipta beberapa cara untuk mengelakkan menulis SQL. Salah satu cara yang paling popular adalah melalui penggunaan perpustakaan Pemetaan Objek (ORM), Hibernate. Hibernate mengambil fail konfigurasi dan satu atau lebih objek dan abstrak dari SQL jahat supaya pemaju tidak perlu menggunakannya. Ini datang dengan kos dari segi prestasi, tentu saja, dan tidak menyelesaikan semua kes penggunaan pertanyaan. Kadang-kadang anda perlu kembali ke SQL.
Pangkalan data NoSQL menyediakan bahasa pertanyaan mereka sendiri, yang disesuaikan dengan cara data diuruskan oleh pangkalan data dan kepada operasi yang paling sering dilakukan oleh pemaju. Pendekatan ini menyediakan mekanisme pertanyaan yang lebih mudah daripada pernyataan bersarang SQL.
Sesetengah pangkalan data NoSQL juga menyediakan antara muka SQL untuk meninjau pangkalan data NoSQL, sekiranya pemaju tidak boleh mematahkan kebiasaan SQL!
Jangan menghabiskan bulanan merancang skema
Agnostikisme skema dalam pangkalan data NoSQL membolehkan anda memuatkan data dengan cepat tanpa perlu membuat skema relasi dalam tempoh beberapa bulan. Anda tidak perlu menganalisis di depan setiap item data yang anda perlukan untuk menyimpan dalam NoSQL, seperti yang anda lakukan dengan RDBMS.
Kurang kod transformasi data (ETL)
Masalah biasa dengan pangkalan data relasi yang berasal dari mempunyai reka bentuk skema yang mendahului adalah bahawa anda perlu memaksa data yang tidak berkaitan ke dalam baris dan lajur. Mekanisme perincikan ini, bersama-sama dengan kaedah kod lain yang memproses maklumat untuk penyimpanan dan memproses pasca untuk mendapatkan semula disebut sebagai ekstrak, transformasi, dan beban (ETL) .
Kod ini memaksa pemaju untuk mengambil objek berkilat dan model dokumen yang bagus dan menulis kod untuk menyimpan setiap unsur terakhir. Melakukannya adalah jahat dan juga membawa kepada pemaju berkemahiran tinggi menulis kod paip yang tidak memuaskan dan tidak menarik.
Pangkalan data NoSQL membolehkan anda menyimpan struktur data yang disimpan lebih dekat dengan bentuk asalnya. Data yang mengalir di antara sistem biasanya dalam format XML, manakala apabila ia datang kepada aplikasi web, data diformatkan dalam dokumen JSON. Dapat menyimpan, menguruskan, dan mencari secara asli JSON adalah manfaat yang besar kepada pemaju aplikasi.
Lebih mudah untuk mengekalkan kod
Semua kod yang anda tulis mesti dikekalkan. Dengan menyimpan struktur pangkalan data yang dekat dengan format data kod aplikasi, anda mengurangkan jumlah kod, yang seterusnya meminimumkan penyelenggaraan kod dan ujian regresi yang perlu anda lakukan dari masa ke masa.
Apabila struktur data berubah pada RDBMS, anda perlu mengkaji semua kod SQL yang boleh menggunakan jadual yang diubah. Dalam NoSQL, anda hanya menambah sokongan untuk elemen baru, atau hanya mengabaikannya! Lebih mudah untuk mengekalkan, terima kasih kepada sifat skema-agnostik pangkalan data NoSQL.
Jalankan kod yang berdekatan dengan data untuk prestasi terbaik
RDBMS menyediakan prosedur tersimpan untuk melaksanakan kod pada pelayan pangkalan data. Kod ini dilaksanakan di satu tempat. Pendekatan yang berguna ini adalah asas banyak aplikasi pengurusan data analitik dan kompleks.
Banyak pangkalan data NoSQL membenarkan kod jenis ini diedarkan di semua pelayan yang menyimpan data yang relevan, yang membolehkan untuk selaraskan beban kerja yang lebih besar. Pendekatan ini amat penting untuk pengambilan data yang memerlukan pemprosesan dan untuk analisis agregasi kompleks pada masa pertanyaan.
Fungsi yang ditakrifkan oleh pengguna (UDFs) dan skrip sisi pelayan dalam pelbagai pangkalan data NoSQL memberikan keupayaan yang diedarkan ini. UDFs adalah sama dengan kemampuan Mapado yang Hadoop, kecuali UDFs boleh berlaku dalam masa nyata dan bukannya dalam mod batch dan tidak memerlukan pengeluaran yang sama dalam infrastruktur yang Hadoop ditambah dengan pangkalan data yang diperlukan.
Banyak pilihan sumber terbuka
Di banyak kawasan perisian perusahaan, pilihan penyelesaian sumber terbuka pepejal tidak mencukupi. Hanya satu atau dua pilihan yang tersebar luas mungkin wujud. Ketersediaan kemahiran dan sokongan tempatan dalam negara adalah masalah yang lebih besar.
Walau bagaimanapun, terdapat pelbagai database pangkalan data NoSQL terbuka. Kebanyakannya mempunyai syarikat komersil sepenuhnya yang menawarkan sokongan dan mempunyai pejabat di seluruh dunia. Oleh itu, jika anda memerlukan sokongan atau lebih banyak ciri, anda boleh berpindah ke versi tersebut pada akhirnya.
Ini mengurangkan kos mengguna pakai teknologi NoSQL dan membolehkan anda "cuba sebelum anda membeli. "Ketersediaan alternatif sumber terbuka ini telah menyebabkan syarikat-syarikat komersial dalam ruang NoSQL menawarkan versi perisian percuma atau terperinci dengan baik atau menawarkan lesen permulaan khas kepada organisasi kecil.
Mudah untuk skala
Anda tidak perlu mendapatkan DBA yang mahal untuk menghabiskan masa refactoring SQL dan mewujudkan pandangan yang terwujud untuk mencapai setiap inci prestasi daripada sistem NoSQL.
Kedai nilai-kunci boleh menangani beratus-ratus beribu-ribu operasi bagi setiap pelayan. Semua jenis NoSQL boleh skala secara melintang merentasi pelayan komoditi yang agak murah.Oleh itu, lebih mudah untuk mengukur kluster pangkalan data anda dengan NoSQL daripada dengan pangkalan data hubungan tradisional.
Selain itu, kerana keupayaan untuk skala, pangkalan data NoSQL juga sesuai dengan awan awam dan swasta. Pangkalan data NoSQL direka bentuk untuk fleksibel dan berkembang dan kontrak sebagai kegunaan untuk perubahan aplikasi anda. Keupayaan ini sering dipanggil keanjalan .
Model data konsisten yang akhir
Walaupun kes misi kritikal memerlukan pematuhan ACID, tidak setiap aplikasi perlu melakukannya. Dapat mengekalkan konsistensi dalam kelompok yang sangat besar boleh berguna untuk beberapa aplikasi.
Pangkalan data NoSQL membolehkan anda melonggarkan kekangan ini atau mencampurkan dan memadankan konsistensi yang kuat dan konsistensi yang lemah dalam pangkalan data yang sama, untuk jenis rekod yang berbeza.
Sokongan bahasa esoterik
Cukup banyak semua pangkalan data menyokong bahasa pengaturcaraan utama seperti Java dan C #. BERSIH. Banyak pangkalan data menyokong seperti PHP, Python, dan Ruby on Rails.
NoSQL mempunyai set pemacu bahasa yang berkembang maju untuk pelbagai bahasa pengaturcaraan yang lebih luas. Jika organisasi anda mempunyai bahasa khusus domain, anda juga boleh mendapatkan sokongan untuknya dalam pangkalan data NoSQL.
JavaScript end-to-end
Penggunaan JavaScript telah meletup dalam beberapa tahun kebelakangan ini. Ia adalah bahasa skrip yang mudah di kedua-dua web dan, terima kasih kepada Node. js, di sebelah pelayan.
Banyak pangkalan data NoSQL kini menyokong pembangunan JavaScript yang menyeluruh. Ini bermakna organisasi anda kini boleh menggunakan kumpulan bahasa kemahiran bahasa pengaturcaraan yang sama untuk membina aplikasi web dan API data peringkat pertengahan dan logik perniagaan, serta mengendalikan pencetus pangkalan data back-end dan pemprosesan analisis berasaskan MapReduce bersebelahan dengan data.
Sebagai hasilnya, berbanding dengan teknologi pangkalan data lain, jumlah kos pemilikan (TCO) NoSQL lebih rendah.