İçeriğe atla

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,[1] 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.

Eric Brewer'in deyimiyle CAP teorem, Couchbase bir CP tipi sistemdir.

Ürün Tarihi

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ı.

Yüksek Seviyeli Mimari

Her CouchBase düğümü veri yönetimi ve küme yönetimi bileşenlerinin mimarisi olarak birbirinin aynısıdır.

Küme Yöneticisi

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.

Kopyalama ve Yerine Çalışma

  • Çoklu model kopyalama desteği: master-slave kopyalamayı destekleyen mimari altında makineden(peer-to-peer) makineye kopyalama sağlanır.
  • Yapılandırılabilir kopyalama sayacı: Mevcut gereksinimlerle kaynak kullanımını dengeler.
  • Yüksek hızlı yerine çalışma: Hızlı yerine çalışma madde tabanlı istekler üzerinden çoğaltılır.

Veri Yöneticisi

Veri yöneticisi depolama ve doküman alma gibi çeşitli veri işlemleriden sorumludur.

  • İ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.

Veri Biçimi

Couchbase'de bir doküman veri işlemenin çok temel bir birimidir. Dokümanlar Json doküman biçiminde önceden tanımlı şemalar olmadan depolanır.

Nesne Yönetilen Ön Bellek

Couchbase sunucusu inşa edilmiş çoklu iş parçacıklı nesne yönetilen ön bellek içerir. Bu memcached uyumlu API'lerde veri ayarlama, veri çekme, silme, ekleme, gibi işlemleri yapar. Nesne Yönetilen Ön Bellek Couchbase sunucusu inşa edilmiş çoklu iş parçacıklı nesne yönetilen ön bellek içerir. Bu memcached uyumlu API'lerde veri ayarlama, veri çekme, silme, ekleme, gibi işlemleri yapar

Depolama Motoru Tasarımı

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.

Performans

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ı.

Lisans ve Destekleme

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.

Kaynakça

  1. ^ "Couchbase". 24 Ağustos 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Eylül 2013. 

Ayrıca bakınız

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Sunucu (bilişim)</span> bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların) erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran bilgisayar birimi

Sunucu, bilişim alanında "istemci" denilen diğer program ve cihazlara çeşitli işlevler sunan bilgisayar donanımları veya yazılımlarıdır. Bu mimariye istemci-sunucu modeli denir. Sunucular, istemciler arasında veri veya kaynak paylaşımı, bir istemci için hesaplama yapma gibi çeşitli işlevleri yerine getirebilirler. Bu işlevlere genellikle "servis" veya "hizmet" denir. Tek bir sunucu çok sayıda istemciye hizmet verebilir, tek bir istemci de çok sayıda sunucudan hizmet alabilir. İstemci ve sunucu aynı cihaz üzerinde çalışabileceği gibi, istemci ağ üzerinden farklı bir cihazdaki sunucuya da bağlanabilir. Tipik sunucular arasında veritabanı sunucuları, dosya sunucuları, e-posta sunucuları, yazdırma sunucuları, web sunucuları, oyun sunucuları ve uygulama sunucuları sayılabilir.

<span class="mw-page-title-main">Barındırma hizmeti</span> Web Sitelerin dosya barındırma sistemi

Barındırma (hosting), bir web sitesinde yayınlanmak istenen sayfaların, resimlerin veya belgelerin internet kullanıcılarının erişimine sunulabilmesi amacıyla bir sunucuda saklanmasıdır. Barındırma hizmeti, web sitesinin içeriğinin yüklenip saklandığı sunucunun veri depolama işlevini üstlenir.

<span class="mw-page-title-main">Hyper-V</span>

Hyper-V, Microsoft Hyper-V, Viridian kod adındaki ve önceleri Windows Sunucu Sanallaştırma olarak bilinen, x64 bilgisayarlar için hypervisor tabanlı bir sanallaştırma sistemidir. Birden fazla sunucu rolünü tek bir fiziksel ana makinede çalışan ayrı sanal makineler olarak birleştirerek sunucu donanımı yatırımlarını iyileştirmek için bir araç sağlar. Hyper-V ayrıca, Windows haricinde Linux gibi işletim sistemleri de dahil olmak üzere birden fazla işletim sistemini verimli bir şekilde tek bir sunucuda çalıştırmak ve 64-bit bilgi işlemin gücünden faydalanmak için de kullanılabilir.Windows Server 2008'in belirli x64 sürümleriyle birlikte Hyper-V'nin bir betası sevk edilmiş ve kesinleşmiş sürüm 26 Haziran 2008'de piyasaya çıkmıştır. Yeni çıkacak olan Windows Server 2012® Hyper-V® ile de birden fazla işletim sisteminin paralel olarak aynı sunucu üzerinde çalıştırılmasını sağlamaktadır.

Bilgisayar bilimleri'nde NoSQL, klasik ilişkisel veritabanı yönetim sistemlerinden (İVTYS) bir şekilde farklı olan veritabanı yönetim sistemleri için kullanılan bir kavramdır. Bu veri depolarının sabit tabela düzenlerine ihtiyaçları olmayabilir, alışılagelmiş join işlemleri kullanılmaz, tipik olarak yatay ölçeklemeye gidilir. Akademisyenlerce ve makalelerde tipik olarak böyle veri depolarına yapılanmış bellek denir. Bu kavram klasik ilişkisel veritabanlarını altküme olarak görür. Bu kavram aynı zamanda SQL ve Daha Fazlası olarak da adlandırılmaktadır.

<span class="mw-page-title-main">Anaçatı bilgisayar</span>

Bir anaçatı bilgisayar milyonlarca kullanıcıya eş zamanlı olarak farklı hizmetler verebilen, büyük, güçlü ve pahalı bir bilgisayardır. Anaçatı bilgisayarların gücü şu nedenlerden kaynaklanmaktadır:

MongoDB (“humongous”); MongoDB Inc. tarafından ölçeklenebilir, doküman tabanlı, C++ ile geliştirilmiş açık kaynak, NoSQL veritabanı uygulamasıdır. MongoDB, verileri JSON benzeri bir veri biçimi olan BSON tabanlı dokümanlarda saklamaktadır, anlamsal alanları dokümandan dokümana değişir ve veri yapısı zaman içinde değiştirilebilir. Belge modeli, uygulamanızın kodundaki nesnelerle eşleştirilir, böylece verilerin kullanımı kolaylaşır. Geçici sorgular, dizin oluşturmak için ve gerçek zamanlı verilerinize erişmek ve analiz etmek için güçlü yollar sağlar. MongoDB, özellikle hız gerektiren ve geleneksel ilişkisel veritabanlarının (RDBMS) hantal ve yavaş kaldığı yapılarda kullanılmaktadır. MongoDB, dağıtılmış bir veritabanı yapısına sahiptir, bu nedenle yüksek erişilebilirlik, yatayda ve dikeyde ölçeklendirme yapılabilmektedir. MongoDB, GNU Affero Genel Kamu Lisansı uyarınca yayınlanan ücretsiz ve açık kaynaktır.

Veri kurtarma veya Data recovery, cep telefonu, bilgisayar, notebook gibi ikincil depolama cihazlarındaki bilgilerin, herhangi bir nedenle bu bilgilere ulaşılamaması durumunda, bilgilerin yeniden ulaşılabilir hale getirilmesini, bir başka deyişle kaybolmuş bilgilerin geri getirilmesini ifade eder.

<span class="mw-page-title-main">Bulut depolama</span>

Bulut depolama, sunucular tarafından ağ üzerinde sanal olarak oluşturulan havuzlarda veri depolamasıdır. Büyük çaplı veri merkezlerini işleten ve depolama için alan sunan çeşitli şirketler bulunmaktadır. Bulut depolama dosyalarınızi kaydeder ve bilgisayar bozulsa bile dosyalarınız zarar görmez.

ownCloud Özgür bulut dosya depolama hizmeti

ownCloud, genel bir terimle dosya barındırma hizmeti hizmeti sunan bir yazılım sistemidir. Yaygın kullanılan Dropbox, Google Drive hizmetlerinin aksine özgür ve açık kaynak kodlu bir yazılımdır. Kullanıcılar ownCloud'u bir özel sunucu içerisine kurarak hiçbir ücret ödemeden ve depolama miktarında veya bağlanan istemci sayısında sınır olmaksızın kullanabilir.

<span class="mw-page-title-main">SQL enjeksiyonu</span>

SQL enjeksiyonu, veri tabanına dayalı uygulamalara saldırmak için kullanılan bir atak tekniğidir; burada saldırgan SQL dili özelliklerinden faydalanarak standart uygulama ekranındaki ilgili alana yeni SQL ifadelerini ekler.. SQL enjeksiyonu, uygulamaların yazılımları içindeki bir güvenlik açığından faydalanır, örneğin, uygulamanın kullanıcı giriş bilgileri beklediği kısma SQL ifadeleri gömülür, eğer gelen verinin içeriği uygulama içerisinde filtrelenmiyorsa veya hatalı şekilde filtreleniyorsa, uygulamanın, içine gömülmüş olan kodla beraber hiçbir hata vermeden çalıştığı görülür. SQL enjeksiyonu, çoğunlukla web siteleri için kullanılan bir saldırı türü olarak bilinse de SQL veri tabanına dayalı tüm uygulamalarda gerçeklenebilir.

<span class="mw-page-title-main">Windows Server 2016</span>

Windows Server 2016, Windows 10 ile eş zamanlı olarak geliştirilen, Windows NT işletim sistemleri ailesinin bir parçası olarak Microsoft tarafından geliştirilen bir sunucu işletim sistemidir. İlk erken önizleme sürümü, Microsoft Servers ilk teknik önizleme ile birlikte 1 Ekim 2014 tarihinde mevcut oldu. İstemci işletim sistemi ile eş zamanlı olarak yayımlanmış olan önceki Windows Server sürümlerinin aksine, Windows Server 2016 Ekim 2016 için planlanan genel durumu ile Microsoft Ignite toplantısında 26 Eylül 2016 tarihinde serbest bırakıldı.

Eşzamanlılık denetimi, eşzamanlı işlemler için doğru sonuçların elde edilmesini sağlarken, bu sonuçları da olabildiğince çabuk almayı sağlayan uğraşı alanıdır.Bilgisayar bilimleri, bilgi teknolojileri ve özellikle bilgisayar programlama, işletim sistemleri, çoklu işlemciler ve veritabanı alanlarında önemlidir.

Disk şifreleme içerisindeki bilgiyi kimliği doğrulanmamış kişilerden korumak için kolayca çözülemeyecek okunmaz bir koda dönüştüren bir teknolojidir. Disk şifreleme disk şifreleme yazılımı veya diske veya diskin herhangi bir bölümüne giden her bir bit veriyi şifreleyen bir donanım kullanır. Veri belleğine kimliği doğrulanmamış kişilerin erişmesini engeller.

Pano, kısa süreli veri depolama, kesme, kopyalama ve yapıştırma işlemleri tarafından kullanılan, işletim sistemi tarafından sağlanan belgeler veya uygulamalar arasında veri aktarımı için kullanılan bir veri arabelleğidir. İngilizce pano ve not panosu aynı anlamı (clipboard) verir. Genellikle, ortamdaki programların çoğundan veya tanımlanmış programlama arabirimleriyle erişilebilen, bazen yapıştırma arabelleği olarak adlandırılan, adsız, geçici bir veri ara bellek olarak uygulanır. Tipik bir uygulama, tuş takımları, menü seçimleri vb. gibi kullanıcı giriş/çıkışları bu arayüzlerle eşleyerek pano işlevselliğine erişir. Pano tesisinin anlam bilimi, bir işletim sisteminden diğerine değişir ve aynı sistemin sürümleri arasında da değişebilir. Bazen farklı programlar veya kullanıcı tercihleri ile değiştirilebilirler.

MemcacheDB, Steve Chu ve Howard Chu tarafından geliştirilen bellekteki verileri ve nesneleri önbelleğe alarak dinamik veritabanı ile çalışan web sitelerini hızlandırmak için kullanılan genel amaçlı dağıtılmış bir bellek önbellekleme sistemi olan memcached'in kalıcı veri barındırma özellikli bir çeşididir. MemcacheDB ve Memcached arasındaki temel fark, MemcacheDB'nin Berkeley DB tabanlı kendi anahtar / değer veritabanı sistemine sahip olmasıdır, bu nedenle kalıcı olmayan bir önbellek ile sınırlı olmak yerine kalıcı depolama için tasarlanmıştır. Lightning Memory-Mapped Database (LMDB) kullanan bir MemcacheDB sürümü de mevcuttur ve daha fazla performans sunar. MemcacheDB'ye memcached ile aynı bağlantı protokolü üzerinden erişilir, böylece uygulamalar MemcacheDB veritabanına erişme aracı olarak herhangi bir Memcached API'sini kullanabilir.

PowerDNS, C ++ ile yazılmış ve GPL altında lisanslanmış bir DNS sunucusudur. Çoğu Unix türevinde çalışır. PowerDNS, basit BIND stili bölge dosyalarından ilişkisel veritabanlarına ve yük dengeleme / yük devretme algoritmalarına kadar çok sayıda farklı arka uç içerir. Ayrı bir program olarak bir DNS imleci sağlanmıştır.

Windows Server ile karıştırılmamalıdır.

Bilgisayar biliminde, bellek içi işleme, bellek içi bir veritabanında depolanan verilerin işlenmesi için gelişen bir teknolojidir. Daha eski sistemler, SQL sorgu dilini kullanan disk depolama ve ilişkisel veritabanlarına dayanıyordu, ancak bunlar iş zekası (BI) ihtiyaçlarını karşılamada giderek yetersiz kalıyor. Depolanan verilere, rastgele erişimli belleğe (RAM) veya flash belleğe yerleştirildiğinde çok daha hızlı erişildiğinden, bellek içi işleme, verilerin gerçek zamanlı olarak analiz edilmesini sağlayarak iş dünyasında daha hızlı raporlama ve karar vermeyi mümkün kılar.

LangChain, geniş dil modelleri (LLM) kullanarak uygulamaların oluşturulmasını basitleştirmek için tasarlanmış bir yazılım iskeletidir.

Anahtar-değer veritabanı, bir anahtar ve o anahtarla ilişkili veriyi depolayan ve yöneten bir veritabanı türüdür. Bu model, genellikle büyük ölçekli dağıtık sistemlerde kullanılır ve özellikle NoSQL veritabanlarının bir kategorisi olarak öne çıkar. Her veri öğesi, genellikle tekil ve benzersiz bir anahtar ile ilişkilendirilmiş bir değerden oluşur.