I'm writing a brand-new OLTP database with Rust, DataFusion and RocksDB. It's both a Postgres-compatible SQL server and a Rust library that takes SQL and returns Arrow RecordBatches[0]. Apache-2 licensed.
Close enough to Postgres that apps think it's Postgres, but also runnable as a library like SQLite -- best of both worlds! And then if you're willing to not limit yourself to Postgres compatibility, you also get fancy new technologies like unsigned integers in a database! (Old SQL ecosystem is sometimes ridiculous.)
It's still very early days, but it's exciting! The darn thing already works as a SQL database — largely because it’s just DataFusion’s query engine and me feeding it table scans. I wrote a SQL database without ever debugging a JOIN! The shortcuts I’ve been able to take due to help from preexisting projects are huge. For someone who grew up in the world of "every C project has to write basic data structures for themselves because C isn’t very modular", it’s downright amazing!
Next up, I am looking to identify significant open source projects with automated integration test suites[1], and classify our success based on how many of those won’t even realize they are not running on Postgres. Errors encountered will help determine priorities for development.
[0]: FFI from C/Python/Typescript/whatever to come later, Arrow makes that pretty easy, it's designed to be a platform- and language-agnostic in-memory data structure.
[1]: Rough integration test criteria for a project to be easy for our integration testing: has automatable pass/fail outcome (not manual use of web UI), tests actually talk to Postgres and don't fake it, open source, easily runs in a single plain container, is not a muddy pile of multiple microservices that need to be orchestrated, reports errors clearly, relatively popular or small and simple.
Close enough to Postgres that apps think it's Postgres, but also runnable as a library like SQLite -- best of both worlds! And then if you're willing to not limit yourself to Postgres compatibility, you also get fancy new technologies like unsigned integers in a database! (Old SQL ecosystem is sometimes ridiculous.)
It's still very early days, but it's exciting! The darn thing already works as a SQL database — largely because it’s just DataFusion’s query engine and me feeding it table scans. I wrote a SQL database without ever debugging a JOIN! The shortcuts I’ve been able to take due to help from preexisting projects are huge. For someone who grew up in the world of "every C project has to write basic data structures for themselves because C isn’t very modular", it’s downright amazing!
Next up, I am looking to identify significant open source projects with automated integration test suites[1], and classify our success based on how many of those won’t even realize they are not running on Postgres. Errors encountered will help determine priorities for development.
[0]: FFI from C/Python/Typescript/whatever to come later, Arrow makes that pretty easy, it's designed to be a platform- and language-agnostic in-memory data structure.
[1]: Rough integration test criteria for a project to be easy for our integration testing: has automatable pass/fail outcome (not manual use of web UI), tests actually talk to Postgres and don't fake it, open source, easily runs in a single plain container, is not a muddy pile of multiple microservices that need to be orchestrated, reports errors clearly, relatively popular or small and simple.