Skip to content

Storage

Carlos Badenes edited this page Mar 31, 2016 · 1 revision

Multiples types of information are handled in this system. Sometimes, data should be stored in a key-value form, at other times it should be stored in a column-oriented form. In any case, the system must be opened to handle as different databases as data types it handles.

storage

Inspired in the Data Access Object (DAO) pattern, a Unified Data Manager (UDM) implements the four basic functions of persistent storage, i.e. Create, Read, Update and Delete (CRUD), for any type of data along with more complex functions combining some of them. In this way, all the particularities of data storage services are only handled here and any module has a centralized access for persistent operations.

The overall flow is parallelized by modules, and the storage operations are centralized within each module by the UDM.

storage-system

Currently, the following databases are handled in the system:

  • key-value database: Focused on unique data. This allows users to iterate from basic to more complex resources, i.e. as indexes.
  • column-oriented database: Focused on structured data. This allows users to search key elements in resources.
  • document-oriented database: Focused on raw data. This allows users to retrieve all the information gathered about a resource.
  • graph database: Focused on related data. This allows users to explore resources through the relationships between them. These relationships may be similarity-based or belonging-based.
Clone this wiki locally