Perkeep

Бесплатно
Открытый исходный код
Windows
macOS
Linux
Android
iOS

Сайт: perkeep.org

Perkeep — это открытая система для хранения, индексирования и синхронизации данных, представляющая собой набор форматов, протоколов и программного обеспечения для построения контент-адресуемого хранилища. Проект развивался как преемник Camlistore и ориентирован на долговременное сохранение разнообразного цифрового контента: файлов, медиа, метаданных и их связей. Perkeep реализует идеи разделения содержимого и метаданных, хранения объектов по их криптографическим хэшам и оформления слоёв индексирования и поиска поверх базового хранилища объектов.

Архитектура Perkeep основана на моделях объектов и индексах: данные представляются в виде неизменяемых блоков (объектов), каждый из которых имеет уникальный адрес, зависящий от содержимого. Над объектами строятся индексы и так называемые «camli-» сущности, которые обеспечивают быстрый поиск, организацию коллекций и отображение семантических связей. Система поддерживает распределённое и локальное хранение, позволяет реплицировать данные между узлами, создавать резервные копии и синхронизировать изменения. Perkeep включает серверные компоненты для управления хранилищем и клиенты для загрузки, извлечения и обслуживания содержимого.

  • Контент-адресуемость: объекты хранятся и идентифицируются по криптографическому хэшу содержимого, что обеспечивает дедупликацию и целостность.
  • Разделение данных и метаданных: поддержка независимого хранения метаданных, версионирования и связных описаний объектов.
  • Индексация и поиск: механизмы индексирования для быстрого поиска по атрибутам, типам и содержимому, включая метаданные медиафайлов.
  • Расширяемость: модульная архитектура, допускающая добавление новых форматов, индексов и бекендов хранения.
  • Синхронизация и репликация: инструменты для репликации данных между серверами и клиентскими копиями, поддержка резервного копирования.
  • Поддержка медиа и файлов: хранение изображений, видео, документов и их производных (превью, метаданные) с возможностью извлечения и представления.
  • API и протоколы: программный интерфейс для взаимодействия с хранилищем, загрузки объектов и управления индексами.
  • Безопасность и целостность: использование криптографических хэшей для проверки неизменности объектов и управления ссылками между ними.
  • Локальное и удалённое хранилище: поддержка различных бекендов — от локальной файловой системы до удалённых сервисов хранения.
  • Сообщество и открытый исходный код: проект развивается в рамках открытого кода и допускает внешние вклады и адаптацию под специфичные сценарии.
Подробнее