Other then Oracle, MySQL, and PostgreSQL, what is out there? Is there anything else used in a production environment? By production I mean it's used to support an active project or application and not an unstable system. I'm curious about other database systems (aside from NoSQL) that are applicable for use.
Looking at the feature set of those three, just about everything is covered. Why should I use something other then MySQL?
Bonus points if it works with Ibatis, some sort of Java connector is necessary though.
You didn't mention:
SQL Server- Teradata
- Pervasive
- Firebird
- Informix
- Sybase
- SQLite
- DB2
- Informix
- Derby
- HSQLDB
- Ingres
Take a look at Oracle's Berkeley DB. In same memory space as app: key-value pair, transactions, isolation, very fast and performant. C, Java nd XML versions. Also, this might be useful: http://blogs.oracle.com/natarajan/resource/Databases_for_Cloud.pdf
If MySQL does the job for you, I don't think you need to change. But don't forget that MySQL is not free. If you are building a commercial application on top of MySQL, you have to buy a license.
Featurewise I think PostgreSQL is superior to MySQL (better query optimizer, windowing functions, common table expressions, check constraints, deferrable constraint just to name a few that MySQL is lacking) and it is really free.
MySQL might have a slight advantage if you need multi-master replication but there are solutions for PostgreSQL as well. And I guess we'll be seeing more now that streaming replication is built into Postgres (since 9.0)
To complete the list of databases there is also Greenplum (data warehouse, similar to Teradata)
精彩评论