Basisdata Relasional VS Basisdata Non Relasional
Selama berpuluh tahun, model data utama yang digunakan untuk pengembangan aplikasi adalah model data relasional yang digunakan oleh database relasional seperti Oracle, DB2, SQL Server, MySQL, dan PostgreSQL. Hingga pada pertengahan hingga akhir tahun 2000 model data lain mulai mendapatkan adopsi dan penggunaan yang signifikan. Untuk membedakan dan mengategorikan kelas database dan model data baru ini, istilah “NoSQL” diciptakan. Sering kali istilah “NoSQL” digunakan secara bergantian dengan “nonrelasional.”
Meskipun terdapat banyak jenis database NoSQL dengan fitur yang bervariasi, tabel berikut menunjukkan beberapa perbedaan antara database SQL dan NoSQL.
Database Relasional | Database NoSQL | |
Beban kerja yang optimal | - Database relasional didesain untuk aplikasi transaksional dan aplikasi pemrosesan transaksi online (online transaction processing, OLTP) yang sangat konsisten dan cocok digunakan untuk pemrosesan analisis online (online analytical processing, OLAP). | - Database nilai-kunci, dokumen, grafik, dan dalam memori NoSQL didesain untuk OLTP untuk sejumlah pola akses data yang menyertakan aplikasi latensi rendah. Database pencarian NoSQL didesain untuk analisis data yang semi terstruktur. |
Model data | - Model relasional menormalkan data menjadi tabel yang terdiri dari baris dan kolom. Skema secara ketat mendefinisikan tabel, baris, kolom, indeks, hubungan antara tabel, dan elemen database lain. Database menegakkan integritas referensial dalam hubungan antara tabel. | - Database NoSQL menyediakan berbagai model data, antara lain dokumen, grafik, nilai kunci, dalam memori, dan pencarian. |
Properti ACID | Database relasional menyediakan properti atomicity, consistency, isolation, and durability (ACID):
| Database NoSQL sering kali melakukan pertukaran dengan mengurangi beberapa properti ACID database relasional untuk model data yang lebih fleksibel yang dapat dikembangkan secara horizontal. Hal ini membuat database NoSQL menjadi pilihan yang luar biasa untuk kasus penggunaan dengan throughput tinggi dan latensi rendah yang memerlukan pengembangan skala secara horizontal melebihi batasan instans tunggal. |
Performa | Kinerja umumnya tergantung pada subsistem disk. Pengoptimalan kueri, indeks, dan struktur tabel sering kali diperlukan untuk mencapai kinerja puncak. | Kinerja umumnya merupakan fungsi dari ukuran klaster perangkat keras, latensi jaringan, dan aplikasi panggilan. |
Skala | Database relasional umumnya dapat dikembangkan skalanya dengan meningkatkan kemampuan komputasi perangkat keras atau mengembangkan skala dengan menambahkan replika untuk beban kerja hanya-baca. | Database NoSQL umumnya dapat dipartisi karena pola akses nilai-kunci dapat dikembangkan skalanya dengan menggunakan arsitektur terdistribusi untuk meningkatkan throughput yang menyediakan kinerja yang konsisten pada skala yang tidak terbatas. |
Komentar
Posting Komentar