Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Databases / August 2007

Tip: Looking for answers? Try searching our database.

Apache Derby performance disappointing

Thread view: 
James Appleby - 16 Aug 2007 15:02 GMT
Hello,

I am currently adding Derby support to an application that already has
support for multiple DBMS via JDBC.  I have found it to be
significantly slower than SQL Server or MySQL when performing the same
task.  To provide this, I have created an exact duplicate database
within both Derby and SQL Server and ran the same query on both,
gathering timings.

The test query returns about 16,000 rows from a table with about
100,000 on it, grouping data using a timestamp that is converted to
the nearest second.  This is one of the heaviest queries within the
application and what chosen to put the DBMS under the most strain.  To
prevent caching interferring with the result, I made sure to restart
the DBMS before running the query.

SQL Server was at least 4 times quicker returning the results compared
to Derby.  I had expected SQL Server to outperform Derby, but not by
such a huge factor.  Is this result what is expected?

The initial test was based on a default, untuned installation.  I then
followed tuning guidelines for Derby, increasing the page size to 32K
and increasing the maximum page count to far in excess of what should
be needed to return the amount of data I am testing.  This gave some
improvements but it is still takes three times that of the same query
time on SQL Server.

As Derby is marketing itself on the same level as MySQL (Apache
provide performance figures comparing it to this) then I anticipated
similiar performance, but instead it is taking twice as long as I
consider reasonable.  Is this in line with anyone elses experience?
GArlington - 17 Aug 2007 12:11 GMT
> Hello,
>
[quoted text clipped - 27 lines]
> similiar performance, but instead it is taking twice as long as I
> consider reasonable.  Is this in line with anyone elses experience?

I presume you created all indexes which exist on SQL server?
James Appleby - 17 Aug 2007 17:02 GMT
The database schema and content are identical.  All tables, views and
contraints including indexes exist within both.  In your experience,
would you expect Derby to be so much less performant?
Roedy Green - 18 Aug 2007 02:26 GMT
>In your experience,
>would you expect Derby to be so much
>less performant?
Sun typically puts out only reference implementations, not
high performance ones. It does not want to put its customers
out of business. If it did, it would discourage anyone
developing Sun tools for fear Sun would use its money and
expertise to destroy them.
Signature

Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com

Arne Vajhøj - 18 Aug 2007 04:21 GMT
>> In your experience,
>> would you expect Derby to be so much
[quoted text clipped - 4 lines]
> developing Sun tools for fear Sun would use its money and
> expertise to destroy them.

And ?

SUN Java DB is just a Derby with support.

Derby is developed by Apache. They do not hold back
on developing products to please commercial vendors.

(before Apache it was IBM and Informix that owned the database
under the name Cloudscape, but it has been under Apache for
3 years now)

Arne
Arne Vajhøj - 19 Aug 2007 03:29 GMT
> I am currently adding Derby support to an application that already has
> support for multiple DBMS via JDBC.  I have found it to be
[quoted text clipped - 13 lines]
> to Derby.  I had expected SQL Server to outperform Derby, but not by
> such a huge factor.  Is this result what is expected?

My experience show that Derby perform well in INSERT, but are
clearly behind in SELECT.

So it may very well be as it is.

Arne
Dyreatnews@sun.com - 27 Aug 2007 13:16 GMT
> Hello,
>
[quoted text clipped - 4 lines]
> within both Derby and SQL Server and ran the same query on both,
> gathering timings.

You really should consider subscribing to derby-user and ask your
question there. To get help you probably need to include some more
details about your schema and the load you are running.

> As Derby is marketing itself on the same level as MySQL (Apache
> provide performance figures comparing it to this) then I anticipated
> similiar performance, but instead it is taking twice as long as I
> consider reasonable.  Is this in line with anyone elses experience?

For a given type of load that is true. It may not be for your load.

Signature

dt



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.