22.214.171.124.3. Embedded Database Storage
Embedded database storage provides the advantages of external database storage but without the need to install a standalone database-system like MySQL or MS SQL Server. To achieve this, Docmenta uses the embedded Open-Source database "Apache Derby". Apache Derby is a Java database that can run within the Java Virtual Machine of the Web-Server:
Figure 2.7.7. Embedded database storage
Note that the Apache Derby database is not included in the Docmenta installation package. To be able to use the embedded database-storage, the Apache Derby database plug-in needs to be installed. The embedded database plug-in can be downloaded from http://www.docmenta.org. See Section 2.7.5, “Installing Plug-ins” on how to install Docmenta plug-ins.
Following the filesystem-structure that Docmenta creates for the embedded-database-storage:
Figure 2.7.8. Directory structure of embedded-database-storage
The product directory needs to be defined as part of the product configuration. The product directory contains a sub-directory named "dbstore" that contains the Apache Derby database files. Note that all versions and languages of a product are always stored in a single Apache Derby database instance. This allows more efficient storage, as content-nodes that are unchanged from one version to another are stored only once. However, it is possible to copy selected versions/languages of a product into a new product (see Section 126.96.36.199, “Copying a product”).
For the storage of the exported publications, two options exist: inside or outside of the database. If exported publications are stored outside of the database, then the exported files are stored in the sub-directory "publications". See the section "Publication archive inside or outside of the database?" below for details.