Why is it recommended that Apache Derby embedded database should NOT be used for storing cache data for production?

For almost all of the Denodo articles that talk about caching, we see snippets like this: "... you can configure the cache module to store the cache data in the Apache Derby database embedded in Virtual DataPort. However, we strongly recommend using an external Database Management System (DBMSs), especially in production environments." (https://community.denodo.com/docs/html/browse/6.0/vdp/administration/cache_module/cache_module). Although it is stated that we shouldn't use it, we don't really know **why** we shouldn't use it. Why is it not recommended to use the Apache Derby embedded database in production? My team (and several technical stakeholders) are requesting for a more specific answer than "the Denodo team said so".
12-04-2019 08:51:50 -0400

1 Answer

Hello, There are a few reasons why the Apache Derby embedded database is not recommended for production use. It is more of a tool of convenience that we include so that you can work with caching right out of the box. It is a file-based system that can result in being heavily fragmented without skilled maintenance because caching is heavy on read / write operations. With Oracle or SQL Server or another enterprise DB Engine, you have a more robust built-in suite of maintenance tools. Using the built-in cache engine also competes with resources on the VDP Server, whereas a separate DB Engine like Oracle would typically exist on its own hardware or even a cluster. Additionally, with an external database, you have more visibility over the cache tables as you would have direct access to the cache schema while you would not have the same level of access to the embedded Derby. Hope this helps.
Denodo Team
15-04-2019 14:17:44 -0400
You must sign in to add an answer. If you do not have an account, you can register here