TrustRadius: an HG Insights company

Apache Derby

Score7 out of 10

8 Reviews and Ratings

What is Apache Derby?

Apache Derby is an embedded relational database management system, originally developed by IBM and called IBM Cloudscape.

Apache Derby is an excellent Java-based open source zero cost embeddable file-based relational database

Use Cases and Deployment Scope

We use Apache Derby to provide a lightweight file-based database to store configuration settings common to all server nodes in our webMethods Integration Server cluster. We also store data that we want to persistently cache across reboots of the server cluster in our Apache Derby database files. Apache Derby means we do not need separate database server infrastructure to provide these features and can just use the Apache Derby embedded library in our existing Java Virtual Machine processes but still have access to an SQL-capable database. This approach simplifies our infrastructure architecture and hence support and TCO costs.

Pros

  • Embedded SQL-capable database client and server
  • Good performance for a file-based database
  • Zero cost open source solution

Cons

  • Not suitable as a replacement for a highly-available horizontally-scalable database
  • Only suitable for use by Java based projects as it is a Java based solution
  • Performance characteristics not suitable for very large data sets

Most Important Features

  • Zero cost
  • Java based
  • Embeddable SQL-capable file-based database

Return on Investment

  • Reduced our total cost of ownership of our Java solution, as we do not need separate database infrastructure for our relational data needs
  • Zero up front costs to try
  • Support services required are reduced by removing the need for specialist skills in a separate database product

Alternatives Considered

SQLite

Other Software Used

SQLite, Microsoft SQL Server, GitHub, Sublime Text, webMethods Trading Network, webMethods.io Integration (webMethods Integration Cloud), VMware Workstation Player (formerly VMware Player), IntelliJ IDEA, Gradle, Apache Maven, Jira Software, Atlassian Confluence

Developing with Derby

Pros

  • Much easier to use and learn than most commercial databases.
  • Derby database errors are well documented.
  • Most complex queries supported as well as by other database vendors.

Cons

  • 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.

Return on Investment

  • Saved money on database licensing.

Other Software Used

Oracle Database 12c, DB2, Microsoft SQL Server

Apache Derby- Great for localized Risk Modeling

Pros

  • 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.

Cons

  • Not as well positioned in the market as the "big dogs" (Oracle, MSSQL)
  • Been around awhile, and not a lot of exposure. This I believe is primarily due to it's relation to the Apache Project (which is not bad, but they don't force big, lumbering corporate volume licensing on you), and thus people are a bit gun-shy about NOT throwing money at something
  • Java is still "slow" compared to C/C++, thus making Derby a bit slow too

Return on Investment

  • 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.

Other Software Used

MongoDB, CouchDB, Microsoft SQL Server