Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Database relasional vs. non-relasional – Bagian 1

Selama beberapa tahun terakhir, alat basis data NoSQL atau Non-relasional telah mendapatkan banyak popularitas dalam hal menyimpan sejumlah besar data dan menskalakannya dengan mudah. Ada perdebatan apakah database non-relasional akan menggantikan database relasional di masa depan. Dengan semakin banyaknya data sosial dan data tidak terstruktur lainnya, berikut adalah beberapa pertanyaan yang muncul pada basis data relasional.
Apakah basis data relasional mampu menangani big data?
Apakah basis data relasional mampu menskalakan secara masif jumlah data?
Apakah basis data relasional cocok untuk data zaman modern?
Sebelum menjawab pertanyaan ini, beri tahu kami beberapa dasar basis data Relasional dan Non-Relasional.

Dasar-dasar database Relasional dan Non-Relasional

Basis data relasional: Konsep Database Relasional dikembangkan pada tahun 1970-an. Fitur terpenting dari semua database relasional adalah dukungannya terhadap properti ACID (Automicity, Consistency, Isolation and Durability) yang memastikan bahwa semua transaksi diproses dengan andal.
Otomatisitas: Setiap transaksi bersifat unik dan memastikan bahwa jika satu bagian logis dari suatu transaksi gagal, semuanya akan dibatalkan sehingga data tidak berubah.
Konsistensi: Semua data yang ditulis ke database tunduk pada aturan yang ditentukan (batasan, pemicu, dll.)
Isolasi: Perubahan yang dilakukan dalam suatu transaksi tidak akan terlihat oleh transaksi lain sampai transaksi tersebut dilakukan.
Daya tahan: Perubahan yang dilakukan dalam suatu transaksi disimpan dan tersedia dalam database bahkan jika terjadi pemadaman listrik atau database tiba-tiba offline.
Terstruktur dengan ketat: Objek dalam database relasional sangat terstruktur. Semua data dalam tabel disimpan dalam baris dan kolom. Setiap kolom memiliki tipe data. Ini sebagian besar dinormalisasi. Structured Query Language (SQL) cocok untuk database relasional untuk menyimpan dan mengambil data secara terstruktur. Pertanyaan adalah perintah Bahasa Inggris Biasa. Selalu ada jumlah kolom yang tetap meskipun kolom tambahan dapat ditambahkan nanti. Sebagian besar tabel terkait satu sama lain dengan kunci utama dan kunci asing sehingga memberikan "Integritas Referensial" di antara objek. Vendor utama adalah ORACLE, SQL Server, MySQL, PostgreSQL, dll.
Basis data non-relasional: Konsep basis data non-relasional muncul untuk menangani pertumbuhan cepat data tidak terstruktur dan menskalakannya dengan mudah. Ini menyediakan skema yang fleksibel sehingga tidak ada yang disebut "Integritas Referensial" seperti yang kita lihat di database Relasional. Data sangat dinormalisasi dan tidak memerlukan GABUNG antar objek. Ini melonggarkan properti ACID dari database relasional dan mendukung CAP (Consistency, Availability, dan Partitioning). Tetapi dari ketiganya hanya dua yang dijamin kapan saja. Jadi berbeda dengan ACID, itu hanya akan mendukung BASE (Keadaan Lunak yang Tersedia Secara Dasar, Konsistensi Akhirnya). Basis data awal yang dibuat berdasarkan konsep ini adalah BigTable oleh Google, HBase oleh Yahoo, Cassandra oleh Facebook, dll.
Kategori Basis data non-relasional: Basis data non-relasional dapat diklasifikasikan ke dalam empat kategori utama seperti basis data nilai kunci, basis data kolom, basis data dokumen, dan basis data grafik.
Database nilai kunci: Ini adalah bentuk database NoSQL yang paling sederhana di mana setiap nilai dikaitkan dengan kunci unik.(ex Redis)
Database kolom: Basis data ini mampu menyimpan dan memproses data dalam jumlah besar menggunakan pointer yang menunjuk ke banyak kolom yang didistribusikan melalui sebuah cluster. (ex HBase)
Database dokumen: Basis data ini dapat berisi banyak dokumen nilai kunci dengan banyak level bersarang. Permintaan yang efisien dimungkinkan dengan database ini. Dokumen disimpan dalam format JSON.(ex MongoDB)
Database grafik: Alih-alih baris dan kolom tradisional, database ini menggunakan node dan edge untuk mewakili struktur grafik dan menyimpan data. (ex Neo4J)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hasilkan bilangan bulat acak tanpa tabrakan

  2. Bagaimana Cara Menggunakan Ubah Pernyataan Tabel Dalam SQL?

  3. HAPUS VS DROP dalam SQL

  4. Sejarah Perintah di isql

  5. Memahami Sistem Output Input Hadoop