Објавување на документот ориентиран DBMS Apache CouchDB 3.0

се одржа објавување на дистрибуирана база на податоци ориентирана кон документи Apache CouchDB 3.0, кои припаѓаат на класата NoSQL системи. Извори на проектот ширење лиценциран под Apache 2.0.

Подобрувањаимплементиран во Apache CouchDB 3.0:

  • Стандардната конфигурација е подобрена.
    При стартување, сега мора да се дефинира администраторот, без кој серверот ќе заврши со грешка (ви овозможува да ги решите проблемите со стартување на сервери кои ненамерно оставаат пристап без автентикација). Повиците до „/_all_dbs“ сега бараат администраторски права, а сите бази на податоци стандардно се креирани, достапни само за администраторот (параметрите за пристап може да се променат преку објектот „_security“). Стандардно, уредувањето на објекти во базата на _users е забрането;

  • Додадено способноста да се креираат сегментирани (поделени) бази на податоци дефинирани од корисникот, со што се овозможува да се дефинираат сопствените правила за дистрибуција на документи низ сегменти (распоред на фрагменти). Додадени специјални оптимизации за разделени бази на податоци на прегледите и индексите на Mango;
  • Имплементиран режим на автоматска поделба за време на сегментација (споделување). Во базата на податоци, сега е можно да се прераспределат податоците меѓу сегментите, земајќи го предвид зголемувањето на вредноста на q-факторот што се користи за одредување на нивото на распаѓање;
  • Додадено ken потсистем за автоматско индексирање во заднина и ажурирање на секундарните индекси (JavaScript, Mango, индекси за пребарување текст) без експлицитно започнување на нивните градежни операции;
  • Процесот на smoosh што се користи за автоматско пакување на базата на податоци е целосно препишан;
  • Предложен нов потсистем IO редица, се користи за промена на приоритетот на влез/излез за одредени операции;
  • Имплементиран систем за тестирање на регресија;
  • Додадена е официјална поддршка за платформите arm64v8 (aarch64) и ppc64le (ppc64el);
  • Додадена е поддршка за поврзување со JavaScript моторот SpiderMonkey 1.8.5 (ESR гранка на Firefox 60) со подобрена поддршка за ES5, ES6 и ES2016+;
  • Вклучен пребарувач Драјфус врз основа на Lucene, што во голема мера го поедноставува распоредувањето на пребарувач базиран на CouchDB;
  • Додаден заднина за логирање со користење на systemd-journald;
  • Додадено е поставката „[couchdb] single_node“, кога е поставено, CouchDB автоматски ќе креира системски бази на податоци доколку недостасуваат;
  • Изведбата на процесот couch_server е оптимизирана;
  • Инсталаторот за платформата Windows е значително подобрен;
  • Прегледите се ограничени на 2^28 (268435456) резултати. Ова ограничување може посебно да се конфигурира за редовни и сегментирани прегледи користејќи ги опциите query_limit и partition_query_limit во делот „[query_server_config]“;
  • Отстранет е посебен интерфејс за управување со локални јазли HTTP, лансиран на мрежната порта 5986, чија функционалност сега е достапна преку заедничкиот интерфејс за управување со кластери;
  • Максималната големина на документот е намалена на 8 MB, што може да предизвика проблеми со репликацијата на податоците од постарите сервери по надградбата на CouchDB 3.0. За да го зголемите лимитот, можете да ја користите поставката „[couchdb] max_document_size“;
  • Извршено е големо чистење на застарените функции, како што се _репликаторот и _надворешните повици, полињата за големина на дискот и големината на податоците и опцијата одложено_обвршување;
  • За извршување на CouchDB сега се потребни Erlang/OTP 20.3.8.11+, 21.2.3+ или 22.0.5. Теоретски, функционалноста со гранката Erlang/OTP 19 е зачувана, но таа е покриена со тестови.

Да потсетиме дека CouchDB ги складира податоците во формат на подредена листа и овозможува делумна репликација на податоците помеѓу неколку бази на податоци во режим на господар-мастер со истовремено откривање и решавање на конфликтни ситуации. Секој сервер складира свој локален сет на податоци, синхронизирани со други сервери, кои може да се преземат офлајн и периодично да се повторуваат промените. Особено, оваа функција го прави CouchDB атрактивно решение за синхронизирање на поставките на програмата помеѓу различни компјутери. Решенијата базирани на CouchDB се имплементирани во компании како што се BBC, Apple и CERN.

CouchDB барањата и индексирањето на податоците може да се изведат според парадигмата Намалете ја мапата, користејќи JavaScript за генерирање на логика за земање примероци на податоци. Системското јадро е напишано во Erlang, кое е оптимизирано за создавање дистрибуирани системи кои опслужуваат повеќе паралелни барања. Серверот за преглед е напишан во C и се базира на JavaScript моторот од проектот Mozilla. Пристапот до базата на податоци се врши со помош на протоколот HTTP со помош на RESTful JSON API, кој ви овозможува пристап до податоци, вклучително и од веб-апликации што работат во прелистувачот.

Единицата за складирање податоци е документ кој има единствен идентификатор, верзија и содржи произволен сет на именувани полиња во формат клуч/вредност. За да се организира псевдоструктуриран сет на податоци од произволни документи (агрегација и селекција), се користи концептот на формирање погледи (прегледи), за да се дефинира кој јазик се користи JavaScript. JavaScript исто така може да дефинира функции за валидација на податоци при додавање нови документи во одреден приказ.

Извор: opennet.ru

Додадете коментар