Couchbase Server

Couchbase Server, Membase olarak bilinen, açık kaynak ve NoSQL tabanlı doküman şeklinde verileri tutan, etkileşimli uygulamalar için bir geliştirilmiş veritabanı türüdür. Bu uygulamalar genelde aynı anda birçok kullanıcının kullandığı servisler gibi olmalıdır. Bu uygulamalarda eş zamanlı olarak birden çok veri işlenir, depolanır, güncellenir, çekilir. Bu ihtiyaçlar karşısında Couchbase kolay ölçeklenebilir anahtar-değer ya da doküman olarak erişilebilen, düşük gecikme zamanı ve yüksek kalıcı verimliliği olan bir veritabanıdır. Couchbase bir makine üzerindeki büyük ölçekli veriler için küme(cluster) olarak tasarlanmıştır.

Couchbase , memcached ile alışıldık olduğu gibi kablo üzerinde bütünlük sağlar ama disk kalıcılığı, veri kopyalaması, canlı küme yeniden yapılandırması, verileri yeniden dengeleme (rebalancing) gibi özellikler için tasarlanmıştır.

AOL, Cisco, Concur, LinkedIn, Orbitz, Salesforce.com, Shuffle Master, Zynga, NHN Corporation gibi şirketler ve diğer yüzlercesi etkileşimli web uygulamaları ve mobil uygulamalar için CouchBase'i kullanırlar.

Membase memcached projesinin birkaç lideri tarafından geliştirildi. Bu liderlerler NorthScale adında bir şirket kurmuşlardı, anahtar-değer depolamanın basitliği, hız, memcahed ölçeklenebilirliği gibi özellikleri geliştirdiler, ama aynı zamanda depolama, kalıcılık ve veri tabanın sorgu yetenekleri gibi özellikleri de sağladılar. Orijinal membase kaynak kodu NorthScale'den katkı aldı ve proje ortak sponsorları 2010 yılında Zynga ve NHN oldu.

8 şubat 2011'de Membase proje kurucuları ve Membase, Anonim şirket CouchOne (CouchDB arkasındaki birçok temel oyuncusuyla bir şirket) olarak birleştirilip projelerin ilişkilendirilmesiyle duyuruldu. Bu birleştirilmiş şirkete ise CouchBase denildi. Aralık 2012'de CouchBase Sunucusunun 1.8 sürümü çıkarıldı. CouchBase 2.0 sürümü Json dokümanları depolama, indeksleme ve sorgulama, artırılmış Map Reduce özelliği ve çapraz veri merkezi kopyalama gibi yeni özellikleriyle çıkarıldı.

Küme yöneticisi bir CouchBasedeki tüm sunucuları yapılandırır ve davranışlarını denetler. Düğümlerin davranışlarını kopyalama akış yönetimi ve yeniden dengelendirme (rebalancing) gibi işlemleri de yapılandırır ve denetler. Küme yöneticisi aynı zamanda toplama ölçümü ve kümeler için olan fonksiyonlarda fikir birliği sağlar ve bir RESTful küme yönetici API'sidir. Küme yöneticisi Erlang/OTP üstünde inşa edilmiştir.

İstemci yazmayı onayladıktan sonra veriler diske eş zamanlı olmayarak yazılırlar. 1.7 sürümü ve sonrasında, uygulamalar verileri birden fazla sunucuda eş zamanlı olarak sağlayabilirler, ancak 1.7 sürümünde veriler disklere hala eş zamanlı olmayarak yazılır.

Couchbase veri bozulmasına bağışıklık olarak kuyruk ekleme tasarımına sahiptir. Veriler dosyalarda tutulur, Couchbase veri güncellemesi için pek çok sıralı yazma işlemini yapar ve I/O diskleri için iyileştirilmiş bir erişim tasarımı sağlar.

Cisco Couchbase'in verimliliğini ve gecikme zamanını ölçen bir referans yayınladı. Diğer performans referansı ise Altoros tarafından verildi, bu referansta diğer NoSQL veri tabanları ve Couchbase'in veri tabanı çözümlemeleri karşılaştırıldı.

Couchbase sunucusu bir açık kaynak projedir ve iki çeşidi mevcuttur: Topluluk Sürümü hatalardan olmadan önceki hatalar Açık Kaynak olarak son hataları kapatılmamış ve Kurumsal Sürümü ticari işlemler için mevcuttur.