Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/couchbase/kv_engine
Couchbase Key-Value Engine
https://github.com/couchbase/kv_engine
Last synced: 28 days ago
JSON representation
Couchbase Key-Value Engine
- Host: GitHub
- URL: https://github.com/couchbase/kv_engine
- Owner: couchbase
- License: other
- Created: 2017-05-16T10:49:39.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T14:07:07.000Z (11 months ago)
- Last Synced: 2024-04-14T02:02:28.483Z (10 months ago)
- Language: C++
- Homepage: http://www.couchbase.com
- Size: 127 MB
- Stars: 126
- Watchers: 15
- Forks: 62
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Audit: auditd/CMakeLists.txt
Awesome Lists containing this project
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 dependancies, 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 attributes](docs/Document.md)
* [Environment variables](docs/EnvironmentVariables.md)
* [Role Based Access Control (RBAC)](docs/rbac.md)
* [SSL Client Certificate](docs/ssl_client_cert.md)
* [DCP](docs/dcp/README.md)
* [Memcached configuration file](docs/memcached.json.adoc)
* [Network interfaces](docs/NetworkInterface.md)
* [HiFi MFU Eviction Policy](docs/HiFi_MFU_eviction_policy.md)
* [Throttling](docs/Throttling.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)## 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.