Ответы пользователя по тегу Проектирование баз данных
  • В чем польза шардирования БД при наличии индексов?

    unfilled
    @unfilled
    к выше сказанному можно добавить, что шардирование уместно использовать, когда вы данные пользователей из России должны хранить в России, а данные пользователей ЕС в ЕС, например. Кроме того, шардирование может быть полезно в плане общей "устойчивости" системы - отвалился шард - большая часть пользователей остаётся доступной.
    Т.е. шардирование - это больше не про скорость доступа к данным, а про управление ими.
    Ответ написан
    Комментировать
  • Имеет ли смысл разбивать значения свойств товаров по разным таблицам?

    unfilled
    @unfilled
    EAV (entity-attribute-value) и быстродействие - это, в общем случае, понятия прямо противоположные. Например, вы захотите сделать выбор всех товаров со свойством "Вес" и значением свойства 500 грамм - никакие индексы вам не помогут (точнее мало помогут), при достаточно большом количестве товаров и свойств.
    В обоих случаях (всё в одной EAV-таблице, всё в EAV-таблицах по типам данных) у вас возможен мусор в базе, т.к. не будут работать никакие ограничения целостности (FK, CHECK, DEFAULT).
    Если вы всё-таки хотите работать с EAV, можно сделать таблицу Entity|Attribute|Value_str|Value_int|Value_boolean. Какой, кхм, сорт выбирать - имхо, разницы нет.
    Ответ написан
    5 комментариев