OxideDB – Teach PostgreSQL Database How to Speak MongoDB Wire Protocol
Hey everyone! I have created a product that relies on MongoDB for a document store but doesn't really need any of the distributed features to really justify having a hosted MongoDB or DocumentDB instance. Now that we're trying to turn this into a product, we're seeing that some companies have a little bit of resistance around managing yet another database. Most of our clients already have and manage PostgreSQL in one form or another. I knew that PostgreSQL already offered first class JSON support, but I didn't want to rewrite the application data layer from scratch if I could avoid it.…
What it does
In the maker’s words, at launch
Hey everyone! I have created a product that relies on MongoDB for a document store but doesn't really need any of the distributed features to really justify having a hosted MongoDB or DocumentDB instance. Now that we're trying to turn this into a product, we're seeing that some companies have a little bit of resistance around managing yet another database. Most of our clients already have and manage PostgreSQL in one form or another. I knew that PostgreSQL already offered first class JSON support, but I didn't want to rewrite the application data layer from scratch if I could avoid it. That's when I started researching if there was a "proxy" that would translate the MongoDB protocol - that I was completely ignorant about - into PostgreSQL. To my surprise there was nothing ready for production use but I found MangoDB that later on became FerretDB. I delved into the code and was in love with the idea. The team around is really nice, but I found that they had greater ambitions - they basically wanted to offer multiple backends, namely Tigris, on top of PostgreSQL. On the other hand, I have been waiting to find an excuse to delve deeply into the rust ecosystem but never really found something I was passionate about until I had the idea of challenging myself to see if I could learn about the protocol that MongoDB uses by relying on their public documentation and the hints I found on FerretDB. Fast forward 3 weeks and I have something I am almost comfortable on sharing yet super excited to get feedback on. It's in very early stages, and it's work from someone that is not yet super comfortable with the stack. Please don't be too harsh and keep in mind this is the beginning of a journey for me that I embarked out of pure joy on getting a tiny bit better on rust and making things click internally. Thank you for your time and if you would like to help me on this project please be more than welcome to reach out, either here, via email or directly on the GitHub repo. (heavy breathing before clicking submit :-) ) PS: I forgot to mention, but another thing I added to my toolbelt while developing this was about creating parsers. In order to transform MongoDB JSON to SQL queries, I ported an existing library from the MongoDB team from PEG.js to pest.rs!
Does the same job
all alternatives →



- BABedquiltDB – A Mongo-like JSON doc store built on Postgres2016 · bedquiltdb.github.io · ▲145

More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 1d ago · opentrailpaper.com

Launched alongside, July 2022
the whole month →
- PO
Life & fun · 2022 · justine.lol
- PO
Dev tools · 2022 · github.com

- PP
Hello, HN - I wanted to share this puzzle game I made during my vacation. I'm rather fond of the pipes puzzle where your goal is to restore a scrambled network of connections by rotating tiles. It's usually played on a grid of squares and this all started when I decided to make a programmatic solver for that kind of puzzle. Then I realized that with some minor changes the solver could generate new puzzle instances. I thought about what kind of puzzle to make and someone suggested a hexagonal grid. Adapting the generator wasn't too hard but then I had to create a way to play this variant. So…
Life & fun · 2022 · hexapipes.vercel.app
- PD
We're building Parsnip to create a "tech tree" of cooking skills that allows anyone to level up on the building blocks of cooking knowledge while tracking their progress over time. It took us a few iterations to figure out the right product; here's the story of our latest pivot: [https://parsnip.substack.com/p/a-new-hope] The goal is to create a personalized way to learn any recipe on the Internet, then use this as a springboard to help home cooks of all levels solve the problem of repeated meal planning in a 10x better way:…
Work · 2022 · parsnip.ai