Skip to content

Mehulparekh144/strata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Your alt text

Strata is a next‑generation, streaming‑first distributed datastore.
It combines the speed of in‑memory systems with the durability of Pebble (LSM engine),
and exposes Redis‑like primitives over gRPC (RESP support coming soon).

Strata is designed to be:

  • Blazingly fast
  • Streaming‑first (every change can be consumed in real‑time)
  • Developer‑friendly (clean APIs, CLI, observability)
  • Production‑ready (persistence, replication, sharding)

🚀 Features

✅ Done

  • Core Engine
    • Pluggable StorageEngine interface
    • Pebble engine implementation (persistent, LSM‑tree)
  • Server
    • gRPC server with clean layered architecture
    • CLI client for testing
  • Primitives
    • StringsSet, Get, Del
    • ListsLPUSH, RPUSH, LPOP, RPOP
    • DocumentsDocSet, DocGet, DocDel (with full JSONPath support)
  • Dev Tools
    • Makefile (make proto, make run)
    • Pebble store inspection via pebble db scan ./data
  • Streaming
    • System event stream (all mutations emit events)
    • gRPC streaming API

🏗 Architecture

image
  • Server Layer → routes requests (gRPC/RESP)
  • Primitives Layer → implements Redis‑like commands
  • Engine Layer → raw KV (Pebble)

⚡ Usage Rules

Strata is not a toy — it’s a datastore. Follow these rules:

  1. Always go through the server

    • Don’t talk to Pebble directly.
    • Use gRPC or CLI client.
  2. Primitives only

    • Strings → Set, Get, Del
    • Lists → LPUSH, RPUSH, LPOP, RPOP
    • Documents → DocSet, DocGet, DocDel (with JSONPath)
    • Sorted Sets → ZADD, ZRANGE (coming soon)
  3. Keys are global

    • Use namespaces (user:123, chat:room1) to avoid collisions.

🛠 Quick Start

Build & Run

make proto
make run

⚡ Vision

Strata is not just another KV store.
It’s a streaming‑first datastore where every mutation is an event,
and developers can build real‑time, distributed systems on top of it.

About

Blazing fast distributed KV Store ⚡

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors