Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 344
  • Last Modified:

Need suggestion to choose a database

I am planning to create a java application which run as a standalone desktop application. I am trying to find the suitable database for it.

Below are the constraints -

1.

Database should be standalone and should be maintainable along with the application.

2.

Write frequency = 100 records(each record is 100 characters) / 3 secs

3.

Read frequency(each query has 2 inner joins) = 10,000 records(each record is 100 characters) / 3 secs

4.

Size of the database on hard disk wouldn't exceed 50 MB
What database is more suitable in this scenario and why? I have few in mind(my mind is open for other DBs as well) -

1.

SQLite

2.

HSQLDB

3.

MSACCESS
0
Ravi Kalla
Asked:
Ravi Kalla
3 Solutions
 
Gustav BrockCIOCommented:
1 and 3 should be fine. Don't know about 2.

Also, an option could be SQL Server Compact 4.0:

    http://www.microsoft.com/en-us/download/details.aspx?id=17876

which has the advantage that is uses a subset of T-SQL of SQL Server.

/gustav
0
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
I tried SQLite for several .NET projects and it worked fine, so I'm sure it would work fine with Java projects as well.

That said, I always found myself switching over to SQL Server Compact, as Gustav suggests. Seemed more ... complete ... than SQLite, and easier to work with.
0
 
Ravi KallaAuthor Commented:
HSQLDB is OpenOfficeBase.

For 'SQL Server Compact', do I need to install .NET framework also?
Is there any advantage for 'SQL Server Compact' over SQLite?
0
 
PatHartmanCommented:
# 3 is not actually MSAccess.  It is either Jet (.mdb) or ACE (.accdb)  You don't need Access installed at all if all you are using is the database so why pay the licensing fee.  Both Jet and ACE are free downloads but may already be installed on the target PC so check first.

If the user is going to be managing the database and doing backups and compacts/reorgs, you should choose which ever product will be easier for the user to manage or for which you can include management functions in your Java code.  Also, if you choose something other than Jet/ACE, how will it get installed?  Can you script silent installs as part of your install package?
0
 
gheistCommented:
SQLITE is the most popular in this segment of scale (think billion of iphones and another of androids, all with sqlite)
0

Featured Post

NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now