NoSQL - PENGENALAN


niwasmala@gmail.com
Nicky Irawan
Software Engineer

SIAPA SAYA?


Nicky Irawan
Alumni Teknik Informatika
Institut Teknologi Bandung
PT. Akhdani Reka Solusi
Software Engineer


This is just my humble knowledge and opinion 
for my desire to learn and share
for a better future

Pengalaman dengan noSQL


Proyek
Medical Record (Medrec) Yakes Telkom
menggunakan CouchDB

NoSQL yang dioprek
MongoDB, Redis, CouchBase, OrientDB

Next
Apache Hadoop, Elastic Search, Neo4J, dll

ISI dan Tujuan SLIDE


Mengetahui apa itu NoSQL
Kenapa muncul 
Apa pengaruhnya 




"Choose the right tools for the right problems"
Anonymous

NoSQL? no-SQL?

Not Only SQL!


RDBMS
Relational Database Management System
Database
Tabel
Kolom
Baris (Data)
+
SQL (Structured Query Language)

Lalu, NOSQL?


Data tidak disimpan hanya dalam bentuk tabel dan kolom!

Key-Value
Wide Column
Document Store
Graph Database
Multi Model
Grid
XML Database, dll

CONTOH NOSQL


Key-Value

Document

Graph

dan masih banyak lagi

NOSQL? Perlukah?


Pertanyaan yang sering muncul ketika mendengar NoSQL, terutama bagi developer adalah:

PERLUKAH?

Apa RDBMS yang ada sekarang tidak mencukupi?

Mari kita lihat sejarah kenapa muncul NoSQL...

Sejarah NOSQL


Jika ada teknologi baru, pasti ada permasalahan yang sebelumnya tidak bisa ditangani

Lalu NoSQL?

  • Horizontal Scaling
  • Big, Bigger, and Bigger Data
  • Availability
  • dan beberapa permasalah lain

HORIZONTAL SCALING

Banyak database instance, dengan isi data yang sinkron

Berbeda dengan Vertical Scaling, yang artinya meningkatkan kemampuan server database sehingga mendukung kinerja yang diharapkan

Permasalahan umum


Ketika aplikasi semakin banyak diakses, resource server database semakin berkurang (memory available, cpu load meningkat, dll), sehingga aplikasi terasa lebih lama

Solusi umum yang dilakukan seringnya adalah peningkatan kemampuan server (memory ditambah, dll)

Beberapa RDBMS menyediakan kemampuan untuk replikasi, tapi apakah data selalu sinkron meskipun aplikasi mengakses (baca tulis) ke database yang berbeda ?

Big, bigger, bigger data

Volume data yang sangat banyak

Pernahkah terbayang bagaimana social media mengelola database mereka dengan jumlah pengguna yang mencapai milyar? 

Permasalahan


Semakin banyak data, pencarian akan semakin lama, apalagi jika mencari ke beberapa tabel dengan JOIN

Contoh, ambil data nilai kuliah mahasiswa 
select * from nilai_kuliah nk 
join mata_kuliah mk on nk.mkid = mk.mkid 
join mahasiswa mhs on mhs.mhsid = nk.mhsid
join dosen ds on mk.dsid = ds.dsid

Semakin banyak data, semakin banyak join, waktu yang diperlukan semakin lama

AVAILABILITY

Data harus ada 24jam x 7 hari seminggu x 365 hari

Setiap saat data harus selalu dapat diakses, tidak boleh ada downtime, meskipun ada update database (mulai dari perbaikan data hingga perubahan skema)

Lalu, berikutnya?


Masih ada beberapa permasalahan lain yang dapat diselesaikan dengan NoSQL, seperti skema tabel yang mengikat,  relasi antar tabel, dan masih banyak lagi

Detail implementasi NoSQL tiap jenis dapat dilihat di slide lain



Sekian


Demikian sedikit informasi mengenai database NoSQL, 
semoga sedikit banyak bermanfaat untuk menambah wawasan




*lanjut ngoprek lagi*

NoSQL - Pengenalan

By Nicky Irawan

NoSQL - Pengenalan

Slide ini berisi pengenalan tentang database NoSQL, jenis, dan kenapa muncul teknologi ini

  • 1,752