Создан  demius PM год и 4 месяца назад; Обновил  demius PM 8 месяцев назад

Здесь будут схемы хранения данных, чтобы понимать что где лежит, в каком виде.

основная реляционная БД

Точка главной ответственности, по этой БД можно восстановить все остальные. Сейчас MySQL 5.7 в планах обновление до 8, но необходимости нет.

  • Доменные таблицы
    • Проекты
      • project
      • project_user - полномочия пользователей в проектах
      • task - задачи
      • doc - документы
    • Система файлов
      • file - загруженные в проект файлы
      • attachment - связь файлов с задачами и документами к которым они прикреплены
    • Пользователи и полномочия
      • app_user (так как user является ключевым словом)
    • Дополнительное
      • activity - активность пользователя (не только в проектах)
      • comment - комментарии пользователя
  • Технические таблицы
    • migration_versions

нереляционная быстрая БД

Redis, с включенным сохранением на диск. В будущем думаю часть данных уйдет в другие БД. На данный момент нет, будет реализована в v0.4

Для того, чтобы отделить кеш от данных наших систем, надо разделить данные на разные БД.

  • 0 - кеши, статистика
    • stat (Описание системы в Статистика проекта)
      • статистика глобальная, не зависящаая от проекта
      • статистика по проектам tndt-75
    • dictionary - весьма напрашиваются на кеширование, но на данный момент не очень понятно как и где это делать. tndt-84
  • 1 - сессии
  • 2 - wiki (Описание системы в Система гипертекста для wiki)
    • текущее состояние ссылок
    • поиск от сущности всех ссылок на неё, чтобы поменять им состояние
  • 3 - очереди (зачин на будущее, но думаю уже к версии 0.5 будут на них планы)

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

Комментарии могут оставлять только авторизованные пользователи
 demius год и 4 месяца назад

В то время, как сессии явно не кеши, stat очень похожи на кеши (точнее в данный момнет они и етсь кеши, только на файлах).

 demius год и 4 месяца назад

Может сессии вынести отдельно от прочих кешей. Кеш можно безпроблемно удалить, а удаление сессий приведет к разлогинам