Couchbase Server | |
---|---|
Sorts | distribuerat datahanteringssystem i nyckelvärdeformat och dokument |
Författare | Couchbase Inc. [d] |
Utvecklaren | Couchbase Inc. |
Skrivet i | C++ , Erlang , C [1] , Go |
Operativ system | plattformsoberoende programvara |
senaste versionen | 6.5.1 (april 2020) |
Licens | Apache-licens (Community-utgåva), proprietär (Enterprise-utgåva) |
Hemsida | www.couchbase.com |
Mediafiler på Wikimedia Commons |
Couchbase ( Couchbase Server ) är ett databashanteringssystem i NoSQL -klassen som tillhandahåller verktyg som liknar Apache CouchDB för att skapa dokumentorienterade databaser i kombination med Membase -liknande nyckel- värdelager . Tack vare stödet av det vanliga memcachade protokollet förblir systemet kompatibelt med ett stort antal äldre applikationer och kan fungera som en transparent ersättning för ett antal andra NoSQL-system. Källkoden för systemet distribueras under Apache-licensen .
Skapad av CouchDBs och Membases gemensamma utvecklingsteam, skapat som ett resultat av sammanslagningen av CouchOne och Membase. Lagringsmotorn är baserad på Membase-teknologier, ovanpå vilka indexerings- och frågeverktyg som lånats från CouchDB läggs till . Således var det möjligt att uppnå både kompatibilitet med Apache CouchDB på nivån för frågespråk och index, och kompatibilitet med Membase på nivån för dataåtkomstprotokollet och kontroll- API . Kritiska delar av CouchDB har skrivits om i C++ , men många delsystem finns fortfarande i Erlang . Särskilda SDK :er har förberetts för att utveckla applikationer i Java , Ruby , .NET , C / C++ , PHP , Node.js , Go och Python .
Låter dig organisera datalagring både på en enda nod och i form av ett distribuerat system som placerar data ovanpå en grupp servrar. Det finns inbyggda verktyg för att säkerställa hög tillgänglighet, självläkning i händelse av fel på noderna som betjänar lagringen (data kan dupliceras på olika noder) och bygga segmenterade lagringar, vars kopior är spridda över olika datacenter . Både enkelriktade (master-slave) och dubbelriktade (master-master) replikeringslägen stöds . Stöder skapandet av primära och sekundära index, såväl som index på flera nycklar . För ytterligare prestandaoptimering används inbyggda cachningsmekanismer i RAM och automatisk indexgenerering.
Förutom möjligheten att lagra data i formatet "nyckel - värde", låter Couchbase dig använda konceptet dokumentorienterad lagring, där enheten för datalagring är ett dokument som har en unik identifierare, version och innehåller en godtycklig uppsättning namngivna fält i formatet "nyckel - värde". Datamodellen som används låter dig definiera dokument i JSON-format , vilket tar bort behovet för en utvecklare att definiera ett lagringsschema. Fråga och indexera data kan göras enligt MapReduce- paradigmet . För att organisera en pseudostrukturerad datamängd från godtyckliga dokument, föreslås konceptet att bilda vyer (vy).
JavaScript- språket används för att bilda samplingslogiken . För att få åtkomst till JSON-data implementeras också ett specialiserat SQL - liknande frågespråk N1QL (från engelska N1NF QL; icke-första normalformens frågespråk ; uttalas liknande nickel ) som stöder operatörer (med grupperingar och begränsade jointyper ) , , , , (infoga eller uppdatera om det finns en post med den givna nyckeln, en mer allmän operatör stöddes senare - ). SELECTINSERTUPDATEDELETEUPSERTMERGE