# kv_engine **Repository Path**: mirrors_couchbase/kv_engine ## Basic Information - **Project Name**: kv_engine - **Description**: Couchbase Key-Value Engine - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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/`](include/) - Public header files. * `daemon/` - Source for the main daemon process (also known as the _server_). This is where [`main()`](daemon/memcached.cc) lives. * `engines/` - Source for the different engines (aka bucket types) supported. Includes: * [`ep`](engines/ep/) - _Eventually Persistent_ Engine. Powers the _Couchbase_ and _Ephemeral_ bucket types. * [`ewouldblock engine`](engines/ewouldblock_engine) - Test engine which interposes a real engine and can perform various types of error-injection. * `tests/` - Test cases. * `licenses/` - The various licenses in use ## Building KV-Engine has a number of external dependencies, as such it should be built via the Couchbase [top-level Makefile](https://github.com/couchbase/tlm). ## Documentation ### Architecture * [KV-Engine Architecture](docs/Architecture.md) * [CBSASL](cbsasl/CBSASL.md) * [Connections](docs/Connections.md) * [Audit](auditd/README.md) * [Event Tracing / Phosphor](docs/Tracing.md) * [Document size limits](docs/DocumentSizeLimits.md) * [Document attributes](docs/Document.md) * [Environment variables](docs/EnvironmentVariables.md) * [Frontend Worker Threads](docs/FrontendWorkerThread.md) * [Role Based Access Control (RBAC)](docs/rbac.md) * [SSL Client Certificate](docs/ssl_client_cert.md) * [DCP](docs/dcp/README.md) * [Network interfaces](docs/NetworkInterface.md) * [HiFi MFU Eviction Policy](docs/HiFi_MFU_eviction_policy.md) * [Throttling](docs/Throttling.md) * [Top Keys](docs/Topkeys.md) * [Bucket Configuration](docs/BucketConfiguration.md) ### Protocols * [Memcached Binary Protocol](docs/BinaryProtocol.md) * [SASL](docs/sasl.md) * [Duplex mode](docs/Duplex.md) * [External Authentication Provider](docs/ExternalAuthProvider.md) * [DCP](docs/dcp/documentation/protocol.md) * [Subdoc](docs/SubDocument.md) ### Policies / Guidelines * [Coding Standards](docs/CodingStandards.rst) * [Error Handling Best Practices](docs/ErrorHandling.md) * [File ownership in bucket data directory](docs/BucketDataDirectory.md) ### Debugging on Windows * [Hints on how to debug a minidump file with WinDbg](docs/WinDbgHints.md) ## Tools * [Analyze jemalloc memory statistics](scripts/jemalloc/README.md) ## 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`](https://github.com/couchbase/couchstore) - Couchbase storage file library. * [`couchbase/phosphor`](https://github.com/couchbase/phosphor) - Phosphor: high performance event tracing framework. * [`couchbase/platform`](https://github.com/couchbase/platform) - Platform abstraction layer. * [`couchbase/subjson`](https://github.com/couchbase/subjson) - subjson - quickly manipulate JSON subfields.