Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For what projects (besides enterprise -> Oracle, embedded -> SQLite and Windows -> SQL server) would you consider MySQL inappropriate? What would you use instead?

I see people angry about not using the "right tool for the job" all the time with regard to web applications. What other tools do you feel aren't used when they should be?



If you don't have need for relational integrity, then MySQL is a liability. MongoDB does not have relational integrity which is one of the reasons why it's faster.

eg Real-time analytics

If you need a pre-planned schema from database over making one on the fly (even accidentally), then MySQL is better as MongoDB is schema-less.

eg Rapidly changing input

If you are worried about Oracle's acquisition of Sun and MySQL (Switching to Postgre is the closest alternative though).

MySQL sharding is hard, MongoDB can automate it to a certain extent (MySQL requires third party tools I believe).

eg Distributing large datasets

Note: Other databases, eg Cassandra can also automate 'sharding' for example.


If you don't have need for relational integrity, then MySQL is a liability. MongoDB does not have relational integrity which is one of the reasons why it's faster.

When did Mysql have relational integrity?



Yes, but it is easily disabled.


Isn't MariaDB an even closer alternative than Postgre?


I had to look up MariaDB, that's true in the codebase sense from the gist of it. Postgre is more popular than MariaDB I suppose.


There is no such thing as "postgre".


I have a client synchronization utility that uses MongoDB instead of SQLite because it's lightweight but I have all ease of use of MongoDB. Install it as a windows service with our installer and we are good to go.

And in this context, MySql would be way to heavy.


I have a client synchronization utility that uses MongoDB instead of SQLite because it's lightweight but I have all ease of use of MongoDB. Install it as a windows service with our installer and we are good to go. And in this context, MySql would be way to heavy.

Your comment is confusing. Can you please explain:

You replaced sqlite with mongodb, as an embedded database? How can mongodb run without a server?

Are you saying mongodb is more lightweight than sqlite? If so I find this very surprising, can you elaborate?


It's not an embedded scenario per se, but we use it like we would use sqlite. We install MongoDB as a service with our installer. But it's on the local machine, and only that machine (as our our application runs as the server).

MongoDB isn't as light as sqlite, but for our usage the difference was negligable with MongoDB running with around 3MB memory footprint. In the end we get speed and ease of use/flexibility of not having to deal with sql or schemas.


Interesting; thanks for clarifying.


Why didn't you go for BDB, assuming you've considered it?


Didn't consider it/didn't think of it. Main reason why we went with MongoDB was that it's fast, lightweight, and had a c# driver (unofficial) already written at the time. I'm sure those all apply to BDB also, but we knew more about MongoDB.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: