Langsung ke konten utama

Pengenalan CouchDB NoSQL


Pengenalan CouchDB NoSQL Membuat dan Menghapus Database


Apache CouchDB adalah perangkat lunak basis data sumber terbuka yang berfokus pada kemudahan penggunaan dan memiliki arsitektur yang dapat diskalakan. Ini memiliki arsitektur database NoSQL yang berorientasi dokumen dan diimplementasikan dalam bahasa yang berorientasi konkurensi; menggunakan JSON untuk menyimpan data, JavaScript sebagai bahasa kueri menggunakan MapReduce , dan HTTP untuk API .
CouchDB pertama kali dirilis pada 2005 dan kemudian menjadi proyek Yayasan Perangkat Lunak Apache pada 2008. Tidak seperti database relasional , database CouchDB tidak menyimpan data dan hubungan dalam tabel. Sebaliknya, setiap basis data adalah kumpulan dokumen independen. Setiap dokumen menyimpan data sendiri dan skema mandiri. Aplikasi dapat mengakses banyak basis data, seperti yang disimpan di ponsel pengguna dan yang lain di server. Metadata dokumen berisi informasi revisi, sehingga memungkinkan untuk menggabungkan setiap perbedaan yang mungkin terjadi ketika basis data terputus.
CouchDB mengimplementasikan suatu bentuk kontrol konkurensi multiversion (MVCC) sehingga tidak mengunci file basis data selama penulisan. Konflik diserahkan kepada aplikasi untuk diselesaikan. Menyelesaikan konflik umumnya melibatkan penggabungan data pertama ke dalam salah satu dokumen, kemudian menghapus yang basi.
Fitur lain termasuk semantik ACID tingkat dokumen dengan konsistensi akhirnya , (incremental) MapReduce , dan replikasi (incremental). Salah satu fitur pembeda CouchDB adalah replikasi multi-master , yang memungkinkannya untuk menskala antar mesin untuk membangun sistem berkinerja tinggi. Aplikasi Web built-in yang disebut Fauxton (sebelumnya Futon) membantu administrasi.

Sejarah
Couch adalah akronim untuk sekelompok perangkat keras komoditas yang tidak dapat diandalkan. Proyek CouchDB dibuat pada April 2005 oleh Damien Katz, mantan pengembang Lotus Notes di IBM . Dia mendanai sendiri proyek tersebut selama hampir dua tahun dan merilisnya sebagai proyek sumber terbuka di bawah Lisensi Publik Umum GNU .
Pada Februari 2008, itu menjadi proyek Apache Inkubator dan ditawarkan di bawah Lisensi Apache . Beberapa bulan kemudian, ia lulus ke proyek tingkat atas. Hal ini menyebabkan versi stabil pertama dirilis pada Juli 2010. Pada awal 2012, Katz meninggalkan proyek untuk fokus pada Couchbase Server . Sejak kepergian Katz, proyek Apache CouchDB terus berlanjut, merilis 1,2 pada April 2012 dan 1,3 pada April 2013. Pada Juli 2013, komunitas CouchDB menggabungkan basis kode untuk BigCouch , versi Cluster Cloudant dari CouchDB, ke dalam proyek Apache. Kerangka kerja pengelompokan BigCouch termasuk dalam rilis terbaru dari Apache CouchDB.
Pengelompokan asli didukung di versi 2.0.0. Dan Mango Query Server baru menyediakan cara sederhana berbasis JSON untuk melakukan kueri CouchDB tanpa JavaScript atau MapReduce.

Fitur utama
·         Semantik ACID
CouchDB menyediakan semantik ACID . Ini dilakukan dengan menerapkan bentuk Multi-Versi Concurrency Control , yang berarti bahwa CouchDB dapat menangani volume tinggi pembaca dan penulis bersamaan tanpa konflik.
·         Dibangun untuk Offline
CouchDB dapat mereplikasi ke perangkat (seperti smartphone) yang dapat offline dan menangani sinkronisasi data untuk Anda ketika perangkat kembali online.
·         Arsitektur Terdistribusi dengan Replikasi
CouchDB dirancang dengan replikasi dua arah (atau sinkronisasi) dan operasi offline. Itu berarti beberapa replika dapat memiliki salinannya sendiri dari data yang sama, memodifikasinya, dan kemudian menyinkronkan perubahan itu di lain waktu.
·         Penyimpanan Dokumen
CouchDB menyimpan data sebagai "dokumen", sebagai satu atau lebih pasangan bidang / nilai yang dinyatakan sebagai JSON . Nilai bidang dapat berupa hal-hal sederhana seperti string, angka, atau tanggal; tetapi daftar yang dipesan dan array asosiatif juga dapat digunakan. Setiap dokumen dalam basis data CouchDB memiliki id unik dan tidak ada skema dokumen yang diperlukan.
·         Konsistensi akhirnya
CouchDB menjamin konsistensi akhirnya untuk dapat memberikan ketersediaan dan toleransi partisi.
·         Peta / Kurangi Tampilan dan Indeks
Data yang disimpan disusun menggunakan tampilan. Di CouchDB, setiap tampilan dikonstruksi oleh fungsi JavaScript yang bertindak sebagai separuh Peta dari operasi peta / pengurangan. Fungsi mengambil dokumen dan mengubahnya menjadi nilai tunggal yang dikembalikannya. CouchDB dapat mengindeks tampilan dan menjaga indeks tersebut diperbarui saat dokumen ditambahkan, dihapus, atau diperbarui.
·         API HTTP
Semua item memiliki URI unik yang diekspos melalui HTTP. Ia menggunakan metode HTTP POST, GET, PUT dan DELETE untuk empat operasi CRUD dasar (Buat, Baca, Perbarui, Hapus) pada semua sumber daya. CouchDB juga menawarkan antarmuka administrasi built-in yang dapat diakses melalui Web yang disebut Futon.

Membuat dan Menghapus Database
Basis data adalah struktur data terluar di CouchDB tempat dokumen Anda disimpan. Anda dapat membuat basis data ini menggunakan utilitas CURL yang disediakan oleh CouchDB, serta Futon antarmuka web CouchDB.

1. Membuat Database menggunakan CURL Utility
Anda dapat membuat database di CouchDB dengan mengirimkan permintaan HTTP ke server menggunakan metode PUT melalui utilitas cURL.Berikut ini adalah sintaks untuk membuat database.
$ curl -X PUT http://127.0.0.1:5984/ database_name
Dengan menggunakan −X kita dapat menentukan metode permintaan khusus HTTP yang akan digunakan. Dalam hal ini, kami menggunakan metode PUT.Ketika kita menggunakan operasi / metode PUT, konten url menentukan nama objek yang kita buat menggunakan permintaan HTTP. Di sini kita harus mengirim nama database menggunakan permintaan put di url untuk membuat database.
Contoh
Menggunakan sintaks yang diberikan di atas jika Anda ingin membuat database dengan nama my_database , Anda dapat membuatnya sebagai berikut:
curl -X PUT http://127.0.0.1:5984/my_database
{
   "ok":true
}
Sebagai tanggapan, server akan mengembalikan Anda dokumen JSON dengan konten "ok" : true menunjukkan bahwa operasi berhasil.
Verifikasi
Verifikasi apakah database dibuat, dengan mendaftar semua database seperti yang ditunjukkan di bawah ini. Di sini Anda dapat mengamati nama database yang baru dibuat, "my_database" dalam daftar.
$ curl -X GET http://127.0.0.1:5984/_all_dbs

[ "_replicator " , " _users " , " my_database " ]

2. Membuat Database menggunakan Futon
Untuk membuat basis data, buka http://127.0.0.1-5984/_utils/ . Anda akan mendapatkan halaman Tinjauan / indeks CouchDB seperti yang ditunjukkan di bawah ini.
Di halaman ini, Anda bisa melihat daftar basis data di CouchDB, tombol pilihan Buat Basis Data di sisi kiri.
Sekarang klik tautan buat basis data. Anda dapat melihat jendela sembulan Create New Database yang menanyakan nama database untuk database baru. Pilih nama apa saja mengikuti kriteria yang disebutkan. Di sini kita membuat database lain dengan nama tutorials_point. Klik tombol buat seperti yang ditunjukkan pada tangkapan layar berikut.

3. Menghapus database CURL Utility
Anda dapat menghapus basis data di CouchDB dengan mengirimkan permintaan ke server menggunakan metode DELETE melalui utilitas CURL. Berikut ini adalah sintaks untuk membuat database :
$ curl -X DELETE http://127.0.0.1:5984/ database_name
Menggunakan −X kita dapat menentukan metode permintaan khusus HTTP yang kita gunakan, saat berkomunikasi dengan server HTTP. Dalam hal ini, kami menggunakan metode DELETE. Kirim url ke server dengan menentukan basis data yang akan dihapus di dalamnya.
Contoh
Asumsikan ada database bernama my_database2 di CouchDB. Menggunakan sintaks yang diberikan di atas jika Anda ingin menghapusnya, Anda dapat melakukannya sebagai berikut :
$ curl -X DELETE http://127.0.0.1:5984/my_database2
{
   "ok" : true
}
Sebagai tanggapan, server akan mengembalikan Anda dokumen JSON dengan konten "ok" : true menunjukkan operasi berhasil.
Verifikasi
Verifikasi apakah database dihapus dengan mencantumkan semua database seperti yang ditunjukkan di bawah ini. Di sini Anda dapat mengamati nama database yang dihapus, "my_database" tidak ada dalam daftar.
$ curl -X GET http://127.0.0.1:5984/_all_dbs

[ "_replicator " , " _users " ]

4. Menghapus Database menggunakan Futon
Untuk menghapus basis data, buka urlhttp: //127.0.0.1#984/_utils/ di mana Anda akan mendapatkan halaman Tinjauan / indeks CouchDB seperti yang ditunjukkan di bawah ini.
Di sini Anda dapat melihat tiga database yang dibuat pengguna. Mari kita hapus database bernama tutorials_point2. Untuk menghapus database, pilih satu dari daftar database, dan klik padanya, yang akan mengarah ke halaman ikhtisar dari database yang dipilih di mana Anda dapat melihat berbagai operasi pada database. Tangkapan layar berikut menunjukkan hal yang sama
Di antara mereka, Anda dapat menemukan opsi Delete Database . Dengan mengkliknya Anda akan mendapatkan jendela sembulan, menanyakan apakah Anda yakin! Klik hapus, untuk menghapus database yang dipilih.
Sekian tentang CouchDB, semoga penjelasan diatas bisa membantu atau menambah wawasan anda dalam memahami salah satu database NoSQL yang popular.

Source:

Komentar

Postingan populer dari blog ini

Kelebihan dan Kekurangan Instagram beserta solusinya

Kelebihan dan Kekurangan Instagram Beserta Solusinya Kali ini saya akan membahas sosial media yang memilki user atau pengguna terbanyak, siapa sangka Instagram sangat digemari banyak orang , aplikasi posting foto dan video ini sampai sekarang Instagram memiliki 1 miliar pengunduh dan ini bisa anda lihat sendiri di playstore dan ini membuktikan bahwa pengunduh tersebut juga memakai instagram dan terbukti memang instagram memiliki banyak sekali pengguna di seluruh dunia maka dari itu kita ketahui bahwa instagram menjadi aplikasi sosial media favorit. Jika dilihat dari waktu ke waktu Instagram selalu menambahkan fitur terbaru untuk menarik perhatian pengguna seperti Direct Message , Insta Story , Live , sorotan , Promote atau Bisinis dan sebagainya . Tentu dibalik itu semua kita tidak tahu apa saja kelebihan dan kekurangan dari Instagram itu sendiri . Berikut adalah kelebihan dan kekurangan Instagram. KELEBIHAN 1. Sebagai media utama berupa Foto dan Video Menjadi media sosia...

Pengenalan Komputasi Paralel

Parallel computing adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan. Maksudnya program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga dengan istilah parallel computing. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. 1.  Komputasi Seri Secara tradisional, perangk...