couchbase / Kv_engine
Licence: bsd-3-clause
Couchbase Key-Value Engine
Stars: ✭ 78
KV-Engine
Welcome to the Couchbase KV-Engine project.
This started as Couchbase's fork of the upstream memcached
project,
but has substantially evolved since then. It contains the bulk of the
code for the Key/Value service of Couchbase Server.
Repository Layout
Areas of interest in the repository:
-
include/
- Public header files. -
daemon/
- Source for the main daemon process (also known as the server). This is wheremain()
lives. -
engines/
- Source for the different engines (aka bucket types) supported. Includes:-
default engine
- The original memcache engine. Powers the Memcache bucket type. -
ep
- Eventually Persistent Engine. Powers the Couchbase and Ephemeral bucket types. -
ewouldblock engine
- Test engine which interposes a real engine and can perform various types of error-injection.
-
-
tests/
- Test cases.
Building
KV-Engine has a number of external dependancies, as such it should be built via the Couchbase top-level Makefile.
Documentation
Architecture
- KV-Engine Architecture
- CBSASL
- Audit
- Event Tracing / Phosphor
- Document attributes
- Environment variables
- Role Based Access Control (RBAC)
- SSL Client Certificate
- DCP
- Memcached configuration file
- Network interfaces
Protocols
Policies / Guidelines
Tools
Related Projects
While the bulk of code making up KV-Engine is in this repo, there are a number of other repositories which contribute to the final program:
-
couchbase/couchstore
- Couchbase storage file library. -
couchbase/phosphor
- Phosphor: high performance event tracing framework. -
couchbase/platform
- Platform abstraction layer. -
couchbase/subjson
- subjson - quickly manipulate JSON subfields.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].