- Введение
- Примеры использования
- Варианты использования
- Преимущества от использования
- Подготовка к использованию
- Архитектура
- Дополнительные материалы
EAV - Entity Attribute Value - Сущность Атрибут Значение - это модель данных, которая позволяет создавать "таблицы" БД с произвольным набором "колонок". При этом нет необходимости создавать новые объекты БД.
Таким образом для каждой сущности ("таблицы") можно иметь произвольный состав атрибутов ("колонок"), за счёт этого, EAV даёт возможность работы с произвольными данными без вмешательства разработчиков.
Обычный способ использования EAV это построение представления общего для всех сущностей. Это приводит к тому что при увеличении количества сущностей и атрибутов, увеличивается объём данных по которым выполняется поиск, что приводит к увеличению времени поиска.
"Универсальный каталог" устраняет недостатки EAV, за счёт того что каждая сущность храниться в отдельной таблице или материализованном представлении.
Все выборки данных выполняются не по таблицам EAV, а по данным вынесенным в отдельный объект БД.
СКОРОСТЬ РАБОТЫ С ДАННЫМИ СОХРАНЯЕТСЯ НЕ ЗАВИСИМО ОТ КОЛИЧЕСТВА СУЩНОСТЕЙ И АТРИБУТОВ.
"Универсальный каталог" сохраняет гибкость и простоту в управлении атрибутивным составом данных, при этом скорость работы ни чем не отличается от работы с обычными таблицами.
Мастер данные сохраняются в таблицах EAV. Это даёт возможность в любой момент времени изменить формат хранилища для отдельной сущности, перейти на работу через таблицу БД или через материализованное представление.
В будущем будет добавлена поддержка хранилища в формате JSONB.
Вольхин Николай
e-mail [email protected]
phone +7-902-272-65-35
Telegram @sbwerewolf