Belge odaklı DBMS Apache CouchDB 3.0'ın piyasaya sürülmesi

gerçekleşti dağıtılmış belge odaklı bir veritabanının yayınlanması Apache CouchDB 3.0, NoSQL sistemleri sınıfına aittir. Proje kaynakları yayılmış Apache 2.0 altında lisanslanmıştır.

İyileştirmelerApache CouchDB 3.0'da uygulandı:

  • Varsayılan yapılandırma geliştirildi.
    Başlarken, yönetici kullanıcısının artık tanımlanması gerekir; bu olmadan sunucu bir hatayla sonlandırılır (yanlışlıkla kimlik doğrulama olmadan erişimden ayrılan sunucuların başlatılmasıyla ilgili sorunları çözmenize olanak tanır). "/_all_dbs" çağrıları artık yönetici hakları gerektiriyor ve tüm veritabanları varsayılan olarak yalnızca yönetici kullanıcının erişebileceği şekilde oluşturuldu (erişim parametreleri "_security" nesnesi aracılığıyla değiştirilebilir). Varsayılan olarak, _users veritabanındaki nesnelerin düzenlenmesi yasaktır;

  • Katma Kullanıcı tanımlı bölümlere ayrılmış (bölümlere ayrılmış) veritabanları oluşturma yeteneği, belgeleri bölümlere (parça aralığı) dağıtmak için kendi kurallarınızı tanımlamanızı mümkün kılar. Mango görünümlerine ve dizinlerine parçalanmış veritabanları için özel optimizasyonlar eklendi;
  • uygulandı Segmentasyon (parçalama) sırasında otomatik bölme modu. Veritabanında artık, arıza düzeyini belirlemek için kullanılan q faktörünün değerindeki artışı hesaba katarak verileri bölümler arasında yeniden dağıtmak mümkün;
  • Katma Otomatik arka planda indeksleme ve ikincil indeksleri (JavaScript, Mango, metin arama indeksleri) yapım işlemlerini açıkça başlatmadan güncel tutmak için ken alt sistemi;
  • Otomatik veritabanı paketleme için kullanılan yumuşatma işlemi tamamen yeniden yazıldı;
  • Yeni alt sistem önerildi GÇ Sırası, belirli işlemler için G/Ç önceliğini değiştirmek için kullanılır;
  • Bir regresyon test sistemi uygulandı;
  • arm64v8 (aarch64) ve ppc64le (ppc64el) platformları için resmi destek eklendi;
  • ES1.8.5, ES60 ve ES5+ için iyileştirilmiş destekle birlikte JavaScript motoru SpiderMonkey 6 (Firefox 2016'ın ESR dalı) ile bağlantı kurma desteği eklendi;
  • Arama motoru dahil Dreyfus CouchDB'ye dayalı bir arama motorunun dağıtımını büyük ölçüde basitleştiren Lucene'ye dayalı;
  • Systemd-journald kullanılarak günlüğe kaydetme için arka uç eklendi;
  • “[couchdb] single_node” ayarı eklendi; ayarlandığında CouchDB, eksik olması durumunda sistem veritabanlarını otomatik olarak oluşturacaktır;
  • couch_server işleminin performansı optimize edildi;
  • Windows platformunun yükleyicisi önemli ölçüde iyileştirildi;
  • Görüntülemeler 2^28 (268435456) sonuçla sınırlıdır. Bu sınır, “[query_server_config]” bölümündeki query_limit ve partition_query_limit seçenekleri kullanılarak normal ve bölümlenmiş görünümler için ayrı ayrı yapılandırılabilir;
  • Ağ bağlantı noktası 5986'da başlatılan ayrı bir HTTP yerel düğüm yönetimi arabirimi kaldırıldı; bu arabirimin işlevselliği artık ortak küme yönetimi arabirimi aracılığıyla kullanılabiliyor;
  • Maksimum belge boyutu 8 MB'a düşürüldü; bu durum, CouchDB 3.0'a yükseltme sonrasında eski sunuculardan veri çoğaltmada sorunlara neden olabilir. Limiti arttırmak için “[couchdb] max_document_size” ayarını kullanabilirsiniz;
  • _replicator ve _external çağrıları, disk_size ve data_size alanları ve gecikmeli_commits seçeneği gibi eski özelliklerde büyük bir temizlik gerçekleştirildi;
  • CouchDB'yi çalıştırmak artık Erlang/OTP 20.3.8.11+, 21.2.3+ veya 22.0.5 gerektiriyor. Teorik olarak Erlang/OTP 19 şubesinin işlevselliği korunur ancak testlerle kapsanır.

CouchDB'nin verileri sıralı bir liste formatında sakladığını ve çakışma durumlarının eşzamanlı tespiti ve çözümü ile ana-ana modunda birden fazla veri tabanı arasında verilerin kısmi kopyalanmasına izin verdiğini hatırlayalım. Her sunucu, diğer sunucularla senkronize edilmiş, çevrimdışına alınabilen ve değişiklikleri periyodik olarak kopyalayabilen kendi yerel veri kümesini saklar. Özellikle bu özellik, CouchDB'yi farklı bilgisayarlar arasında program ayarlarının senkronizasyonu için çekici bir çözüm haline getiriyor. CouchDB tabanlı çözümler BBC, Apple ve CERN gibi şirketlerde uygulanmıştır.

CouchDB sorguları ve veri indeksleme paradigmaya göre gerçekleştirilebilir Harita indirgeme, veri örnekleme mantığı oluşturmak için JavaScript'i kullanma. Sistem çekirdeği, birden fazla paralel isteğe hizmet eden dağıtılmış sistemler oluşturmak için optimize edilmiş olan Erlang dilinde yazılmıştır. Görünüm sunucusu C dilinde yazılmıştır ve Mozilla projesindeki JavaScript motorunu temel almaktadır. Veritabanına erişim, tarayıcıda çalışan web uygulamaları da dahil olmak üzere verilere erişmenizi sağlayan RESTful JSON API'si kullanılarak HTTP protokolü kullanılarak gerçekleştirilir.

Veri depolama birimi, benzersiz bir tanımlayıcıya, sürüme sahip olan ve anahtar/değer biçiminde isteğe bağlı bir dizi adlandırılmış alan içeren bir belgedir. Rastgele belgelerden (toplama ve seçim) sözde yapılandırılmış bir veri kümesini düzenlemek için, hangi JavaScript dilinin kullanıldığını tanımlamak için görünümler (görünümler) oluşturma kavramı kullanılır. JavaScript ayrıca belirli bir görünüme yeni belgeler eklerken verileri doğrulamak için işlevler de tanımlayabilir.

Kaynak: opennet.ru

Yorum ekle