Daftar Isi:
Definisi - Apa yang dimaksud dengan NoSQL?
NoSQL adalah kelas sistem manajemen basis data (DBMS) yang tidak mengikuti semua aturan DBMS relasional dan tidak dapat menggunakan SQL tradisional untuk meminta data. Istilah ini agak menyesatkan ketika ditafsirkan sebagai "Tidak Ada SQL, " dan kebanyakan menerjemahkannya sebagai "Bukan Hanya SQL, " karena jenis basis data ini umumnya bukan pengganti tetapi, melainkan, tambahan tambahan untuk RDBMS dan SQL.
Sistem berbasis NoSQL biasanya digunakan dalam database yang sangat besar, yang sangat rentan terhadap masalah kinerja yang disebabkan oleh keterbatasan SQL dan model database relasional. Banyak yang menganggap NoSQL sebagai database pilihan modern yang memenuhi persyaratan Web. Beberapa implementasi penting dari NoSQL adalah basis data Cassandra Facebook, BigTable Google dan SimpleDB dan Dynamo dari Amazon.
Techopedia menjelaskan NoSQL
Basis data NoSQL tidak harus mengikuti aturan ketat yang mengatur transaksi dalam basis data relasional. Aturan-aturan yang dilanggar ini dikenal dengan akronim ACID (Atomicity, Consistency, Integrity, Durability). Misalnya, database NoSQL tidak menggunakan struktur skema tetap dan gabungan SQL.
Dalam RDBMS tradisional, operasi dasar dibaca dan ditulis. Pembacaan dapat diskalakan dengan mereplikasi data ke beberapa mesin, dengan demikian permintaan pembacaan beban-balancing. Namun, ini mempengaruhi penulisan karena konsistensi data harus dipertahankan. Menulis hanya dapat diskalakan dengan mempartisi data. Ini memengaruhi pembacaan, karena sambungan yang didistribusikan biasanya lambat dan sulit untuk diterapkan. Selain itu, untuk mempertahankan properti ACID, basis data harus mengunci data. Ini berarti bahwa ketika satu pengguna membuka item data, tidak ada pengguna lain yang dapat membuat perubahan pada item yang sama. Pembatasan ini memiliki implikasi serius pada kinerja.
Keterbatasan ini belum menjadi masalah besar di masa lalu. Namun, dengan munculnya jejaring sosial dan data besar, sejumlah database besar yang muncul terpaksa melayani puluhan, atau bahkan ratusan, jutaan klien di seluruh dunia dengan beberapa ribu membaca dan menulis setiap menit. RDBMS tradisional tidak memenuhi kebutuhan ini karena mereka hanya dapat "meningkatkan", atau meningkatkan sumber daya pada server pusat. Implementasi NoSQL, di sisi lain, dapat "memperkecil, " atau mendistribusikan beban basis data di lebih banyak server.
Basis data NoSQL difokuskan pada kelas masalah tertentu - mulai dari lebih fleksibel tentang data yang disimpan (penyimpanan dokumen), hingga penargetan kasus penggunaan, seperti hubungan (basis data grafik) dan agregasi data (basis data kolom) atau hanya menyederhanakan gagasan basis data hingga sesuatu yang menyimpan nilai (key / value store).
Basis data NoSQL menawarkan keunggulan skalabilitas yang cepat, kinerja yang jauh lebih baik, dan struktur yang lebih sederhana dibandingkan dengan RDBMS. Namun, mereka juga menderita karena teknologi yang relatif baru dan belum terbukti, dan mereka tidak dapat memberikan fungsi pelaporan dan analitik yang kaya dari RDBMS.
