powered by simpleCommunicator - 2.0.46     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как назвать эту структуру и подход, основанные на EAV?
25 сообщений из 454, страница 11 из 19
Как назвать эту структуру и подход, основанные на EAV?
    #39857636
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDevhVostt,

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

Ок, я вам ничего и не продаю.
Ничего божественного тут нет, если для вас ES это что-то божественное, то у меня для вас плохие новости.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857638
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoДля Firebird это неск. тыс. колонок, для MySQL аж 4096. Всего то. Учитывая, что это будет ну очень сильно разреженная таблица с минимумом индексов, производительность и прожорливость места будет унылой.
А вопрос репликации такой БД вообще, обойдён стороной.

Давайте сначала отыщем задачу, где хотя бы 500 характеристик у одной сущности будет?
О волшебных конях в вакууме из чье-то больной фантазии разговаривать неинтересно.

L_argoИ вообще. Если в таблице более 200 колонок, это повод сильно сомневаться во вменяемости разработчиков.

Это вопрос вообще не в таблице.

L_argoИногда это внешнее требование, через которое нельзя переступить.

Современные СУБД, например, постгрес -- умеют хранить и работать данные без структуры.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857668
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttСовременные СУБД, например, постгрес -- умеют хранить и работать данные без структуры.

Могут, но получается не так хорошо, как хотелось бы.
В частности имел печальный опыт с MS SQL.
Он может хранить json и даже запросы по ним делать.
Но план запроса "ужас, ужас".
ИМХО лучше, все таки положить данные в плоскую таблицу, чем огрести проблемы с JSON.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857715
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте сначала отыщем задачу, где хотя бы 500 характеристик у одной сущности будет?Это тролинг такой ?
Товары любого интернет-магазина. Н-р бытовая электроника. Даже в одной их категории может быть совокупно 100-200 характеристик. А категорий может быть неск. сотен.
По ключевым характеристикам на сайте есть фильтры.
Возьмите инфу по недвижимости. Там многие сотни х-к.
А еще есть запчасти, техн. оборудование, одежда и т.д.

Практически нет баз, где таких х-к мало. Их или много или очень много.

Почему нужно разжевывать такие простые вещи ?
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857719
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argohVosttВообще не понимаю про что вы говорите, чё вы хотите, вопрос можете конкретный задать?Вопрос все тот же: как это выглядит физически ? Товаров сотни тыщ. Видов характеристик товара десятки тыщ. Интересует хранение характеристик. Новые должны добавляться сразу, т.е. в бизнес-время. Никаких технологических окон.

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

У каждого рода товаров есть набор характеристик. Для каждого вида товаров, входящих в род, можно создать табличку с набором характеристик этого вида. Каждый конкретно товар, имеет какие то свои, присущие именно ему, а не роду и виду атрибуты тоже получает свою табличку... примерно так можно проектировать....
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857731
drynny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttSiemarglА в случае с EAV таких проблем нет.

Нет есть, и они просто огромные, колоссальные

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

Теперь наше решение на ES.

1. Добавляете новый атрибут в метамодель.
2. Создаётся событие добавление атрибута
3. Подсистема проекций ловит такое событие с создаёт колонку. При чем not null тоже допускается со значением по умолчанию
4. Далее в колонку с новым атрибутом будут писаться значения.

Все. Идеально. И данные строго нормализованы и никаких проблем с ограничениями целостности, в том числе со ссылочной целостностью .
«Мы же профессионалы, давайте просто достанем и померяемся» (с)

Вот как это делается в IdeaV:



Not null – это атрибут описания термина (в данном случае Телефон), и его поведение знает ядро, которое всё это собирает и обрабатывает.

А теперь зададим значение по умолчанию:




А теперь приведите вашу серию скриншотов, которые наглядно докажут вот это вот заявление:
hVosttВыгода очевидная, Профит космический, у вас на руках нормальная бд с человеческим лицом, а не кусок какахи, для которого нормальных запросов не напишешь.

Особенно доставляет наличие вот этого: «Подсистема проекций ловит такое событие с создаёт колонку»
«Без ядреных костылей», ага
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857740
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovldfanateосновной минус остался (отвратительная производительность на сколь нибудь больших объёмах).

Это миф, созданный теми, кто попытался прогнуть EAV под привычный квадратно-гнездовой
эксель, формируемый одним запросом и, естественно, облажался. Ибо не натягивается эта сова.


а раскажите как надо с этим работать плз.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857831
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторУ каждого рода товаров есть набор характеристик. Для каждого вида товаров, входящих в род, можно создать табличку с набором характеристик этого вида. Каждый конкретно товар, имеет какие то свои, присущие именно ему, а не роду и виду атрибуты тоже получает свою табличку... примерно так можно проектировать.... Так тоже иногда делают. Но в итоге этим сложно управлять. Справочник товара будет состоять из многих десятков, а то и сотен таблиц.
Строить отчетность по ним - одно удовольствие. :)
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857835
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo, строить отчётность по куче товаров можно только по общим параметрам.
Как засунуть (главное, зачем засовывать) в отчёт по обуви с разбивкой на мужскую/женскую/детскую с учётом сезонности и размерам, например посуду?
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857856
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoТак тоже иногда делают. Но в итоге этим сложно управлять.
Забавно. Вы понимаете, какие выводы следуют из этого высказывания, если предположить, что оно верно?

L_argoСтроить отчетность по ним - одно удовольствие
Даже любопытно, какие проблемы Вы видите. Скорее всего, такие же, как с историчностью и репликацией.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857879
drynny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr.FontaineL_argo, строить отчётность по куче товаров можно только по общим параметрам.
Как засунуть (главное, зачем засовывать) в отчёт по обуви с разбивкой на мужскую/женскую/детскую с учётом сезонности и размерам, например посуду?
Какая только галиматья не придет в голову диванным экспертам. Что самое интересное, авторство этого бреда они сразу же приписывают оппонентам.

Вот вам нормальная задача: выгрузить полный реестр товаров с характеристиками для сети дилеров, которые имеют разные системы, но понимают единый формат этого реестра.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857884
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.FontaineКак засунуть (главное, зачем засовывать) в отчёт по обуви с разбивкой на мужскую/женскую/детскую с учётом сезонности и размерам, например посуду?Ну почему посуду ? Например спортивную обувь. В ней много специфических параметров и вероятно для этих групп будут созданы отдельные таблицы параметров. Часть параметров неизбежно будет дублироваться для разных групп.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857903
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drynny, напишем процедуру, заполняющую этот формат.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857904
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drynnyВот вам нормальная задача: выгрузить полный реестр товаров с характеристиками для сети дилеров, которые имеют разные системы, но понимают единый формат этого реестра.
Вообще-то разговор идёт не о передаче данных из одной системы в другую, а об отчёте
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857908
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo Часть параметров неизбежно будет дублироваться для разных групп.
Однозначно будут. Одинаковые параметры пишутся в один столбец отчёта. Так?
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857911
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Fontainedrynny, напишем процедуру, заполняющую этот формат.
На вопросы об API пока не было ответов.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857917
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё, тут мне кажется мы обсуждаем не поделку автора темы. Я подтянулся к разговору L_agro со всем миром. А уж за мной подтянулся автор темы в разговор не по теме.

P.S. Да и зачем нам API, когда есть прямой доступ к таблицам.... Отсутствие API нам не препятствие.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857951
drynny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr.FontaineЯ подтянулся к разговору L_agro со всем миром. А уж за мной подтянулся автор темы в разговор не по теме.
Я тоже топлю за систему, выросшую из EAV, если что. И против антинаучных подходов с разреженными таблицами или кучей таблиц со сгруппированными характеристиками.

Mr.FontainedrynnyВот вам нормальная задача: выгрузить полный реестр товаров с характеристиками для сети дилеров, которые имеют разные системы, но понимают единый формат этого реестра.
Вообще-то разговор идёт не о передаче данных из одной системы в другую, а об отчёте
Ок, а если я вас попрошу сформировать ценники на все товары по цене 49 рублей (с их характеристиками, разумеется)?
Есть у меня отдел где всё по 49 или иной отдел, но тоже с неким признаком, хоть распродажа или VIP.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857977
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakovда, как человек будет в этом ориентироваться? в рамках каких задач? каждая задача или тип задач сильно ограничивают это разнообразие, и под каждую задачу вполне создается ограниченное количество таблиц, с ограниченным множеством полей. Задачи, в которой бы все это перечисленное, переливалось бы вместе подобно постмодернистской ризоме, я пока не видел .... все равно есть ограниченные сабсеты, между которыми есть интеграционные прослойки.

У каждого рода товаров есть набор характеристик. Для каждого вида товаров, входящих в род, можно создать табличку с набором характеристик этого вида. Каждый конкретно товар, имеет какие то свои, присущие именно ему, а не роду и виду атрибуты тоже получает свою табличку... примерно так можно проектировать....
Я уже выше давал ссылку на яндекс маркет, там сотни второстепенных характеристик для товаров, по которым пользователи хотели бы иметь поиск, например я хочу найти стиральные машины с вертикальной загрузкой и инверторным двигателем, причем категория вертикальная/горизонтальная значимая характеристика (основная) для стиральных машин и она есть во всех интернет-магазинах, а тип двигателя уже характеристика дополнительная и во многих магазинах этого атрибута нет, буду ли я искать в магазинах которые не предоставляют мне возможности найти интересующий меня товар? В категории мониторы я например по мимо диагонали, разрешения и типа матрицы захочу отсутствие мерцания и т.п. У меня знакомый автомобиль ищет исходя из критерия наличия расширенной функции круиз контроля - ограничителя скорости, очень мало бюджетных автомобилей имеют эту функцию, причем для него это обязательный критерий, тут не то что информационные системы, многие менеджеры не понимают о чем идет речь, что это не какая то пищалка о превышении, а физическое ограничение при штатном режиме, т.е. если ты плавно нажимаешь на педаль газа скорость автомобиль не превысит заданного значения, при резком нажатии на газ функция будет временно отключена.

Предлагаете создавать по таблице на каждый артикул? Думаю это совершенно нецелесообразно, сложность разработки и поддержки такой системы будет колоссальная. Использовать некий отличный от РСУБД инструмент, который бы инкапсулировал объект целиком, да возможно и в дальнейшем с появлением нейросетей в железе и с отказом от центрального процессора так и будет, но это уже совсем в другой жизни.

В настоящее время для решения такого рода задач в разрезе РСУБД хорошо подходят два механизма, для основных свойств - гибкие поля по аналогии механизма реализованного в OEBS и EAV-подобные структуры для второстепенных характеристик, при этом добавление новой характеристики не требует изменения таблиц и интерфейса пользователя, программист для этого не нужен.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857984
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drynnyЯ тоже топлю за систему, выросшую из EAV, если что. И против антинаучных подходов с разреженными таблицами или кучей таблиц со сгруппированными характеристиками.
Ну и зря, ищите другие инструменты, рсубд вам не подходят они основаны на антинаучной по вашему мнению реляционной алгебре.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39857996
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drynnyА теперь приведите вашу серию скриншотов, которые наглядно докажут вот это вот заявление:
hVosttВыгода очевидная, Профит космический, у вас на руках нормальная бд с человеческим лицом, а не кусок какахи, для которого нормальных запросов не напишешь.

Я не понимаю на что смотреть.
На унылый и примитивный дизайнер сущностей?
Такое 100 раз видел, и даже делали мы в 2007 году прям вот такое, и да -- на еав, дружище.
Но это был 2007 год, не думал что больше чем через 10 лет меня будут пытаться удивить такой вот детской фигнёй.

Выпрашивать у меня скринов, кусков кода и т.д. не нужно, я их не покажу. Проект закрытый, что-то показывают только потенциальным заказчикам.
На вопросы по реализации отвечаю без проблем.


drynnyОсобенно доставляет наличие вот этого: «Подсистема проекций ловит такое событие с создаёт колонку»
«Без ядреных костылей», ага


Сцук.. вы с каких глухих деревень повылезли и с каких деревьев слезли? ES уже много лет, а в последние годы активно рассказывают на конфах, статьи, книги -- всё есть. Можем пора вылезти из танка?
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858000
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttES уже много лет, а в последние годы активно рассказывают на конфах, статьи, книги -- всё есть. Можем пора вылезти из танка?
Реальные коммерческие системы, внедрения?
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858002
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drynnyЯ тоже топлю за систему, выросшую из EAV, если что.

Когда вас биайщики изобьют палками за уг вместо нормальной человеческой бд, тож будете топить? :)
Потом придут суровые чуваки, отвечающие за оптимальное расходование серверных ресурсов, и ещё добавят от себя за 100% индексы :)

Лан.. я понял, тут уровень трёх-колёсного велосипедостроения, топите ради бога, главное чтобы приносило удовольствие.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858003
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDevhVosttES уже много лет, а в последние годы активно рассказывают на конфах, статьи, книги -- всё есть. Можем пора вылезти из танка?
Реальные коммерческие системы, внедрения?

Естественно. И гос структуры тоже.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858008
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЕстественно. И гос структуры тоже.
Я не про конкретно вашу закрытую и известную в очень узких кругах систему, а про то что продается и внедряется не в госструктурах, можете дать названия таких систем и где их внедряли?
...
Рейтинг: 0 / 0
25 сообщений из 454, страница 11 из 19
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как назвать эту структуру и подход, основанные на EAV?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]