1.2.2.2. Хранилище

В платформе Arta Synergy для хранения бинарных данных файлов используется реализация Content Repository API for Java (JCR):

  • Jackrabbit
  • Jcr4c на основе Cassandra

JCR представляет собой объектную базу данных, созданную для хранения, поиска и извлечения данных. В JCR хранятся как бинарные данные файлов так и метаданные к ним, поддерживается версионность данных и транзакционность.

Информацию о Jackrabbit можно получить на официальном сайте https://jackrabbit.apache.org/

Реализация Jcr4c для хранения бинарных данных использует noSql БД Cassandra, для хранения структуры и метаданных - СУБД Mysql. При загрузке файла в хранилище выполняются следующие действия:

  • создается запись в mysql БД storage
  • контент файла загружается в БД Cassandra

При чтении файла выполяется запрос в mysql для получения метаданных файла, по идентификатору из mysql выполняется запрос в БД Cassandra для получения контента. Результат возвращается пользователю в виде файла.