4 ms·
Author here. That's exactly it. I think it would be very difficult to completely beat SQLite with a Python library. My goal wasn't to beat it but to have perfo
by scottrogowski 5y ago
Author here. That's exactly it.
I think it would be very difficult to completely beat SQLite with a Python library. My goal wasn't to beat it but to have performance that's within an order of magnitude which I think I've achieved.
In my opinion, the MongoDB interface has a lot of advantages over SQL that make sense in a lot of use cases. Certainly, there are times when a traditional relational database is the right choice. But I do think Mongita fills a niche.
Separately, the JSON1 extension, which the top-level comment refers to, is nice technically but has a challenging interface IMHO https://www.sqlite.org/json1.html https://www.sqlite.org/json1.html
- nerdponx 5y agoEveryone is so overly critical in this thread. This is an excellent idea and your library is proof of concept. Surely one day performance can be improved in the future, and the core logic can be rewritten in a compiled language that can be used from other runtimes.
- bachmeier 5y ago> Everyone is so overly critical in this thread. The main criticism seems to be the flawed connection to sqlite. As useful as Mongita might be, and I don't think anyone is denying that this is good work, it doesn't make sense to compare it to sqlite.
- pbreit 5y agoComparison seems entirely reasonable to me.
- kevincox 5y agoHave you considered using SQLite (and probably JSON1) as the backend and just making an API that amps from the Mongo API to SQLite? It seems like this would probably have better read performance and the battle-tested reliability that we love from SQLite.
- scottrogowski 5y agoYup. Considered it. I initially settled on no because it might compromise the design goal of 1:1 MongoDB/PyMongo compatibility. Now the idea is being revived as an option alongside the two existing backends. I am concerned there might be an issue with some square-peg high level MongoDB operations simply not fitting into the SQLite round-hole but it's certainly something that's being investigated.