views:

133

answers:

6

I need a DBMS, but do not know which to choose. Basically, the application makes many INSERT / UPDATE, but also many SELECT. SELECT mostly very simple, one field only.

I am using MySQL + InnoDB at the moment, but as the database is growing, I need the best solution. The table can grow indefinitely, and the time +- 2GiB

EDIT:

Will run on Linux, and perhaps rarely in FreeBSD. Not need a user management, all processes currently connect as root. Typically, there are many simultaneous accesses (now in 83 threads, according to the mysqladmin).

Access will be with C++, but need access to PHP also

PHPMyAdmin statistics:

select: 42.57%

insert: 7.97%

update: 49.45%

EDIT2:

After some thought, and the answers here, I believe that I can't use MySQL for your client library is GPL Any alternative that does not harm (much) performance?

+1  A: 

If it's very simple queries, could it be done well with a key/value store?

Dean J
+3  A: 

I think you have plenty of options.

  • You can continue to use MySQL. YouTube have used it fairly successfully
  • PostgreSQL (Free, Open Source, pretty good performance, reliable)
  • Oracle (NOT free, but has good support for very large databases)
Conrad
A: 

I would think MySQL is an excellent choice from what you've stated. Oracle isn't free, and has some overhead in all the security and enterprise level features that MySQL doesn't. You want support for multiple languages. MySQL can scale well (I believe Flickr is a good example). Most databases are accessible via most languages: e.g. Perl, Java and C all have driver based APIs ( JDBC, DBI and ODBC ). IIRC PHP has one very similiar to DBI. Also: starting with a database does allow you some wiggle room for the future: e.g. joins and aggregation.

One advice I would give is: make sure whatever you choose is ACID compliant. Also, You might take the time to compare PostGres and see if there is something about it that meets your needs as well or better than MySQL.

harschware
A: 

According to this, the maximum database size on Linux 2.4+ (ext3) is 4TB. So I think you are safe to stick with MySQL+InnoDB if performance is adequate.

Jamie Ide
You can definitely have databases bigger than 4TB on a 64-bit system. You probably don't want to use mysql (or any RDBMS) on a 32-bit system (certainly for new installations).
MarkR
A: 

Well, if MySQL is the best option, I will continue using it.

Thank you all!

osmano807
A: 

Now, according to the edition that I post on, any alternatives?

osmano807