Cortex, being a Distributed, Multi-Tenant Prometheus off-loads the storage to battle-tested databases like Cassandra, BigTable, etc. All the time-series data is converted into chunks. The chunk store essentially contains two parts i.e Index Store, where index to the chunks are stored & KV Store for the chunks itself for direct access. For Index store, There are multiple types of schemas supported by passing the relevant config through
chunk.SchemaConfig. Right now, there are only some storage backends supported but as we are seeing more and more users adopting Cortex in their companies,iIt’s important that there is a way for them to extend Cortex to make it use their existing back-ends for storage.
- Provide a way for users to write out-of-tree Chunk Store Implementations.
- Use standard protocols like gRPC for communication.
- Provide a new client which talks to the new storage systems.
- Provide easily configurable storage plugins.