I've been experimenting with customizing Postgres to run on top of FoundationDB, which to me would be the dream combination of Postgres' top-notch feature set and ecosystem with FoundationDB's unique resilience, scalability and transactional guarantees.
Haven't written up anything about it or published any code yet, but it's working pretty well and I haven't even had to fork Postgres with all the extensibility it offers!
My email is in my profile if anybody would like to chat about it
I'm writing a Postgres-wire-protocol-compatible OLTP database in Rust, using RocksDB for storage as a starting point (MVCC for free!), worrying right now more about correctness and test coverage than performance. But I definitely feel their point of wanting more granular locking at some point.
Actually not, I'm replacing Postres storage entirely down to the tuple level with FoundationDB instead. Neon is really cool but you would lose out on the greatest part of FDB, the transaction processing, if you were to simply use it as a page store (S3 and friends is probably a better fit for something like that).
Hadn't seen that before, thanks for linking! Remains to be seen how well I can get this to work although one interesting thing to note is that CockroachDB (which would be the closest thing to what I'm building) is also built on top of a distributed KV store, although one built into Cockroach.
> I'm writing a Postgres-wire-protocol-compatible OLTP database in Rust, using RocksDB for storage as a starting point (MVCC for free!), worrying right now more about correctness and test coverage than performance. But I definitely feel their point of wanting more granular locking at some point.
Same at the moment in terms of what to focus on! What excites me the most about my project is the idea of making actual Postgres become seamlessly fully distributed, like Cockroach but not just Postgres-compatible.
Would love to hear more about your project, have you published anything on it?
CockroachDB people are reimplementing ideas of LevelDB/RocksDB into their own Pebble library, giving them a chance to integrate whatever requirements come from the higher levels of the system in their KV store.
Where as I'm most excited about having something that is like Postgres and SQLite smashed together, covering both use cases with mostly Postgres-compatible syntax and semantics, with Rust levels of reliability.
I'll send you an email in the next day or two. It's kinda hectic here right now, for unrelated reasons.
Haven't written up anything about it or published any code yet, but it's working pretty well and I haven't even had to fork Postgres with all the extensibility it offers!
My email is in my profile if anybody would like to chat about it