Apache Derby vs. H2 Database Engine

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Apache Derby
Score 7.0 out of 10
N/A
Apache Derby is an embedded relational database management system, originally developed by IBM and called IBM Cloudscape.N/A
H2 Database
Score 8.0 out of 10
N/A
H2 Database Engine is an open source, embeddable database management system (RDMS) written in Java.N/A
Pricing
Apache DerbyH2 Database Engine
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache DerbyH2 Database
Free Trial
NoNo
Free/Freemium Version
NoNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Best Alternatives
Apache DerbyH2 Database Engine
Small Businesses
SQLite
SQLite
Score 9.0 out of 10
Redis™*
Redis™*
Score 9.0 out of 10
Medium-sized Companies
SQLite
SQLite
Score 9.0 out of 10
Redis™*
Redis™*
Score 9.0 out of 10
Enterprises
SQLite
SQLite
Score 9.0 out of 10
Redis™*
Redis™*
Score 9.0 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Apache DerbyH2 Database Engine
Likelihood to Recommend
7.0
(3 ratings)
8.0
(2 ratings)
User Testimonials
Apache DerbyH2 Database Engine
Likelihood to Recommend
Apache
If you need a SQL-capable database-like solution that is file-based and embeddable in your existing Java Virtual Machine processes, Apache Derby is an open-source, zero cost, robust and performant option. You can use it to store structured relational data but in small files that can be deployed right alongside with your solution, such as storing a set of relational master data or configuration settings inside your binary package that is deployed/installed on servers or client machines.
Read full review
Open Source
For running application tests it's well suited. H2 [Database Engine] can replace the real-world database solution for them easily and removes the requirement to set up a a separate database instance just for running unit tests. For using in actual production application one needs to consider scale. H2 is suitable if application runs in single instance and database is located in same machine as a file where that application runs. This means the application shouldn't have a large user base. However it's easy to switch to an actual MySQL instance if the need arises, it's most likely only a configuration change and doesn't require new code.
Read full review
Pros
Apache
  • Apache Derby is SMALL. Compared to an enterprise scale system such as MSSQL, it's footprint is very tiny, and it works well as a local database.
  • The SPEED. I have found that Apache Derby is very fast, given the environment I was developing in.
  • Based in JAVA (I know that's an obvious thing to say), but Java allows you to write some elegant Object Oriented structures, thus allowing for fast, Agile test cases against the database.
  • Derby is EASY to implement and can be accessed from a console with little difficulty. Making it appropriate for everything from small embedded systems (i.e. just a bash shell and a little bit of supporting libraries) to massive workstations.
Read full review
Open Source
  • Can run as an in-memory database.
  • Simple and quick to get started with, and is light weight (only 2MB).
  • SQL compliant so it compatible with most relational databases.
Read full review
Cons
Apache
  • It may not scale as well as some more mature database products.
  • Used it primarily from the command line with openjpa and jdbc, and from third-party clients such as Squirrel.
  • May benefit by providing more sophisticated tools to optimize query performance.
Read full review
Open Source
  • There's a warning in official FAQ "Is it Reliable?"-section which makes it seem like H2 is not yet a mature product.
  • If raw SQL queries are used there maybe be differences between MySQL & H2. ORM library should be used.
  • Support seems to be community-based only.
Read full review
Alternatives Considered
Apache
SQLite is another open-source zero-cost file-based SQL-capable database solution and is a good alternative to Apache Derby, especially for non-Java-based solutions. We chose Apache Derby as it is Java-based, and so is the solution we embedded it in. However, SQLite has a similar feature set and is widely used in the industry to serve the same purposes for native solutions such as C or C++-based products.
Read full review
Open Source
While both can run as an in-memory database, H2 Database Engine was just so much easier for us to use since we primarily use the Java stack and H2 Database Engine is also built with Java.
Read full review
Return on Investment
Apache
  • Being Open source, the resources spent on the purchase of the product are ZERO.
  • Contrary to popular belief, open source software CAN provide support, provided that the developers/contributors are willing to answer your emails.
  • Overall, the ROI was positive: being able to experiment with an open source technology that could perform on par with the corporate products was promising, and gave us much information about how to proceed in the future.
Read full review
Open Source
  • Doesn't take time from developers, once it's configs are set up for testing it works in everyone's development environments
  • Easy to integrate in application, no need to setup separate database software, no maintenance
  • No need to deal with infrastructure related issues/costs - database runs in same machine as the application that uses it.
Read full review
ScreenShots