Araç çubuğuna atla

Couchbase Server Nedir ? Couchbase Veritabanı Hakkında

Couchbase, document ve key-value tabanlı, memory-first architecture yapısına sahip bir NoSql veritabanıdır. Couchbase’i diğer ilişkisel ve ilişkisel olmayan veritabanlarından ayıran en büyük özellikleri bunlardır. N1QL adı verilen bir sorgulama dili vardır. Couchbase’de belgelerimiz Json olarak tutulur.
Cluster mimarisi üzerinde çalışabilen Couchbase, verileri farklı node’lar üzerine dağıtabilir. Node üzerindeki veriler öncelikle memory’de tutulur ve işlenir. Örnek olarak Oracle veritabanında transaction’ın tamamen bitmesi beklenir. Bunun için transaction memory de işlendikten sonra diske yazması beklenir, yazma işlemi bittiğinde ise transaction tamamlanır. Fakat Couchbase’de transaction memory’e yazıldığı andan itibaren işlem tamamlanır bu nedenle couchbase diğer veritabanlarına göre çok hızlıdır. verilerin tutarlı işlem göremesi istendiğinde ise verilen disk üzerine de yazılabilir. Bu işleme ise Durability adı veriliyor. Durability, verilerinizin tutarlı bir şekilde veritabanında barınabilmesi için önemli bir yöntemdir.

Mimari

Couchbase, kaynak kullanımını artırmak ve iş yükünü dengelemek için elastik bir mimari kullanır. Bunun için en klasik yöntem, kullanılan ana servisleri farklı düğümlere dağıtmaktır.

Bu servisler;

Data Service: Veriye ulaşmak için kullanılan servistir.

Query Service: N1QL sorgulama dilinde belirtilen sorguları ayrıştırır, execute eder ve sonuçları döndürür. Query servisi, hem Data hem de Index servisleri ile etkileşimli bir şekilde çalışır.

Index Service: Index oluşturmak için kullanılan servistir. Query ve Analytics servisleri ile tutarli bir şekilde çalışır.

Search Service: Full Text Search için özel olarak dizin oluşturmak için kullanılır.

Analytics Service: Cpu ve memory gibi kaynak kullanımını yükseltecek Join, Set, Aggregation ve Group operasyonlarını desteklemek için kullanılır.

Eventing Service: Trigger veya rapor oluşturmada kullanılan servistir.

Data

Couchbase’de ki veriler Bucket adı verilen mantıksal yapılarda saklanır. Veriler, ilişkisel veritabanlarında tablolarda tutulurken, Couchbase’de ise Bucket içerisinde saklanır. Bucket ile veri depolama türleri üç farklı türde yapılabilir. Bunların birincisi Couchbase Bucket; verileri hem belleğe hem de diske yazar. Memcached Bucket, verileri yalnızca belleğe yazar. Ephemeral Bucket, verileri geçici olarak bellekte tutar. Couchbase, sorgu dili olarak diğer SQL dillerine çok benzeyen N1QL (Nikel) sorgu dilini kullanır. Couchbase’de belgelerimiz Json olarak tutulur.

Veriler aynı zamanda, Table, Tree, Plan veya Plan text olarakta görüntülenebilir.

Replication / Replikasyon

Couchbase’de bucket’lar active ve replica olmak üzere ikiye ayrılır. Replikalar bucket’ların yedeğini tutar. Active ve replica’lar verileri kaybı olmaması adına farklı node’lar da tutulur. Eğer active bucket’a sahip node erişilemez olursa, down olan active bucket’ın replica’sı otomatik olarak up statüsüne geçer ve veritabanında herhangi bir işlem yapmadan ve zaman kaybı olmadan verilere erişimi kusursuz bir şekilde sağlar. Down durumuna düşen node yeniden ayağa kalktığında, bucket’ın replikası yeniden farklı bir node üzerinde çalışmaya başlar. Tüm bu operasyonlar Rebalance olarak adlandırılır ve Couchbase tarafından otomatik olarak yapılır.
Bucket’ın replica sayısını, bucket’ı oluştururken veya oluşturduktan sonra Couchbase web arayüzünden ayarlayabiliriz.

Bucket’ın replikası alındığı gibi, node’un ve cluster’ın da replica’sı alınabilir. Bu method XDCR (Cross Data Center Replication)  olarak adlandırılır. Farklı bir lokasyondaki datacenter’da Couchbase Server kurulur ve bu iki farklı lokasyondaki serverlar (active lokasyon ve replica lokasyon) XDCR ile iletişim halinde olurlar. Böylelikle active olarak kullanılan datacenter’ın down olması durumunda herhangi bir değişikliğe veya operasyona gerek kalmadan replica datacenterdan veritabanı çalışmaya devam eder.

Couchbase’in XDCR için diğer connectorleri; Elasticsearch, Hadoop, Kafka, Spark, Talend, SQL (ODBC/JDBC)

Couchbase yönetimi WEB UI, REST API ve CLI üzerinden yapılabilir. Özellikle web kullanıcı arayüzü kullanımı oldukça basittir ve anlaşılır. Kullanıcı arayüzü aracılığıyla birçok operasyonel işlem ve sorgu yapabilirsiniz.

Node, service ve bucket’ların monitoring işlemlerini yine bu arayüzden yapabilirsiniz.

Arayüze erişmek için default olarak 8091 portu kullanılır. Bu arayüze aşağıdaki şekilde giriş yapılabilir.
http: // localhost: 8091

Database Administrator at Nubes Bilişim Danışmanlık ve Ticaret A.Ş - http://www.cansayin.com - https://www.linkedin.com/in/can-sayın-b332a157/

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back To Top