|
|
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
AddxНо как замена EAV - это бред. AFAIK EAV обычно возникает от желания иметь настраиваемую систему и желание дать возможность настройки пользователю/консультанту/внедренцу. В обычных монолитных системах, при желание пользователя "добавьте поле": создается таск, выделяется бюджет на доработку. программисты кодят, бюджет пилится, пишутся alter table, создается обновление, админы устанавливают обновление на продакшен,... Т.к. это обычно долго и не все заказчики обладают достаточным бюджетом соизмеримым с их желанием "добавлять поля", придумывают алтернативы... Т.е. сделать нормальный интерфейс и дать возможность пользователям/консультантам/внедренцам самим добавлять поля в экранные формы/таблицы, без участия программистов. В конце концов "компьютер должен работать, а программисты спокойно пить кофе" ( C ) модифицированный принцип IBM Как именно решается проблема "добавить поле"... EAV, не EAV, "все в XML", кодогенерация... обычному пользователю обычно пофиг. Он и слов таких не знает AddxВ ORACLE у функции PIVOT какие-то проблемы? Не очень много с ним работал ( При чем тут ф-ция PIVOT? Как она может помочь с проблемами производительности при поиске в EAV? Как, к примеру, создать составной индекс по нескольким полям в случае структуры типа EAV? Как писать условия типа OR/AND по нескольким полям? А если поля еще ссылаются на справочники, все совсем монстрообразно получается. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 14:07 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
cobalt_frog, Кайта для начала прочтите - половина вопросов по EAV отпадет, а оставшиеся, более узкие уже можно и на форуме задавать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 14:23 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
AddxВ ORACLE у функции PIVOT какие-то проблемы? Не очень много с ним работал ( Простите, а вы PIVOT собираетесь до фильтрации делать, я правильно понял? С какими объёмами EAV таблицы вы работали в подобном ключе? AddxУ EAV есть один очень серьезный недостаток - ей нужно уметь пользоваться. Все ничего, пока систему пишут профи Вы не могли бы, как профи, провести краткий ликбез по умению пользоваться этой структурой? Особенно, конечно, интересует поиск по нескольким полям (атрибутам) при попытке соединить несколько сущностей (энтитей). Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 14:26 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
проходил мимо... пользоваться этой я бы начал с вопроса про уникальность по двум атрибутам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 14:37 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevКак писать условия типа OR/AND по нескольким полям?index scan + group by + having Одна из типичных проблем при EAV, то альтернативно одаренные для вывода сущности в плоском виде используют n self joins вместо single scan + pivot (or group by). EAV Hell Потом люди, которым не хватило ума нормально спроектировать создают много вони в интернетах - это главная проблема EAV. Понимание что имеется компромисс между гибкость и производительностью тоже важно, но учитывая cobalt_frogОбъемы - десятки тысяч записей в месяц, ждать согласны хоть секундуможно реализовать любые хотелки пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 14:50 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopможно "Никогда не создавайте метамоделей" (с) не помню чей, но верный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 14:56 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
антагонистdbms_photoshopможно "Никогда не создавайте метамоделей" (с) не помню чей, но верный.Худший паттерн - это всегда следовать некоторому паттерну (вольная интерпретация). Мир не черно белый и для каждой ситуации свой интруент. Особо творческие личности могут даже пихать динамический набор атрибутов в XML а на него навешивать разные индексы. Впрочем, я ничего никому не навязываю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 15:04 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopОсобо творческие личности могут даже пихать динамический набор атрибутов в XML а на него навешивать разные индексы. Кстати, значительно эффективнее на выборках, чем EAV - по крайней мере, этими индексами можно пользоваться. dbms_photoshopВпрочем, я ничего никому не навязываю. Аналогично :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 15:29 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
по традиции топика и я ничего никому не навязываю. EAV , конечно, говно.. но кто скажет, что и его нельзя продать ? можно и (при навыке) удачно беда приходит тогда (и к тому ) кто норовит сделать из говна конфетку (а навык только крепнет, главное - не зарываться, а вовремя уйти, например ~туда, где зреет более другой ЕАВ ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 16:16 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
orawishговноговна конфеткуВместо озвучивания своих фантазий фекально-конфетной тематики более профессионально было бы сказать: имеются такие-то проблемы, или сложно соответствовать таким-то критериям или возникают следующие трудности. Хотя тут, видимо, просто истерика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 16:31 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev ... при желание пользователя "добавьте поле": ... Вот тут и начинаются проблемы. Сидит программист "под пользователем", и тот им управляет: Добавь поле, поиск, фильтрик ... Решается не бизнес-задача, а хотелки пользователя. Архитектором системы внезапно оказывается бухгалтер/менеджер/маркетолог ... EAV не предназначена для реализации сложных бизнес-сущностей, которые обвязаны логикой и связями. Для таких ситуаций предусмотрена денормализация. Не нужно всю эту информацию запихивать в одну табличку с помощью "ALTER TABLE". Я никого не хочу обидеть, возможно именно Ваша задача не ложится на EAV, но это не ее проблемы. Разумеется, у любого инструмента есть область приложения. dbms_photoshop... С какими объёмами EAV таблицы вы работали в подобном ключе? ... До 100 миллионов примерно. Потому и спросил, есть ли в Oracle проблемы с этим. У меня нет особого желания заниматься холиварами, если кто-то считает, что EAV - это г., то пусть считает, его дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 17:30 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
AdxLeonid Kudryavtsev... при желание пользователя "добавьте поле": ... Вот тут и начинаются проблемы. Сидит программист "под пользователем", и тот им управляет: Добавь поле, поиск, фильтрик ... Решается не бизнес-задача, а хотелки пользователя. Архитектором системы внезапно оказывается бухгалтер/менеджер/маркетолог ... Беда у Вас с процессом разработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 17:39 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
XMLerБеда у Вас с процессом разработки. К счастью, у меня такого нет. ) Но встречается такое постоянно ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 18:05 |
|
||
|
EAV модель
|
|||
|---|---|---|---|
|
#18+
AdxВот тут и начинаются проблемы. Нет тут никаких проблем. Есть или предметная область со сложным и разнообразным описанием (www.kamis.ru описание предметов живописи, редкой книги, археологии, всякой живности или например оружия - полностью отличается. Тоже самое оружие. У одного оружия: калибр и вес пули в граммах, а у другого: мощность в мегатоннах и радиус поражения в километрах) Или ERP-система (OeBS, Axapta) используемая по всему миру, с попыткой объять необъятное и натянуть сову на глобус AdxСидит программист "под пользователем", и тот им управляет: Кто под кем сидит на крупных ERP-проектах и кто кого наеб...ет и в какой позе, это IMHO вопрос крайне дискуссионный ))) Но без Flexfields жизнь на проектах внедрения была бы намного печальнее. AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 18:19 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39607324&tid=1884368]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 370ms |

| 0 / 0 |
