I am starting a new project and I need a top notch RDBMS for the backend. The problem is that I can’t decide if I want to use PostgreSQL or MySQL, or if I should use Microsoft MSDE instead. Whatever I choice though must support Transactions and Concurrency (i.e., proper locking).
I have used MySQL before and for straight forward databases it works great. The best thing about MySQL is the fact that it is easy to administer and it runs on just about any OS under the sun (including Sun). However, its support for transactions and locking is somewhat new and I am not sure how it would hold up under the stress.
PostgreSQL seems to be a lot more complicated to administer and requires a fair bit of setup to run on Windows. However, it does support the two main bits that I really need. The problem though is that the project is to be done in Flash and J2EE and, therefore, I need windows for the development. Once it is completed, it can be deployed onto a Linux server with no problems. However, this makes development very tricky.
The one solution that I have thought of so far is to use two DBMS’s — MySQL for development and PostgreSQL for production. Not sure how much extra work with would result in though.
I will definitely post what conclusions I come to and which DBMS I finally choice. Who knows, I may ditch both of them and go with Oracle.