Mengenal Database NoSQL


Pengertian Database NoSQL

Sebagai insan yang berkutat pada dunia pemrograman sudah seharusnya kita selalu mengikuti perkembangan dalam dunia teknologi komputer diantaranya adalah perkembangan dari penyimpanan data atau database, sudah saatnya kita mengenal Database selain RDBMS yang selama ini kita ketahui seperti database Microsoft Acsess, MySQL,SQL Server, Postgre SQL pada database  relasional, saat ini sudah ada teknologi baru dalam dunia database yang disebut NoSQL, NoSQL  disebut juga  database Non Relasional adalah kebalikan dari Relasional database yang sudah disebutkan diatas, jika sebelumnya dalam pembuatan database terikat dengan aturan-aturan yang sangat ketat pada database relasional seperti pembuatan kolom harus tipe data dan ukuran tertentu, kemudian ada pembatasan penambahan kolom pada tabel, pembuatan join tabel, pada database NoSQL tidak lagi terikar dengan semua itu.
 
NoSQL adalah singkatan dari Not Only SQL yang adalah project opensource yang dapat anda gunakan secara gratis, NoSQL merupakan dokumen oriented, maksudnya adalah :
  1.  Document oriented database merupakan sistem database yang digunakan untuk memanipulasi data dalam bentuk document (semi structured data)
  2. Biasanya document disimpan dalam bentuk JSON atau XML
  3. Document oriented database biasanya bertolak belakang dengan relational database.
  4. Relational database biasanya menyimpan data dalam bentuk table, dan menyimpan relasinya ditable lain.
  5. Document oriented database biasanya menyimpan data dalam bentuk JSON atau XML, danmenyimpan relasinya sebagai embedded object di dalam document yang sama.
berikut adalah perbedaan antara Database Relasional dan database NoSQL

Database Relasional

SQL merupakan Bahasa untuk mengelola database, singkatan dari Structure Query Language. Secara lisan sangat mudah dibaca karena merupakan bahasa generasi keempat, artinya sintaknya sudah menggunakan kata yang mudah dibaca oleh manusia, contohnya SELECT, FROM, WHERE dll. Di dalam SQL terdapat dua tipe bahasa yaitu DDL (Data Definition Language) dan DML (Data Manipulation Language). Dua tipe bahasa tersebut mempunyai fungsi yang berbeda tentunya. DDL digunakan untuk membuat stuktur tabel, sedangkan DML digunakan untuk mengelola data di dalam tabel yang telah dibuat. SQL biasa digunakan pada data model relational, artinya setiap tabel saling berhubungan untuk menghasilkan informasi yang diinginkan.

Database NoSQL 

NoSQL bukan merupakan bahasa. NoSQL adalah sebuah mekanisme untuk menyimpan data dan mengambil data yang dilakukan oleh database kita. NoQSL tidak membutuhkan data model relational dan bahasa SQL untuk melakukan hal tersebut. NoSQL menggunakan metadata pada database kita dan memanfaatkan index dari data tersebut. NoSQL mempunyai empat mekanisme:

  1. Table-oriented, contoh: Google dengan Big Table dan juga Facebook dengan Cassandra,
  2. Graph-oriented,
  3. Document-oriented database, contoh: MongoDB dan juga CouchDB,
  4. Key-value store, contoh: Memcache dan Redis

Kapan Menggunakan NoSQL

Teknologi database NoSQL dapat digunakan ketika anda membutuhkan hal-hal sebagai berikut : 

The pace of development with NoSQL databases can be much faster than with a SQL database (Laju pengembangan dengan database NoSQL bisa jauh lebih cepat dibandingkan dengan database SQL).

Karena database NoSQL sering kali memungkinkan developer untuk mengontrol struktur data, mereka sangat cocok dengan praktik pengembangan Agile modern berdasarkan sprint, iterasi cepat, dan dorongan kode yang sering. Ketika pengembang harus meminta administrator database SQL untuk mengubah struktur database dan kemudian membongkar dan memuat ulang data, itu dapat memperlambat pengembangan. 

The structure of many different forms of data is more easily handled and evolved with a NoSQL database (Struktur berbagai bentuk data lebih mudah ditangani dan dikembangkan dengan database NoSQL) 

Database NoSQL seringkali lebih cocok untuk menyimpan dan memodelkan data terstruktur, semi-terstruktur, dan tidak terstruktur dalam satu database.Database NoSQL sering menyimpan data dalam bentuk yang mirip dengan objek yang digunakan dalam aplikasi, sehingga mengurangi kebutuhan untuk penerjemahan dari bentuk data yang disimpan ke dalam bentuk data yang diambil dalam kode program. 

The amount of data in many applications cannot be served affordably by a SQL database. (Jumlah data di banyak aplikasi tidak dapat dilayani dengan harga terjangkau oleh database SQL) 

Database NoSQL dibuat untuk menangani big data sebagai bagian dari arsitektur fundamentalnya. Rekayasa tambahan tidak diperlukan seperti saat database SQL digunakan untuk menangani aplikasi skala web. Jalur menuju skalabilitas data sangat mudah dan dipahami dengan baik,Basis data NoSQL sering kali didasarkan pada strategi skala-keluar, yang membuat penskalaan ke volume data besar jauh lebih murah daripada saat menggunakan pendekatan peningkatan skala yang dilakukan basis data SQL. 

The scale of traffic and need for zero downtime cannot be handled by SQL (Skala lalu lintas dan kebutuhan untuk waktu henti nol tidak dapat ditangani oleh SQL) 

Strategi skala-keluar yang digunakan oleh sebagian besar database NoSQL menyediakan jalur yang jelas untuk menskalakan jumlah lalu lintas yang dapat ditangani database. Arsitektur scale-out juga memberikan keuntungan seperti kemampuan untuk mengupgrade database atau mengubah strukturnya tanpa downtime. Arsitektur scale-out adalah salah satu cara paling terjangkau untuk menangani lalu lintas volume besar. 

New application paradigms can be more easily supported (Paradigma aplikasi baru bisa lebih mudah didukung)

Skalabilitas database NoSQL memungkinkan satu database untuk melayani beban kerja transaksional dan analitis dari database yang sama. Dalam database SQL, biasanya, gudang data terpisah digunakan untuk mendukung analitik. Basis data NoSQL dibuat selama era cloud dan telah beradaptasi dengan cepat ke otomatisasi yang merupakan bagian dari cloud. Menerapkan database dalam skala besar dengan cara yang mendukung layanan mikro seringkali lebih mudah dengan database NoSQL.Database NoSQL sering kali memiliki integrasi yang unggul dengan teknologi real time streaming.

Posting Komentar untuk "Mengenal Database NoSQL "