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:
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.
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.
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:
https://en.wikipedia.org/wiki/Apache_CouchDB
https://www.tutorialspoint.com/couchdb/couchdb_creating_a_database.htm
https://www.tutorialspoint.com/couchdb/couchdb_deleting_a_database.htm
https://www.tutorialspoint.com/couchdb/couchdb_creating_a_database.htm
https://www.tutorialspoint.com/couchdb/couchdb_deleting_a_database.htm
Komentar
Posting Komentar