MySql vs SQLite vs MongoDB

Winni

Member
Licensed User
Longtime User
Edit: Forgot to mention, MongoDB is a no-SQL database so its use case is different. Ive seen bad performance for this when a product I installed used Mongo as a backend (probably just because its cool and new). If you just need tables to store rows then Mongo isnt the right choice.

MongoDB actually is one of the fastest beasts on the market and it allows for hundreds of thousands inserts per second and it is also incredibly stable -- but, as with all technologies, it depends on the use case and how you use it.

If you need to store, let's say, documents or if you collect data from various sources in different formats and want to store that collected data in one central location, then a NoSQL database is a great choice. If you, on the other hand, simply need an address database with a fistful of normalized tables, than traditional SQL databases like MySQL probably make more sense.

Unfortunately, there is no simple advice for which one might be the right choice.

But there is an elephant in the room that people always pretend not to see: Licensing.

MySQL/Mariadb AND THEIR CONNECTORS(!) are licensed under the GPL. That's wonderful, isn't it? Because when you use those connectors, your own software MUST be put under the GPL as well. That's why they call it a VIRAL license. So: Your own software implicitly becomes open source software as well when you use the official connectors - unless, at least in case of MySQL, you purchase a commercial license from Oracle. There are no commercial Mariadb licenses, because Mariadb is a fork of MySQL and the company behind Mariadb does not own the rights to the original work (MySQL) anymore: Monty Widenius sold it all to Sun Microsystems when he sold his company MySQL AB for a billion dollars; he than later took the GPL code base and started his new company with it -- that tells you everything you need to know about basing a business on open source or "buying" a company that was built on open source.

SQLITE is in the public domain, so you actually can do it with whatever you want and use it in any way you seem fit without any obligations whatsoever. Apple uses it in a lot of its products, they even used it in the now discontinued software "Aperture" (which was a great product in my opinion, I loved it).

MonogDB uses a different breed of licenses, and the official "drivers" are licensed under the terms of the Apache 2.0 license, which is much more liberal and more permissive than the GPL.
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
MySQL/Mariadb AND THEIR CONNECTORS(!) are licensed under the GPL
this is partially correct, MariaDB and MYSQL are indeed GPL but because it is not attached to your compiled jar you dont need to open your code.

The connectors in MariaDB are LGPL that means that it is not viral therefore you dont have to share your source.
Licensing FAQ - MariaDB Knowledge Base

PD. I am no lawyer and you should not listen to me.
 

Peter Simpson

Expert
Licensed User
Longtime User
The connectors in MariaDB are LGPL that means that it is not viral therefore you dont have to share your source.
Licensing FAQ - MariaDB Knowledge Base
That's 100% correct. I've previously spoken to MariaDB support agents about this very subject (I posted part of the chat on this very forum), and they verified their LGPL and how I can use it in my bespoke code for clients. I've chatted to 2 agents about this very subject, using their connector with MySQL databases.

A chat box pops open the bottom right hand corner of the screen, there you can speak to a agent (human) about everything. I spoke to them to verify that what I was doing when creating bespoke applications for my clients was not violating their licensing, both agents confirmed to me exactly what you said above.

I've also donated to MariaDB as I use their connector in my bespoke projects for clients.


Enjoy...
 

tchart

Well-Known Member
Licensed User
Longtime User
MongoDB actually is one of the fastest beasts on the market and it allows for hundreds of thousands inserts per second and it is also incredibly stable -- but, as with all technologies, it depends on the use case and how you use it.

Absolutely, I wasnt disputing that its fast, I was just pointing out that its not a traditional RDBMS and the original poster was asking about what DB to use for an ecommerce solution. That probably aligns more with a traditional table based RDBMS, thats all I was stating :D
 

MrKim

Well-Known Member
Licensed User
Longtime User
I am not an expert on SQLLite, but my impression is that it is a toy. It is useful for storing simple information. But support for transactions is limited and it doesn't allow user functions. My vote is My SQL. IF you don't think it will go past 4 gigs then why not Microsoft SQL. It is excellent, fast and management studio makes management easy.
 
Top