All About MongoDB

MongoDB adalah salah satu jenis database NoSQL yang berbasis dokumen dengan fomat JSON. Pertama kali dikembangkan oleh perusahaan asal New York City, 10gen (sekarang MongoDB Inc.) pada bulan Oktober 2007 sebagai bagian dari platform yang direncanakan sebagai produk jasa, perusahaan bergeser ke model pembangunan sumber terbuka pada tahun 2009, dengan 10gen menawarkan dukungan komersial dan layanan lainnya

Contoh Data pada di MongoDB

{

“_id” : ObjectId(“54c955492b7c8eb21818bd09”),

“alamat” : {

“street” : “2 Avenue”,

“zipcode” : “10075”,

“building” : “1480”,

“coord” : [ -73.9557413, 40.7720266 ]

},

“borough” : “Manhattan”,

“cuisine” : “Italian”,

“grades” : [

{

“date” : ISODate(“2014-10-01T00:00:00Z”),

“grade” : “A”,

“score” : 11

},

{

“date” : ISODate(“2014-01-16T00:00:00Z”),

“grade” : “B”,

“score” : 17

}

],

“name” : “Vella”,

“restaurant_id” : “41704620”

}

 

Beberapa cara dasar menggunakan MongoDB

Mengecek semua database

show DB mongo.PNG

Membuat DB

create db mongo.PNG

Database ini belum tersimpan, karena masih kosong. Maka dari itu membuat Collections

Mengecek Collection

mengecek collection.PNG

Insert data

Bila sebelumnya tidak ada collection tersebut(data_mahasiswa), ketika insert data maka collection automatis dibuat

insert.PNG

Karena sudah membuat collection maka Database udah tersimpan

Menghitung isi Collection

menghitung isi collection.PNG

Menampilkan seluruh data

menampilkan all mongodb.PNG

Mencari data sesuai ingin dicari

mencari spesifik.PNG

Bila update, pastikan data sebelumnya yang gk ingin dirubah tetap dimasukkan karena bila tidak dimasukkan maka hilang

update kesalahan.PNG

Update yang benar

update benar.PNG

Mengahapus data

delete data.PNG

Source:

https://www.petanikode.com/tutorial-dasar-mongodb/

 

Pengertian NoSql DB dan kemampuannya

  1. Apa yg anda ketahui tentang No SQL?
  2. SQl dan NoSql apa perbedaannya?

Database nosql atau yang biasa disebut NoSQL database / cloud database merupakan penyimpanan data / database yang tidak terstruktur.

Nosql database tidak seperti sql database yang menggunakan tabel dalam penyusunan datanya, nosql database menggabungkan semua database tidak membedakan jenis2nya dan tanpa karakteristik umum. Tapi nosql database ini memiliki kecepatan yang super cepat dibanding dengan sql database, pencariannya lebih terfokus. Nosql sebetulnya tidak 100% menyimpan data dengan cara tidak terstruktur, terkadang ada miripnya dengan sql database dengan sedikit susunan pada saat2 tertentu.

NoSQL memiliki 4 metode, yaitu: Table-oriented, Graph-oriented, Document-oriented database, Key-value store

  1. Metode NoSQL Table-oriented (disimpan dalam bentuk kunci-isi berpasangan).

Metode ini biasanya hanya dikembangkan oleh yang membuatnya sendiri . Performa dan hasil dari metode ini sangat baik meskipun dengan berjuta – juta data yang ada di database mereka tapi tetap bisa memaksimalkan website mereka.

  1. Metode NoSQL Document-oriented database (disimpan dalam dokumen-dokumen).

Jenis NoSQL ini merupakan database yang berbasiskan dokumen. Tidak ada tabel, field dan record, yang ada hanyalah koleksi dan dokumen. Koleksi dapat disamakan dengan tabel dan dokumen disamakan dengan field. Berbeda dengan database relasional, pada document oriented database, dokumen dapat memiliki field yang berbeda dengan dokumen lain walaupun berada dalam satu koleksi. Hal ini tidak dapat dilakukan dengan database relasional dimana sebuah record tidak mungkin memiliki field yang berbeda dengan record yang berada dalam satu tabel.

  1. Metode NoSQL graph-oriented (disimpan dalam bentuk graf).

Jenis database NoSQL yang menggunakan struktur graph dengan node, edge dan properties untuk menyimpan datanya.

  1. Metode NoSQL key-value store.

Hampir sama seperti document-oriented database, yang berbeda adalah media penyimpanannya. Dalam key-value store, data tidak langsung disimpan dalam disk seperti database pada umumnya. Data disimpan dalam memori komputer dan sesekali data dalam memori ditulis ke disk. Penyimpanan data dalam memori menyebabkan proses query akan lebih cepat, karena tidak perlu lagi mengambil data dari disk.

Perbandingan NoSQL dengan SQL

Jika kita bandingkan SQL dengan NoSQL, masing – masing mempunyai keuntungan dan kerugian masing – masing. Kita tidak dapat mengatakan NoSQL lebih baik dari SQL atau sebaliknya. Bahkan beberapa perusahaan menggunakan keduanya. Dibawah ini merupakan data perbandingan kekurangan dan kelebihan dari SQL dan NoSQL.

perbandingan sql nosql.PNG

Source:

https://jogjaweb.co.id/blog/catatan/pengertian-nosql

https://v-class.gunadarma.ac.id/mod/resource/view.php?id=155981

https://sis.binus.ac.id/2016/08/23/sql-vs-nosql/

Optimisasi Query dan SQL Tuning part 2

  1. Menurut anda pentingkan melakukan  optimasi query dalam memanajemen  database
  2. Buat ringkasan dari materi SQL Tuning atau Optimasi Queri.
  3. Buat kesimpulan dari materi SQL Tuning atau Optimasi Queri

Bila data dalam jutaan row, dibutuhkan waktu banyak untuk mencari data yang dibutuhkan user dalam suatu program. Apabila user memerlukan waktu banyak untuk mengakses data tersebut mengakibatkan user meninggalkan program tersebut. Maka dari itu programmer membutuhkan optimisasi query agar membutuhkan waktu yang sangat sedikit saat user mengakses database. Maka dari itu pentingnya optimasi query dalam mamanajemen database

 

SQL Tuning adalah sebuah proses optimasi dengan cara mengubah perintah-perintah SQL serta menentukan teknik indexing agar SQL tersebut bekerja secara optimal. Yang harus dilakukan untuk melakukan SQLTuning adalah melakukan identifikasi terhadap High-Load SQL Statements. High-Load SQL Statements adalah query yang membebani server sehingga menyebabkan kinerja sebuah basis data menjadi lambat dan menghabiskan penggunaan sumber daya yang besar dari sistem. Sekalipun optimasi telah dilakukan pada basis data, namun penggunaan SQL yang tidak optimal akan menyebabkan performa basis data menurun.

Optimisasi Query adalah suatu proses untuk menganalisa query untuk
menentukan sumber-sumber apa saja yang digunakan oleh query tersebut dan
apakah penggunaan dari sumber tersebut dapat dikurangi tanpa merubah output.

Ada tiga aspek dasar yang ditetapkan dan
mempengaruhi optimisasi query, yaitu : search space, cost model dan search
strategy.

  • Search space adalah sekumpulan rencana-rencana akses yang sama secara
    logika yang dapat digunakan untuk mengevaluasi sebuah query. Semua rencana-rencana dalam search space query mengembalikan hasil yang sama biarpun
    beberapa rencana lebih efisien dibandingkan dengan rencana yang lainnya.
  • Cost model menandakan sebuah harga untuk tiap rencana dalam search
    space. Harga dari rencana tersebut adalah sebuah perkiraan dari sumber-sumber
    yang digunakan pada saat rencana dijalankan, dimana harga yang lebih rendah,
    merupakan yang terbaik dari rencana-rencana yang ada.
  • Search strategy adalah sebuah perincian dari rencana-rencana mana dalam
    search space yang akan diperiksa. Apabila search space-nya kecil, maka strategi
    yang dapat diteruskan adalah menghitung dan mengevaluasi setiap rencana.

Optimasi query mencakup beberapa teknik seperti transformasi query ke dalam bentuk logika yang sama, memilih jalan akses yang optimal dan mengoptimumkan penyimpanan data.

Kesimpulan

Penyesuaian SQL/SQL Tuning dapat mengurangi waktu proses yang akan dikirim ke end user, atau untuk mengurangi resource yang digunakan untuk memproses pekerjaan yang sama,

Optimasi Query database manajemen sangat penting untuk meningkatkan strategi evaluasi dari suatu query untuk membuat evaluasi tersebut menjadi lebih efektif.

 

Source:

Optimisasi Query and SQL Tuning part1

  1.  Apa yang anda ketahui tentang  optimasi kueri?
  2. Apa yang anda ketahui tentang SQL Tuning?

Optimisasi Query adalah suatu proses untuk menganalisa query untuk
menentukan sumber-sumber apa saja yang digunakan oleh query tersebut dan
apakah penggunaan dari sumber tersebut dapat dikurangi tanpa merubah output.

SQL Tuning adalah sebuah proses optimasi dengan cara mengubah perintah-perintah SQL serta menentukan teknik indexing agar SQL tersebut bekerja secara optimal. Yang harus dilakukan untuk melakukan SQLTuning adalah melakukan identifikasi terhadap High-Load SQL Statements. High-Load SQL Statements adalah query yang membebani server sehingga menyebabkan kinerja sebuah basis data menjadi lambat dan menghabiskan penggunaan sumber daya yang besar dari sistem. Sekalipun optimasi telah dilakukan pada basis data, namun penggunaan SQL yang tidak optimal akan menyebabkan performa basis data menurun.
Created by: Braike Rema
Source: