{"repo":"fcoury/oxide","free":true,"listed":false,"github":"https://github.com/fcoury/oxide","clone":"git clone https://github.com/fcoury/oxide.git","description":":floppy_disk: Teach your PostgreSQL database how to speak MongoDB Wire Protocol","language":"Rust","stars":285,"topics":["database","mongodb","postgres","postgresql","rust"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"&ldquo; If it looks like MongoDB, swims like MongoDB, and quacks like MongoDB, then it probably is PostgreSQL. &rdquo; :upside down face: Discord Online Demo Intro Video Quickstart OxideDB OxideDB is a translation layer that works as a MongoDB database server while using PostgreSQL's JSON capabilities as the underlying data store. Audience This project might be something that you could be interested on if: - You spend too much time managing; or too much money paying for a MongoDB instance, while only using it as a simple document store, without any sharding features - You already have a running PostgreSQL deployment, or prefer to manage it over MongoDB On the other hand, if your use-case leverages MongoDB as a distributed database, then unfortunately this project might not be for you. At least right now supporting multi-sharding and scale-out deployments is not part of the roadmap. Current status The project was heavily inspired by FerretDB and is on its early days. The main difference is that there is no intention to support any database other than PostgreSQL (FerretDB is also supporting Tigris) and it's written in Rust, as opposed to Go. In order to translate the MongoDB Query language - which is based on JSON - to SQL I have ported the mongodb-language-model library that was originally written in Node.js and PEG.js to Rust and pest.rs. It was an excellent opportunity to learn how parsers work in a bit more depth. You can check it out here: mongodb-language-model-rust. At t","default_branch":null,"files":null,"tree":[],"storefront":"/r/fcoury","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fcoury/oxide/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}