2. CouchDB veritabanı uygulamasında ustalaşın
9.2.1 CouchDB Veritabanına Giriş
Hyperledger Fabric projesinde şu anda desteklenebilen iki durum veritabanı bulunmaktadır:
LevelDB: LevelDB, eşde gömülü olan varsayılan anahtar-değer durumu veritabanıdır.
CouchDB: CouchDB, levelDB'nin yerini alan isteğe bağlı bir durum veritabanıdır. LevelDB anahtar-değer deposu gibi, CouchDB de yalnızca anahtarlara göre karşılık gelen sorguları gerçekleştirmekle kalmaz, aynı zamanda farklı uygulama senaryolarına dayalı karmaşık sorgular da uygulayabilir.
CouchDB, eski IBM Lotus Notes geliştiricisi Damien Katz tarafından 2005 yılında oluşturulan bir projedir. "Büyük ölçekli ölçeklenebilir nesne veritabanları için bir depolama sistemi" olarak tanımlanır ve 2008'de bir Apache projesi haline gelmiştir. İlk kararlı sürüm Temmuz 2010'da piyasaya sürüldü ve resmi web sitesinin en son sürümü 2.2.0'dır.
Apache CouchDB, yeni nesil veritabanı yönetim sistemlerinden biridir.Basit (ancak güçlü) temel kavramlara ve anlaşılması kolay özelliklere sahiptir. JSON kullanır ve tüm veri depolama gereksinimlerini karşılamak için ikili verileri destekler. Veri güvenliğini ilk sıraya koyan yüksek kullanılabilirliğe ve hataya dayanıklı bir depolama motoruna sahiptir; modern ağlar ve mobil uygulamalar için uygundur ve veri dağıtımını verimli bir şekilde gerçekleştirebilir.
Daha sonra, Hyperledger Fabric'in resmi sürümü daha fazla veritabanı yönetim sistemini destekleyebilir.
9.2.2 Hyperledter Fabric'te CouchDB'nin özel uygulaması
Aşağıda CouchDB kullanımını gerçekleştirmek için CouchDB konteyner kullanıyoruz.
Bir fatura sorgulama fonksiyonunun gerçekleştirilmesi örnek olarak alındığında, zincir kodunda iki sorgu yöntemi sağlanmıştır, tüm faturaları sahibinin sertifika numarasına göre sorgulamak ve sahibinin sertifika numarasına göre imzalanacak faturayı sorgulamaktır. Zincir kodu dağıtıldıktan sonra, verileri başlatmak için özel billInit yöntemini çağırın ve ardından test için iki sorgu yöntemini çağırın. Uygulama adımları aşağıdaki gibidir:
Önce bir biletin yapı dosyasını tanımlayın: domain.go
Durum veritabanı CouchDB kullanıyorsa, en büyük özelliklerden birine sahiptir: durumu almak için zengin sorgu kullanılabilir, ancak CouchDB sorgu sözdizimi yapısına uyması gereken zengin sorgu dizesinin özelleştirilmesi gerekir.
2. CouchDB nasıl kullanılır?
Hyperledger Fabric ortamında, CouchDB kullanmanız gerekiyorsa, CouchDB konteynerini docker-compose.yml / docker-compose.yaml veya özel bir yapılandırma dosyasında ve ardından her eş konteynerin ortam özniteliğinde ilgili ortam içeriğini bildirmeniz gerekir. Ve bağımlı_on özniteliğinde bildirilen CouchDB kabının adını belirtin.