Server Couchbase | |
---|---|
Typ | distribuovaný systém správy dat ve formátu klíč-hodnota a dokumenty |
Autor | Společnost Couchbase Inc. [d] |
Vývojář | Společnost Couchbase Inc. |
Zapsáno v | C++ , Erlang , C [1] , Go |
Operační systém | multiplatformní software |
Nejnovější verze | 6.5.1 (duben 2020) |
Licence | Licence Apache (edice pro komunitu), proprietární (edice Enterprise) |
webová stránka | www.couchbase.com |
Mediální soubory na Wikimedia Commons |
Couchbase ( Couchbase Server ) je systém pro správu databází třídy NoSQL , který poskytuje nástroje podobné Apache CouchDB pro vytváření databází orientovaných na dokumenty v kombinaci s obchody klíč-hodnota podobným Membase . Díky podpoře standardního memcached protokolu zůstává systém kompatibilní s velkým množstvím starších aplikací a může fungovat jako transparentní náhrada za řadu dalších NoSQL systémů. Zdrojový kód systému je distribuován pod licencí Apache .
Vytvořeno společným vývojovým týmem CouchDB a Membase, vytvořeným jako výsledek sloučení CouchOne a Membase. Úložný engine je založen na technologiích Membase, ke kterým jsou přidány indexovací a dotazovací nástroje vypůjčené z CouchDB . Bylo tak možné dosáhnout jak kompatibility s Apache CouchDB na úrovni dotazovacího jazyka a indexů, tak kompatibility s Membase na úrovni datového protokolu a ovládacího API . Kritické části CouchDB byly přepsány v C++ , ale mnoho subsystémů je stále v Erlangu . Pro vývoj aplikací v Javě , Ruby , .NET , C / C++ , PHP , Node.js , Go a Pythonu byly připraveny speciální sady SDK .
Umožňuje organizovat úložiště dat jak na jednom uzlu , tak ve formě distribuovaného systému, který umisťuje data nad skupinu serverů. Jsou zde zabudované nástroje pro zajištění vysoké dostupnosti, samoopravy v případě selhání uzlů obsluhujících úložiště (data lze duplikovat na různých uzlech) a budování segmentovaných úložišť, jejichž kopie jsou rozmístěny po různých datových centrech . Jsou podporovány režimy jednosměrné (master-slave) i obousměrné (master-master) replikace . Podporuje vytváření primárních a sekundárních indexů a také indexů na více klíčích . Pro další optimalizaci výkonu se používají vestavěné mechanismy mezipaměti v paměti RAM a automatické generování indexů.
Kromě možnosti ukládat data ve formátu „klíč – hodnota“ vám Couchbase umožňuje využít koncept úložiště orientovaného na dokumenty, kdy jednotkou úložiště dat je dokument, který má jedinečný identifikátor, verzi a obsahuje libovolná sada pojmenovaných polí ve formátu "klíč - hodnota". Použitý datový model umožňuje definovat dokumenty ve formátu JSON , takže vývojář nemusí definovat schéma úložiště. Dotazování a indexování dat lze provádět podle paradigmatu MapReduce . Pro uspořádání pseudostrukturovaného souboru dat z libovolných dokumentů je navržen koncept formování pohledů (view).
Jazyk JavaScript se používá k vytvoření logiky vzorkování . Pro přístup k datům JSON je také implementován specializovaný dotazovací jazyk podobný SQL N1QL (z anglického N1NF QL; non-1st normal form query language ; vyslovováno podobně jako nickel ), který podporuje operátory (se seskupováním a omezenými typy spojení ), , , , (vložit nebo aktualizovat, pokud existuje záznam s daným klíčem, následně byl podporován obecnější operátor - ). SELECTINSERTUPDATEDELETEUPSERTMERGE