1 comments

  • mrjn 4 hours ago ago

    Author here. Egres is a Postgres-compatible database designed to tackle heavy workloads and run thousands of tenants on the same server. It works with psql and drivers unchanged. Right now the query ability is limited, and would grow with future releases. The post goes into details about the what, why and how; which I hope you'd find interesting.

    Before Egres, I was the founder of Dgraph -- author of Dgraph and Badger. ex-Google, ex-Uber. So, been working on databases for a while now. The idea for Egres all started with a question: "“What would Postgres look like if it were to be designed today?” After years of pondering and a year of work, the result is Egres.

    For Egres, I wrote a new storage engine called zdb, which is pioneering LSM forest concept -- a tree of LSM trees. zdb can run on local disk or object storage, has native roaring bitmaps integration, can do instant zero-copy branches for database or table.

    All of this runs on a custom co-routine system I wrote called zfiber, so all queries execute on that. Egres meters CPU ticks, disk IOPS and memory used per query, per tenant, so it can run thousands of tenants on the same server without noisy neighbor problem.

    This release is single node, but Raft replication is already baked in. Future releases would allow multi-node clusters.

    Install: curl -fsSL https://egresql.io/install.sh | sh. Repo: https://github.com/manishrjain/egres.

    Would love to know your thoughts, and which features to prioritize getting into next release.