Storage Backends

From MemCP
Revision as of 11:59, 28 August 2026 by Wikiservice (talk | contribs) (Refresh MemCP documentation: accuracy, operational guidance, performance profile and maintained API reference)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Storage Backends

MemCP can persist a database on the local filesystem, S3-compatible object storage, or optional Ceph/RADOS. ENGINE durability semantics still apply on top of the selected backend.

The local backend uses a directory below -data. For S3 or Ceph, create a JSON database configuration in the data directory. An S3 configuration names endpoint, region, bucket, prefix, credentials, and optional path-style access. Ceph names cluster, user, pool, prefix, and optional config file.

<syntaxhighlight lang="json">{

 "backend": "s3",
 "access_key_id": "...",
 "secret_access_key": "...",
 "region": "us-east-1",
 "endpoint": "http://minio:9000",
 "bucket": "memcp",
 "prefix": "databases",
 "force_path_style": true

}</syntaxhighlight> Ceph is built with make ceph and requires librados-dev. Keep secrets outside version control and restrict config-file permissions. Test schema writes, column reload, WAL replay, listing/deletion, outage behavior, and backups against the actual service. Object storage latency affects cold reads, rebuilds, and WAL handling even though hot query execution is memory-oriented.