Storage Overview

Home » Support Library » Developer Support » Architecture » Storage Overview


ArkCase stores data in 4 repositories: a relational database; a content file store; a Solr index; and a configuration folder.


Relational Database

ArkCase supports MySQL, MariaDB, PostgreSQL, Oracle, and SQL Server.

The database is the primary store for metadata; this means all structured, fielded data is stored in the database.  All data in the Solr index can be recreated from the database and the content file store.

The data primarily comes from the REST API endpoints; typically the REST API endpoints are consumed from the ArkCase user interface.  Data may also come from the external interfaces (ActiveMQ, electronic mail).

The user interface queries the database only for detailed information about a specific object.  Lists, trees, and tabular views are populated from Solr queries (see below section on the Solr index).

If legacy system data must be migrated into ArkCase, any one of several possible specialized approaches may be used.  Using the normal REST API endpoints guarantees compliance with the ArkCase user interface, but may be too slow.  Otherwise, for very large incoming data sets, specialized tools like Armedia’s Caliente may be used.


Content File Store

Content files (that is: Word files, Excel files, images, movies, audio files, all other electronic files) are stored in a content file storage area.  The content file store must support the Content Management Interoperability Services (CMIS) standard.  ArkCase supports versioning, copying, moving, and deleting files.  Online file editing is supported via WebDAV.  Document viewing, annotation, and redaction is supported by an internal document viewer.

The content file store is the primary store for content files.  All content in the Solr index can be recreated from the content file store.

Content files are added to ArkCase primarily through the user interface.  Content files may also come from the external interfaces (ActiveMQ, electronic mail).


Solr Index

Apache Solr indexes all metadata and content files.

The Solr index supports all lists and tree views in the user interface.  Access controls are embedded in Solr metadata, to guarantee that matching record counts, facet counts, and actual search results include only results the current user is allowed to see.

The Solr index supports both fielded searches and content file searches.

Solr data is populated by ArkCase in two ways.  First, as users add, update, and delete data by normal system use, event handlers trigger pushes to Solr, such that Solr is updated in near real time.  Second, ArkCase runs a batch update at a configurable interval, to guarantee all data is correctly indexed.  This batch mechanism normally indexes only data added or updated since the last batch run; it can also trigger a complete re-index of all data.


Configuration Folder

The configuration folder is a normal file system folder where ArkCase stores system configuration data.  This includes user interface labels; connection information for the database, electronic mail, content file store, and Solr interfaces; role-based access control configuration; business rules; and business process definitions.