Solved

Need suggestion to choose a database

Posted on 2014-09-08
5
332 Views
Last Modified: 2014-09-21
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
Comment
Question by:Ravi Kalla
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 51

Accepted Solution

by:
Gustav Brock earned 167 total points
ID: 40311440
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
 
LVL 85

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 167 total points
ID: 40311882
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
 
LVL 6

Author Comment

by:Ravi Kalla
ID: 40312195
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
 
LVL 38

Assisted Solution

by:PatHartman
PatHartman earned 166 total points
ID: 40312227
# 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
 
LVL 62

Expert Comment

by:gheist
ID: 40335021
SQLITE is the most popular in this segment of scale (think billion of iphones and another of androids, all with sqlite)
0

Featured Post

Database Solutions Engineer FAQs

In this series, we will discuss common questions received as a database Solutions Engineer at Percona. In this role, we speak with a wide array of MySQL and MongoDB users responsible for both extremely large and complex environments to smaller single-server environments.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recently, Microsoft released a best-practice guide for securing Active Directory. It's a whopping 300+ pages long. Those of us tasked with securing our company’s databases and systems would, ideally, have time to devote to learning the ins and outs…
Code that checks the QuickBooks schema table for non-updateable fields and then disables those controls on a form so users don't try to update them.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question