blackhorse wrote:Somehow I experienced "too many mysql connections", "too many open files" etc. recently on mysql.
I just have a question, are these limitations MySQL's own issues or other database system has them too?
Whatever the problem is, you can probably fix it by optimising your installation. In most cases this can be done by tuning either MySQL or the OS.
In the case of needing a very large amount of RAM, you will need to switch to 64-bit if you're currently on 32-bit. This needs an OS reinstall hence will take down time - I recommend that you install one or more readonly replication slaves in the meantime, and switch to one of those while you're upgrading (You can mix 32 and 64 bit databases in replication).
Note that on 32 bit systems, if you're using InnoDB, the maximum practical connection limit is about 900. But you may hit other limits first (e.g. address space for buffer size)
If you have a database server which NEEDS to serve more than 900 connections, you pretty must MUST switch it to 64-bit (which you probably want to do for performance anyway).
I used Interbase/Firebird before I switched to MySQL. Interbase/Firebird early versions missed something very important, such as AUTO INCRESEMENT VALUE. They didn't have it.
Firebird has no auto increment feature; this is not because they "forgot" to put it in, it was a design decision - they don't need it (they have generators instead).
(I don't know why they missed this simple but very important feature.) Or in older version, they didn't have the "select limit" function.
I believe it exists now.
In any case, Firebird is very un-userfriendly and featureless compared with MySQL (but has a very nice storage engine).
But years ago, they also had a lot of database features MySQL doesn't have.
No, they have very few features that MySQL doesn't have. Also, Firebird only has an experimental 64bit port, which makes it pretty much useless for large data.
Plus, I had quit a few sites running on InterBase/Firebird before, I never experienced the database problems such as too many connections, or too many open files. InterBase/Firebird were running very stable. I don't know if it is because that Interbase/Firebird is stable or if my database traffic is smaller than today's my mysql database traffic.
That is no basis for a comparison 🙂
It sounds like you have a performance problem which needs to be addressed by your DBA tuning your server and/or additional hardware, 64bit etc.
It may also be that you've got some architectural problem, e.g. web server keeping too many open connections - you will want to fix that first.
Mark