Yanıtlar:
CouchDB ve Couchbase Server arasında işaret edilmesi gereken bazı önemli farklılıklar olduğunu düşünüyorum.
CouchDB'den Couchbase Sunucusuna geçmenin avantajları hakkında yazmayacağım çünkü bunlar hemen hemen her yerde açıklanıyor (bkz . Damien Katz tarafından CouchDB'nin Geleceği veya Couchbase tarafından Apache CouchDB'ye bakın). Bunun yerine, Couchbase Server'da bulamayacağınız CouchDB özelliklerini numaralandırmaya çalışacağım .
CouchDB ve Couchbase ile ilgili tüm isimler gerçekten kafa karıştırıcı olabilir, bu yüzden en önemli olanların kısa bir açıklamasıyla başlamak için bu cevabı güncelledim.
CouchDB, CouchIO, CouchOne, Couchbase, Couchbase Server, Couchbase Mobile, Couchbase Lite, CouchApps, BigCouch, Touchbase, Membase, Memcached, MemcacheDB ... hepsi farklı ve yine de sadece isimlerden açıkça belli olmayan bir şekilde ilişkili.
İlk olarak, eski bir IBM geliştiricisi olan Damien Katz tarafından oluşturulan bir veritabanı olan CouchDB vardı. Bir Apache projesi olduktan sonra resmi adı Apache CouchDB olarak değiştirildi.
Apache CouchDB üzerinde çalışmak üzere CouchIO adında bir şirket kuruldu ve daha sonra adını CouchOne olarak değiştirdi ("adı" ile şirket adını kastediyorum - veritabanı adı değil).
CouchOne (eski adıyla CouchIO), Couchbase adında yeni bir şirket kurmak için Membase (eski adıyla NorthScale) ile birleşti. Membase (şirket) Membase'yi (aynı adı taşıyan bir ürün) geliştirdi. Membase Memcached projesinin birçok lideri tarafından oluşturuldu ve Memcached protokolünü kullandı. CouchOne ve Membase'in birleşmesinden sonra Couchbase, Membase yazılımının geliştirilmesine devam etti ve daha sonra adını Couchbase Server olarak değiştirdi.
Bugün çoğu insanın Couchbase Server'ın CouchDB'nin yeni bir sürümü olduğuna inanıyor, ancak aslında Membase'nin yeni bir sürümü. Hala CouchDB'nin RESTful API'sini değil Memcached protokolünü kullanıyor. Bu arada, CouchDB hala bir Apache projesi olarak aktif olarak sürdürülüp geliştirilmiş CouchDB'dir.
Şimdi ilgili farklılıklara:
Couchbase Server tamamen açık kaynaklı / ücretsiz bir yazılım değildir . İki sürümü vardır: Topluluk Sürümü (ücretsiz ancak en son hata düzeltmeleri yoktur) ve Enterprise Sürümü (kullanım, gizlilik hükümleri, Couchbase Inc. tarafından "Lisans Alanın tesislerinde normal çalışma saatlerinde gerçekleştirilecek" denetimleri ve diğer tipik koşullar vardır) birçok kişinin kabul edilemez bulabileceği özel yazılımlar).
CouchDB, Apache Software Foundation'ın açık kaynaklı / ücretsiz bir yazılım (dizgisiz) projesidir ve Apache Lisansı, Sürüm 2.0 (DFSG uyumlu, FSF onaylı, OSI onaylı, GPL uyumlu, copyleft olmayan) , ticari dostu).
Doğrudan işaret ettiğimi hiç görmedim, ancak bu aslında bu iki veritabanı arasındaki en önemli fark olabilir, çünkü sadece belirli özellikler, API'ler veya lisanslama ile ilgili değil, dağıtılmış bilgi işlem modellerinin altında yatan felsefe ile ilgilidir. CouchDB ve Couchbase Server, dağıtılmış sistemler ve veritabanları oluşturma felsefelerinde tamamen farklıdır.
CAP teoremine göre, dağıtılmış bir veritabanının aynı anda tutarlılık, kullanılabilirlik ve bölüm toleransı sağlaması imkansızdır.
CouchDB bir AP tipi sistemdir ( Kullanılabilirlik ve Bölüm toleransı sağlar ).
Couchbase Server bir CP tipi sistemdir ( Wikipedia'ya göre ) VEYA CA tipi bir sistemdir ( Couchbase teknik güncellemesine göre ) - BU HANGİ DOĞRUDUR ? LÜTFEN YORUMLAYIN.
Couchbase sunucusu tarafından desteklenmeyen CouchDB özelliklerinin bir listesi olarak buldum:
CouchDB'nin bu özellikleri sizin için önemli olabilir veya olmayabilir, bu yüzden bunların eksikliği dezavantajlı olsun veya olmasın kesinlikle özneldir, ancak CouchDB'den Couchbase Sunucusuna geçilip geçilmemesi kararının bu farklılıklara dayanması gerektiğini düşünüyorum ve mevcut CouchDB dağıtımlarınızda bu özelliğe bağımlılığınız.
Örneğin izledikten sonra CouchDB ilgilenen var verdiyseniz yem değişiklikleri CouchDB J. Chris Anderson tarafından Mikeal Rogers veya büyük bir CouchApp öğreticiler biri tarafından NodeCamp konuşma o zaman gerçekleştirmek zorundayız size sonra Couchbase Server geçmek istiyorsanız konuştukları hemen hemen her şeyi unutmak zorunda kalacaklar.
Bu nedenle, Couchbase Server'ın Memcached ve Membase'in bir evrimine (CouchDB'nin bir evrimi değil) benzediğini ve şu anda Memchached veya Membase kullanıyorsanız harika bir ürüne benzediğini söyleyebilirim. CouchDB'yi en temel şekilde kullanıyorsanız, aynı şeyler için Couchbase Sunucusunu kullanmayı düşünebilirsiniz ve daha iyi performans gösterebilir veya etmeyebilir (lisans kısıtlamalarına aldırmazsanız). Ancak, CouchDB'de benzersiz olan herhangi bir özelliği (değişiklik akışı, CouchApps, iki katmanlı mimari, eşler arası çoğaltma vb.) Kullanıyorsanız, bu özellikleri unutabilir veya CouchDB ile kalabilirsiniz. Her durumda, geçiş yapmayı düşünmeden önce CouchDB Kullanıcıları için Couchbase'e Geçiş öğreticisini okuduğunuzdan ve anladığınızdan emin olun .
İnsanlar genellikle CouchDB'nin Couchbase Sunucusu tarafından bir şekilde kullanılmadığı veya Couchbase'in eski, eski bir sürümü olduğu hakkında yanlış bir izlenim (belki de "CouchDB'nin geleceği nedir? Bu Couchbase." Bu arada CouchDB aktif olarak bakımı yapılan açık kaynaklı bir projedir, Couchbase sunucusu tamamen ayrı bir projedir (daha yeni bir projedir, ancak CouchDB'nin daha yeni bir sürümü değildir - hatta uyumlu değildir) ve CouchApps oluşturmak için yeni araçlar bile hala geliştiriliyor (ör. Kanso projesine bakın) o zaman CouchDB yakında hiçbir yere gitmiyor.
Umarım karışıklığı netleştirir. Burada bir sorunum varsa lütfen beni düzeltin.
Couchbase Sunucusu aslında Membase Sunucusu için yeni bir addır (Membase Sunucusu, sürüm 1.8 civarında bir yerde Couchbase Sunucusu olarak yeniden adlandırılmıştır). Bkz Review Couchbase 2011 yılı :
Maalesef, potansiyel kullanıcılarımızın çoğunun kafasını karıştırdık. Membase Server ve yeni mobil ürünlerimize ek olarak, Apache CouchDB'nin paketlenmiş bir “dağıtımı” olan Couchbase Single Server'ı da sunduk. Bunun üzerine, CouchDB teknolojisini Membase Server'a dahil eden Couchbase Server 2.0'ın geliştirici önizlemelerini yayınlamaya başladık - ancak bu ürün Couchbase Single Server (veya CouchDB) ile uyumlu değildi. [...] Membase Server, Ocak ayında bir sonraki sürümünde Couchbase Server 1.8 olarak yeniden adlandırılacak - bu sadece “ad” karışıklığını hafifleten küçük bir adım. En başından beri planlandığı gibi, Couchbase Server 2.0 sürümü (şu anda Developer Preview 3'te) dizin ve sorgu işlevselliği ekleyecektir. Couchbase Server 2.0, CouchDB projesinden önemli bir teknoloji içerecek olsa da,CouchDB ile yukarı doğru uyumlu olmayacak ve "CouchDB'nin sürümü" olarak görülmemelidir. [vurgu eklenmiştir]
Farklı ama benzer yazılım parçalarıdır. Ben içerik remix ettik üst cevap kudreti yardım "fark" yanı sıra ortak şeye açıklık bir resmin içine:
Matt Ingenthron'dan bir yorum ekliyor:
Bazı bağlamlar / düzeltmeler eklemek için: NorthScale kurucuları Steve Yen ve Dustin Sallings. Kurduktan kısa bir süre sonra onlara katıldım. Ayrıca Damien daha sonra Couchbase'e katılmadı, birleşmeden önce CouchIO / Couch One'ın bir parçasıydı. Eğlenceli ve tarihi bir kaynak belirtmek: https://youtube.com/watch?v=aZ_JOnU8tkI
CouchBase'in CouchDB'nin 'kurumsal' alternatifi olarak göründüğünü düşünüyorum. Hangi bir bakıma doğru gibi görünüyor. CouchDB'ye kıyasla kayıtlara (belgelere) ve 'kullanıma hazır' REST uç noktalarına dosya ekleyememe dışında, CouchBase, sql benzeri bir dile, yani N1QL'e (bazen bir Nikel olarak telaffuz edilir) sahiptir. Gerçekten 'NoSQL' terimini kullanmayı sevmeme / önermeme nedenlerinden biri budur. Şahsen 'ilişkisel olmayan' terimini seviyorum.