Jawaban:
Saya pikir ada beberapa perbedaan mendasar antara CouchDB dan Couchbase Server yang perlu ditunjukkan.
Saya tidak akan menulis tentang keuntungan beralih dari CouchDB ke Server Couchbase karena hal itu dijelaskan cukup banyak di mana-mana (lihat Masa Depan CouchDB oleh Damien Katz atau Couchbase vs. Apache CouchDB oleh Couchbase). Sebagai gantinya, saya akan mencoba untuk menyebutkan fitur CouchDB yang tidak akan Anda temukan di Server Couchbase .
Semua nama yang berkaitan dengan CouchDB dan Couchbase dapat benar-benar membingungkan, jadi saya telah memperbarui jawaban ini, untuk memulai dengan penjelasan singkat tentang yang paling penting.
Ada CouchDB, CouchIO, CouchOne, Couchbase, Couchbase Server, Couchbase Mobile, Couchbase Lite, CouchApps, BigCouch, Touchbase, Membase, Memcached, MemcacheDB ... semuanya berbeda dan terkait dengan cara yang sama sekali tidak jelas dari nama saja.
Pertama, ada CouchDB, database yang dibuat oleh Damien Katz, mantan pengembang IBM. Nama resminya diubah menjadi Apache CouchDB setelah menjadi proyek Apache.
Sebuah perusahaan bernama CouchIO didirikan untuk bekerja di Apache CouchDB dan kemudian mengubah namanya menjadi CouchOne (dengan "namanya" yang saya maksudkan nama perusahaan - bukan nama basis data).
CouchOne (sebelumnya CouchIO) bergabung dengan Membase (sebelumnya NorthScale) untuk membentuk perusahaan baru bernama Couchbase. Membase (perusahaan) mengembangkan Membase (produk dengan nama yang sama). Membase dibuat oleh beberapa pemimpin proyek Memcached dan menggunakan protokol Memcached. Setelah penggabungan CouchOne dan Membase, Couchbase melanjutkan pengembangan perangkat lunak Membase dan kemudian mengubah namanya menjadi Couchbase Server.
Hari ini saya pikir kebanyakan orang percaya bahwa Couchbase Server adalah versi baru dari CouchDB tetapi sebenarnya adalah versi baru dari Membase. Masih menggunakan protokol Memcached dan bukan API RESTful dari CouchDB. Sementara itu, CouchDB masih CouchDB, dipelihara secara aktif dan ditingkatkan sebagai proyek Apache.
Sekarang untuk perbedaan yang relevan:
Server Couchbase tidak sepenuhnya open-source / perangkat lunak bebas . Ada dua versi: Edisi Komunitas (gratis tapi tidak ada perbaikan bug terbaru) dan Edisi Perusahaan (ada pembatasan penggunaan, ketentuan kerahasiaan, audit oleh Couchbase Inc. yang "akan dilakukan selama jam kerja reguler di fasilitas Penerima Lisensi" dan istilah lainnya yang khas ke perangkat lunak berpemilik yang mungkin dianggap tidak dapat diterima banyak orang).
CouchDB adalah proyek open source / perangkat lunak bebas (tanpa ikatan) dari The Apache Software Foundation dan dirilis di bawah Lisensi Apache, Versi 2.0 (yang kompatibel dengan DFSG, disetujui oleh FSF, disetujui OSI, kompatibel dengan GPL, kompatibel dengan GPL, tidak kompatibel dengan copyleft) , ramah komersial).
Saya belum pernah melihatnya secara langsung tetapi ini mungkin sebenarnya perbedaan yang paling penting antara kedua database karena itu sangat tentang filosofi yang mendasari model komputasi terdistribusi dan tidak hanya tentang fitur tertentu, API atau lisensi. CouchDB dan Couchbase Server sama sekali berbeda dalam filosofi membangun sistem dan basis data terdistribusi.
Menurut teorema CAP tidak mungkin untuk database terdistribusi secara bersamaan memberikan konsistensi, ketersediaan dan toleransi partisi.
CouchDB adalah sistem tipe AP (menyediakan Ketersediaan dan Toleransi partisi ).
Server Couchbase APAKAH BAIK sistem jenis CP (menurut Wikipedia ) ATAU sistem tipe CA (menurut pembaruan teknis Couchbase ) - YANG INI BENAR? TOLONG BERI KOMENTAR ANDA.
Inilah yang saya temukan sebagai daftar fitur CouchDB yang tidak didukung oleh Couchbase Server:
Fitur-fitur CouchDB mungkin atau mungkin tidak penting bagi Anda sehingga apakah kekurangannya merupakan kerugian atau tidak sepenuhnya subjektif, tapi saya pikir keputusan apakah akan beralih dari CouchDB ke Server Couchbase atau tidak harus didasarkan pada perbedaan dan ketergantungan Anda pada fitur-fitur itu dalam penyebaran CouchDB Anda saat ini.
Misalnya jika Anda tertarik dengan CouchDB setelah menonton The CouchDB mengubah umpan pembicaraan NodeCamp oleh Mikeal Rogers atau salah satu tutorial CouchApp hebat oleh J. Chris Anderson maka Anda harus menyadari bahwa jika Anda ingin beralih ke Server Couchbase maka Anda harus melupakan hampir semua yang mereka bicarakan.
Karena itu, saya akan mengatakan bahwa Server Couchbase terlihat seperti evolusi Memcached dan Membase (bukan evolusi CouchDB) dan karenanya terlihat seperti produk hebat jika Anda saat ini menggunakan Memchached atau Membase. Jika Anda menggunakan CouchDB dengan cara paling mendasar maka Anda dapat mempertimbangkan untuk menggunakan Server Couchbase untuk hal yang sama dan mungkin atau mungkin tidak berkinerja lebih baik (jika Anda tidak keberatan dengan pembatasan lisensi). Tetapi jika Anda benar-benar menggunakan salah satu fitur yang unik di CouchDB (seperti umpan perubahan, CouchApps, arsitektur dua tingkat, replikasi peer-to-peer dll.) Maka Anda dapat melupakan fitur-fitur tersebut atau tetap menggunakan CouchDB. Bagaimanapun, pastikan untuk membaca dan memahami tutorial Migrasi ke Couchbase untuk Pengguna CouchDB sebelum Anda berpikir untuk beralih.
Orang-orang sering mendapat kesan yang salah (mungkin setelah membaca hal-hal seperti "Apa masa depan CouchDB? Ini Couchbase." ) Bahwa CouchDB entah bagaimana usang oleh Server Couchbase, atau bahwa itu adalah versi lama, warisan Couchbase. Sementara itu CouchDB adalah proyek open-source yang dikelola secara aktif, server Couchbase adalah proyek yang sepenuhnya terpisah (ini adalah proyek yang lebih baru tetapi itu bukan versi yang lebih baru dari CouchDB - mereka bahkan tidak kompatibel) dan karena bahkan alat-alat baru untuk membuat CouchApps masih tetap ada sedang dikembangkan (mis. lihat proyek Kanso ) maka CouchDB tidak akan segera ke mana-mana.
Saya harap ini menjelaskan kebingungan ini. Harap perbaiki saya jika saya salah dalam hal apa pun di sini.
Couchbase Server sebenarnya adalah nama baru untuk Server Membase (Server Membase diubah namanya menjadi Couchbase Server di suatu tempat di sekitar versi 1.8). Lihat Couchbase 2011 Tahun di Ulasan :
Sayangnya, kami mengacaukan banyak potensi pengguna kami. Selain Membase Server dan produk seluler baru kami, kami juga menawarkan Couchbase Single Server yang merupakan "distribusi" paket Apache CouchDB. Selain itu, kami mulai merilis pratinjau pengembang Couchbase Server 2.0, yang memasukkan teknologi CouchDB ke Membase Server - tetapi produk ini tidak kompatibel dengan Couchbase Single Server (atau CouchDB). [...] Membase Server akan berganti nama menjadi Couchbase Server 1.8 pada rilis berikutnya pada bulan Januari - langkah kecil yang hanya mengurangi kebingungan "nama". Seperti yang telah direncanakan sejak awal, rilis Couchbase Server 2.0 (saat ini di Developer Preview 3) akan menambah fungsionalitas indeks dan permintaan. Sementara Couchbase Server 2.0 akan menggabungkan teknologi besar dari proyek CouchDB,itu tidak akan kompatibel dengan CouchDB dan seharusnya tidak dilihat sebagai "versi CouchDB." [penekanan ditambahkan]
Mereka adalah perangkat lunak yang berbeda namun serupa. Saya telah mencampur kembali konten dari jawaban teratas menjadi gambar yang dapat membantu menjelaskan "perbedaan" serta hal-hal umum:
Komentar dari Matt Ingenthron menambahkan ini:
Untuk menambahkan beberapa konteks / koreksi: Pendiri NorthScale adalah Steve Yen dan Dustin Sallings. Saya bergabung dengan mereka segera setelah didirikan. Juga, Damien tidak kemudian bergabung dengan Couchbase, ia adalah bagian dari CouchIO / Couch One sebelum merger. Mengutip sumber sejarah yang menyenangkan: https://youtube.com/watch?v=aZ_JOnU8tkI
Saya pikir CouchBase tampaknya dianggap sebagai alternatif 'perusahaan' CouchDB. Yang tampaknya benar. Terlepas dari kurangnya kemampuan untuk melampirkan file ke catatan (dokumen) dan titik akhir REST 'out-of-box' dibandingkan dengan CouchDB, CouchBase memiliki bahasa seperti sql yaitu N1QL (kadang-kadang diucapkan Nikel). Ini adalah salah satu alasan mengapa saya tidak terlalu suka / merekomendasikan menggunakan istilah 'NoSQL'. Saya pribadi suka istilah 'Non-relasional'.