I'm a student who has done some webdevelopment in the past (with MySQL), nothing professional just simple stuff. Now I need to make a java application for someone, and this is completely new for me.
For that I'm looking for the right database. At first I thought PostgreSQL would be the right one but I'm getting more and more confused.
I only have a few conditions:
The database has to be free for commercial use
I'm writing the application in java
The end-user must have the opportunity to install the application from a cd-rom. The installation process must be very simple, in other words the database must install itself, and after the installation process the application must be ready to use.
The purpose of the application is that they can read and write data from/to the database.
The database must be embedded
The application will run on Windows (I don't think that really matters, but just in case)
So the main question I have is: is PostgreSQL suited for such an application, or can you advise me something better?
Item 6 would (currently) exclude PostgreSQL.
Item 1 would exclude MySQL.
You might look at MSDE. This is a free, lightweight version of SQL Server. Although it has some limitations (2 GB database size, 8 concurrent connection limit before throughput throttling begins to slow down data throughput) it has the advantage that any code you write for it would work without changes (except for your connection strings, if they're hard coded) on a full-blown SQL Server. It's scaleable, in other words.
Note that PostgreSQL's latest beta release includes a Windows version, with the production release slated for this year or early next year.
"Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
"I have my standards. They may be low, but I have them!" - Bette Middler
"It's a book about a Spanish guy named Manual. You should read it." - Dilbert