Архитектура базы данных

  • Автор темы Nikita77717
  • Обновлено
  • 12, May 2024
  • #1
Я посмотрел на то, как Элгг хранит данные, и это заставило меня задуматься.

Обычно, когда на вашем сайте есть сообщения, комментарии и т. д., у вас есть таблицы типа (сообщения, комментарии), но здесь все хранится в двух таблицах.

Это две таблицы: «сущности» и «метаданные», и они структурированы следующим образом:

Сущности:

 ------------------------------------------------------------
| Имя | Тип |
------------------------------------------------------------
| гид | интервал(20) |
| тип | enum('объект', 'пользователь', 'группа', 'сайт') |
| подтип | варчар(252) |
| владелец_гид | интервал(20) |
| контейнер_гид | интервал(20) |
| доступ_ид | интервал(11) |
| время_создано | интервал(11) |
| время_обновлено | интервал(11) |
| последнее_действие | интервал(11) |
| включен | enum('да', 'нет') |
------------------------------------------------------------


и структура метаданных

 ----------------------------------------------
| Имя | Тип |
----------------------------------------------
| идентификатор | интервал(11) |
| Entity_guid | интервал(20) |
| имя | текст |
| ценность | длинный текст |
| тип_значения | enum('целое число', 'текст') |
| владелец_гид | интервал(11) |
| доступ_ид | интервал(11) |
| время_создано | интервал(11) |
| включен | enum('да', 'нет') |
----------------------------------------------


Если правильно индексироваться, будет ли это лучше и в масштабе? Каковы преимущества и недостатки этого метода?

Nikita77717


Рег
11 Apr, 2011

Тем
74

Постов
197

Баллов
587
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно