4 ms·
> Mongita is to MongoDB as SQLite is to SQL it really isn't if it's written in python
by latenightcoding 5y ago
> Mongita is to MongoDB as SQLite is to SQL
it really isn't if it's written in python
- OJFord 5y agoI don't think it is whatever it's written in, because I can't imagine what it would mean? Unless there's a DBMS implementation called simply 'SQL' that I'm not aware of? (Or if Mongo calls its query language 'MongoDB'?) Seems like '.. to (My|Postgre)SQL' would be a better fit?
- emteycz 5y agoI guess the idea relates to "a SQL database" - might be technically incorrect, but with Mongo it's sort of embedded in NoSQL - that also originally meant "no SQL [language]", but has turned to mean "no SQL and not a classical RDBMS with databases, tables and columns, rows, views, procedures..."
- tracker1 5y agoSQLite is a portable DBMS library that exposes a SQL language interface that is built and runs under every OS and language under the sun, for the most part. It is probably the single-most distributed library on the planet (in aggregate). And likely one of the most used libraries (top 10) on just about every given OS and platform/language. Mongita is only useful for Python developers.
- ipaddr 5y agoI like sqlite and agree with your it should run everywhere to be compared. I question that it is the most distributed library on the planet. Is there something backing that up? It would be cool but very shocking.
- arthur2e5 5y agoI can't say it's the most, but it does get used a lot. Chromium and descendants, Firefox, bunch of chat apps (Telegram, WeChat), and so on. You probably have multiple copies per machine. The SQLite people are quite proud of their ubiquity: https://sqlite.org/mostdeployed.html https://sqlite.org/mostdeployed.html
- lelanthran 5y ago> I question that it is the most distributed library on the planet. Is there something backing that up? It would be cool but very shocking. I recall seeing that claim made ~2 years ago, with data to back it up. I think many people forget that it is shipped (or statically compiled into an application that is shipped) on every android device (handset, TVs, etc), every Linux installation, every Windows installation and every OSX installation. I do not know of any other library that has that penetration. I don't know about iOS.
- yoklov 5y agoYeah, a big benefit of SQLite is the fact that it's embeddable, and easily can be communicated with from any language that can FFI out to C (which is to say, essentially any language) This... Loses that.
- esjeon 5y agoYeah, but, at least, with python, devs can prototype and verify, early and fast. Imagine implementing this in C/C++ or even Rust. You get extra layers of problems to handle in your brain.
- jonny_eh 5y agoIsn't it easy to prototype with MongoDB?
- esjeon 5y agoThe point is not using MongoDB here, and that means the database logic has to be reimplemented, likely in a different way because of different requirements. Using python does hurt embedding and performance, but at least one can easily get how such library should be designed, which is, in my opinion, the hard part.
- scottrogowski 5y agoAuthor here. My goal with that one-liner was to convey immediately what it is - an embedded database that implements the PyMongo/MongoDB API. Is it semantically perfect? Probably not. Will Mongita be useful to Python developers who are accustomed to saving their data in idiosyncratic JSON files because they don't want the overhead of a MongoDB server? Maybe! I hope so.
- rubyfan 5y agoThanks for sharing your project. It’s probably not a good comparison. SQLite is in such high esteem and such a well developed high quality mature product. So the comparison is sort of inviting criticism that gets in the way of people appreciating what is good about your project.
- scottrogowski 5y agoThis is good and helpful feedback. Thank you. I'm humbled by how well this has done so far but definitely feeling the criticism. A title like, "Mongita is embedded MongoDB for Python", while being a statement without ambiguity, doesn't immediately convey the vision for why this might be useful to people. SQLite by contrast is a nice rhetorical anchor that people understand. I'll have to think through whether there is a better way to convey it that fits that goal.
- rubyfan 5y agoRight, a little controversy never hurts to attract attention. You will have to balance between the positive attention through comparison to an known good vs. potentially unmet expectations that known good brings. If your goal is to reach pythonistas with this, then suffering the “this isn’t really like SQLite” critique will be worth it. On the contrary, if the vision is really to be like SQLite, i.e. broadly portable to many languages and platforms and very robust high quality code then the disappointment in its current implementation may outweigh the near term attention. In either case this is probably a good measure of demand for such a thing.
- pbreit 5y ago