|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVosttЯ говорю про поделки-конструкторы, которые тут на sql.ru обсуждаютсяПоделки тоже продаются. И готовые решения на них. Среди них не все финансово успешные, но тем не менее эта тема не гаснет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 13:52 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
L_argo, Да кто ж против-то? Я с точек зрения: разработки, пользователя и бизнеса хотел бы увидеть преимущества этих решений, киллер-фичи, крутую, качественную, современную реализацию. Удобные, быстрые решения, чего ещё не делали раньше, чего ещё нет на рынке. Хоть что-то такое, чего не делали 20 лет назад, потому что унылое велосипедостроение не представляет никакого интереса, ни для бизнеса, ни технически и вообще уже надоело и набило оскомину. Ну невозможно без слёз смотреть на очередную наивную реализацию MS Access-а, например. Или попытку повторить 1С, на сомнительных, скучных и наивных решениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 14:30 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
Ключевое тут, устарелое, застарелое. Хочется так и сказать, человек открыл для себя какой-нибудь дельфи, всё -- держись 1С! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 14:31 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
drynnyMegabyteпропущено... А тип поля для Value у вас какой выбран? Концептуально – это байты данных, трактуемые в зависимости от их типа. В существующих приложениях и сервисах – это текстовое поле, в котором также текстом хранятся числовые значения, в т.ч. datetime. Данные можно преобразовать к тому виду, в котором они хранятся, чтобы использовать индекс. Затруднение вызывает только применение индекса к диапазону чисел, потому что у них различается порядок — нельзя ранжировать по первым цифрам, нужно считать всё число. поэтому вся арифметика потянет за собой конвертации. ну и - для хранения каждого, абсолютно каждого числа отдельная запись в таблице БД. Просто из любопытства - объемы сравнивали? Сколько на мускуле займут объекты, когда таблички уложены по простому, и сколько - когда через квинтеты? В старые, не помню уж насколько добрые времена занимался я OEBS. B и там, конечно все было сделано на нормальных таблицах. А для пользовательской гибкости, таблицы объектов дополнялись десятком - другим текстовых полей и полем - тэгом, говорившим о том, как это надо трактовать. это называлось описательным гибким полем - descriptive flex field. Если таковой конструкт отселялся в отдельную таблицу, а в основной оставался только ключ - ссылка, это получалось ключевое гибкое поле KFF. Через эти штуки бизнес-сущности обогащались настраиваемыми пользователями аттрибутами ..... ну так, к слову. Если юзеры которым внедрено довольны - все хорошо... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 15:02 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
Vladimir Baskakov, Самое смешное, что в СУБД сто лет назад придумали колонки с типом, ограничениями, ссылочной целостностью, с оптимизацией хранения, с дескрипшенами и прочим. Как раз для того, чтобы потом поверх лепили костыли в виде EAV и кривых "квинтетов", чтобы решать проблему с типами полей ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 16:28 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVosttСамое смешное, что в СУБД сто лет назад придумали колонки с типом, ограничениями, ссылочной целостностью, с оптимизацией хранения, с дескрипшенами и прочим. У СУБД есть фатальный недостаток . ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 16:30 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVosttVladimir Baskakov, Самое смешное, что в СУБД сто лет назад придумали колонки с типом, ограничениями, ссылочной целостностью, с оптимизацией хранения, с дескрипшенами и прочим. Как раз для того, чтобы потом поверх лепили костыли в виде EAV и кривых "квинтетов", чтобы решать проблему с типами полей Пустое замечание. Ниачомъ. Реши нам простой кейс: товарам (их миллион и они разнородные) нужно добавлять параметры. Как в интернет-магазине. И фильтровать по этим параметрам. В двух словах, но по сути. По строчке на вариант. Вариант 1: все свалить в XML/JSON. Вариант 2: классический EAV Итак, мы внимательно слушаем про другие варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 17:25 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
L_argoВариант 1: все свалить в XML/JSON. Вариант 2: классический EAV Вариант 3: широкая таблица с отдельным столбцом на каждый параметр. Многие СУБД поддерживают так называемые разреженные столбцы (sparse column), так что место не будет тратиться впустую. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 17:40 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
softwarerhVosttСамое смешное, что в СУБД сто лет назад придумали колонки с типом, ограничениями, ссылочной целостностью, с оптимизацией хранения, с дескрипшенами и прочим. У СУБД есть фатальный недостаток . СУБД придумали во времена дефицита ресурсов, а далее они больше полувека развивались экстенсивным путем. Таким же путем с брутальной упорностью человечество пыталась сделать однотабличные и прочие конструкторы, сохранив для потомков ярчайшие примеры былинных неудач, как вот этот: https://www.simple-talk.com/opinion/opinion-pieces/bad-carma/ . Описанный в теме подход возвращает нас во времена незамутненного докерами и кубернетесами разума и даже еще раньше, когда зараза ООП не разъела мозг энтузиастов, когда можно было начать с чистого листа и применить разумную избыточность хранения и вычисления там, где это действительно выгодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 21:42 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
Vladimir Baskakovпоэтому вся арифметика потянет за собой конвертации. ну и - для хранения каждого, абсолютно каждого числа отдельная запись в таблице БД. Просто из любопытства - объемы сравнивали? Сколько на мускуле займут объекты, когда таблички уложены по простому, и сколько - когда через квинтеты? В старые, не помню уж насколько добрые времена занимался я OEBS. B и там, конечно все было сделано на нормальных таблицах. А для пользовательской гибкости, таблицы объектов дополнялись десятком - другим текстовых полей и полем - тэгом, говорившим о том, как это надо трактовать. это называлось описательным гибким полем - descriptive flex field. Если таковой конструкт отселялся в отдельную таблицу, а в основной оставался только ключ - ссылка, это получалось ключевое гибкое поле KFF. Через эти штуки бизнес-сущности обогащались настраиваемыми пользователями аттрибутами ..... ну так, к слову. Если юзеры которым внедрено довольны - все хорошо... Сравнивал объемы. Не поленюсь ещё раз дать ссылку: habr.com/ru/company/neoflex/blog/451218/#volumes Да тут все читатели и писатели в ветке вспоминают свой опыт с улыбкой скрывающего боль Гарольда, у всех что-то было и кончилось, скажем так, неидеально. Про карму почитайте, обязательно, я выше дал ссылку. Есть бесконечное количество способов сделать что-то, и не всегда удается прийти к успеху. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 21:53 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
Вариант 3: широкая таблица с отдельным столбцом на каждый параметр.Очень плохой вариант. Типов параметров может быть многие тысячи. Даже не все СУБД умеют создавать такие таблицы. Тем более такой вариант не позволит хранить более одного значения параметра или зависимость параметра от времени. Создание параметров на лету тоже может вызвать большие проблемы. Не говоря уже о репликации данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2019, 09:01 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
Mr.FontainedrynnyИтак, пока в финале 2 названия: QDM – Quintet Data Model – уникально идентифицирует подход IdeaV – содержит ID, EAV, V (пять – квинтет) и в целом выглядит модно Ну в таком случае, естественно должна победить лёгкая и красивая "идея ви", а не аморфный "кьюди эм" По-русски QDM будет «квинтетная модель данных», да, не очень звучит. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 13:35 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
авторпростой кейс: товарам (их миллион и они разнородные) нужно добавлять параметры во времена СССР очень любили всё подряд классифицировать (целые НИИ, ЦНИИ при отраслевых министерствах и проч. над этим штаны протирали :). Все эти миллионы товаров наверное могут быть классифицированы по какому либо Общероссийскому классификатору? Т.е. количество категорий товаров - величина конечная. А значит можно спроектировать какоето ограниченное количество реляционных таблиц, которые бы какойто обобщённый набор характеристик (атрибутов) товара хранили бы в конечном наборе таблиц БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 09:50 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
L_argoПустое замечание. Ниачомъ. Сурьёзно? L_argoРеши нам простой кейс: товарам (их миллион и они разнородные) нужно добавлять параметры. Как в интернет-магазине. И фильтровать по этим параметрам. В двух словах, но по сути. По строчке на вариант. Вариант 1: все свалить в XML/JSON. Вариант 2: классический EAV Итак, мы внимательно слушаем про другие варианты. Я уже говорил. CQRS + Event Sourcing + нормальные проекции в SQL с нормальными колонками, типами, ограничениями и полным набором всей целостности, полный фарш в ваши руки. Как нормализованные, так и не нормализованные. Для конкретных больных извращенцев можно даже делать EAV проекции Никакого убогого УГ в виде EAV и всех его не менее убогих вариаций, который является ни чем иным, как результат ограниченного, импотентного мышления. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 09:54 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVosttCQRS + Event Sourcing + нормальные проекции в SQL с нормальными колонками, типами, ограничениями и полным набором всей целостности, полный фарш в ваши руки. и какими инструментами сие реализуется? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 22:28 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
ёёёёёи какими инструментами сие реализуется? видимо CQRS + Event Sourcing Когда хочется ввернуть умное слово прочитанное вчера в интернете, то контекст значения не имеет. На своих фрилансерских проектах он видимо так и развлекается - когда в руках молоток, то вокруг одни гвозди ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 03:05 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
ёёёёёи какими инструментами сие реализуется? мы на C# писали, знакомые коллеги на Java, другие знакомые коллеги на Go stenfordвидимо CQRS + Event Sourcing Когда хочется ввернуть умное слово прочитанное вчера в интернете, то контекст значения не имеет. На своих фрилансерских проектах он видимо так и развлекается - когда в руках молоток, то вокруг одни гвозди когда нечего по существу сказать, но очень сильно хочется, стенфорд по своему обыкновению зачем-то выставляет себя дурачком на форуме. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 14:27 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVosttёёёёёи какими инструментами сие реализуется? мы на C# писали, знакомые коллеги на Java, другие знакомые коллеги на Go ... С вами все ясно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 15:05 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
ldfanateВсе эти миллионы товаров наверное могут быть классифицированы по какому либо Общероссийскому классификатору? Т.е. количество категорий товаров - величина конечная. А значит можно спроектировать какоето ограниченное количество реляционных таблиц, . Ни один классификатор не покроет всех задач, потому что с точки зрения методологии в учете могут быть разные ракурсы и срезы, и нет единственно верного. поэтому какую то гибкость в параметризации оставлять необходимо. Но, делать на этой гибкости все сверху донизу, вряд ли целесообразно. По моему. Это одно из возможных по вопросу мнений ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 16:27 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
ёёёёёС вами все ясно. вот это вряд ли ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 16:45 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
автор потому что с точки зрения методологии в учете могут быть разные ракурсы и срезы, и нет единственно верного. поэтому какую то гибкость в параметризации оставлять необходимо. Ну по видам характеристик (характеристики веса товара, характеристики материала изготовления товара, характеристики производителя товара, характеристики товарной упаковки и проч.) можно ведь покрыть все даже достаточно дикие классификации. Это в каком то смысле будет чтото переходное между идеологией EAV и противоположной ей "пихаем все атрибуты поколоночно в одну гигантскую разреженную таблицу". И скорее всего порождать достаточно дикие планы поисковых запросов. Но всёравно почемуто думается что задача вполне решается классическим реляционным подходом, а не наслоением EAV на глобус. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2019, 09:14 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
Но всёравно почемуто думается что задача вполне решается классическим реляционным подходом, а не наслоением EAV на глобусА вы не думайте, а реализуйте. Потом нам расскажете об успехах, если таковые будут. Вместе и посмеёмся. Это будет весело. И не сомневайтесь. Особенно интересно будет с различными интеграциями и синхронизациями. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2019, 08:58 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
ldfanate... наслоением EAV на глобус. Вот вам не дает покоя этот глобус... Хотя мне тоже нравится тот анекдот. Квинтетная модель сама по себе весьма проста, её можно постичь за 20 минут. Но вам ничего натягивать не нужно, потому что есть конструктор , он всё сделает за вас. Ваша задача: продумать и описать структуру в визуальном конструкторе, а далее соблюдать 3 простых правила при проектировании запросов. Всё, о чем вы тут так страшно рассуждаете, будучи далеко не в материале, уже давно сделано, протестировано и работает. Вот, кстати, свежак: habr.com/ru/post/465161 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2019, 10:37 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
L_argo Но всёравно почемуто думается что задача вполне решается классическим реляционным подходом, а не наслоением EAV на глобусА вы не думайте, а реализуйте. Потом нам расскажете об успехах, если таковые будут. Вместе и посмеёмся. Это будет весело. И не сомневайтесь. Особенно интересно будет с различными интеграциями и синхронизациями. Абсолютно все оппоненты уже пробовали, причем неоднократно. Многие при этом облажались самым жалким образом, поэтому неприемлют возможность преуспеть на поприще EAV: «у меня не получилось» = «это невозможно». ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2019, 10:40 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
L_argo Но всёравно почемуто думается что задача вполне решается классическим реляционным подходом, а не наслоением EAV на глобусА вы не думайте, а реализуйте. Потом нам расскажете об успехах, если таковые будут. Вместе и посмеёмся. Это будет весело. И не сомневайтесь. Особенно интересно будет с различными интеграциями и синхронизациями. Ну наблюдал много лет данное решение в ПАО "Газпром" - там номенклатура единого корпоративного справочника МТР куда как ширше, чем у вебмагазинов. И интеграций в части его ведения и использования там немало наворочено, всё прекрасно работает на реляционках. Ещё лучше (слышал но не видел лично) удался справочник у МТРщиков Росатома, у них тоже номенклатура очень - там даже классификации и атрибуты МТР соотносятся с некой "обобщённой номенклатурой", которую на порталах госзакупок необходимо заявлять, в целях соблюдения требований последних тендерных ФЗ. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2019, 12:08 |
|
|
start [/forum/topic.php?fid=32&msg=39848930&tid=1539762]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 240ms |
total: | 376ms |
0 / 0 |