Serverul Couchbase | |
---|---|
Tip de | sistem distribuit de gestionare a datelor în format cheie-valoare și documente |
Autor | Couchbase Inc. [d] |
Dezvoltator | Couchbase Inc. |
Scris in | C++ , Erlang , C [1] , Go |
Sistem de operare | software multiplatformă |
ultima versiune | 6.5.1 (aprilie 2020) |
Licență | Licență Apache (ediția comunitară), proprietară (ediția Enterprise) |
Site-ul web | www.couchbase.com |
Fișiere media la Wikimedia Commons |
Couchbase ( Couchbase Server ) este un sistem de gestionare a bazelor de date de clasă NoSQL care oferă instrumente similare cu Apache CouchDB pentru crearea de baze de date orientate spre documente în combinație cu depozite de valori-cheie asemănătoare Membase . Datorită suportului protocolului standard memcached , sistemul rămâne compatibil cu un număr mare de aplicații vechi și poate acționa ca un înlocuitor transparent pentru o serie de alte sisteme NoSQL. Codul sursă al sistemului este distribuit sub licența Apache .
Creat de echipa de dezvoltare comună a CouchDB și Membase, creat ca urmare a fuziunii dintre CouchOne și Membase. Motorul de stocare se bazează pe tehnologiile Membase, peste care se adaugă instrumente de indexare și interogare împrumutate de la CouchDB . Astfel, s-a putut realiza atât compatibilitate cu Apache CouchDB la nivelul limbajului de interogare și indici, cât și compatibilitate cu Membase la nivelul protocolului de acces la date și al API -ului de control . Părțile critice ale CouchDB au fost rescrise în C++ , dar multe subsisteme sunt încă în Erlang . Au fost pregătite SDK -uri speciale pentru dezvoltarea aplicațiilor în Java , Ruby , .NET , C / C++ , PHP , Node.js , Go și Python .
Vă permite să organizați stocarea datelor atât pe un singur nod , cât și sub forma unui sistem distribuit care plasează datele deasupra unui grup de servere. Există instrumente încorporate pentru asigurarea unei disponibilități ridicate, auto-vindecare în caz de defecțiune a nodurilor care servesc stocarea (datele pot fi duplicate pe diferite noduri) și construirea de stocări segmentate , copii ale cărora sunt răspândite în diferite centre de date . Sunt acceptate atât modurile de replicare unidirecțională (master-slave) cât și bidirecțională (master-master) . Acceptă crearea de indici primari și secundari, precum și de indici pe mai multe chei . Pentru optimizarea suplimentară a performanței, sunt utilizate mecanisme de stocare în cache în RAM și generarea automată a indexului.
Pe lângă capacitatea de a stoca date în formatul „cheie - valoare”, Couchbase vă permite să utilizați conceptul de stocare orientată pe documente, în care unitatea de stocare a datelor este un document care are un identificator unic, versiune și conține un set arbitrar de câmpuri denumite în formatul „cheie - valoare”. Modelul de date utilizat vă permite să definiți documente în format JSON , eliminând necesitatea ca un dezvoltator să definească o schemă de stocare. Interogarea și indexarea datelor se poate face conform paradigmei MapReduce . Pentru a organiza un set de date pseudo-structurate din documente arbitrare, se propune conceptul de formare a vederilor (vedere).
Limbajul JavaScript este folosit pentru a forma logica de eșantionare . De asemenea, pentru a accesa datele JSON, este implementat un limbaj de interogare specializat, asemănător SQL , N1QL (din limba engleză N1NF QL; limbaj de interogare în formă normală non-1 ; pronunțat similar cu nichel ), care acceptă operatori (cu grupări și tipuri limitate de îmbinare ), , , , (inserați sau actualizați dacă există o înregistrare cu cheia dată, un operator mai general a fost suportat ulterior - ). SELECTINSERTUPDATEDELETEUPSERTMERGE