|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVosttНо надо головой сильно удариться, чтобы подобное использовать на проде. hVosttПроблема тут в том, что конструктор непонятно зачем в итоге нужен, и ничего он там не сделает за нас, всё равно нужно конструировать. А раз всё равно нужно конструировать, то почему бы не взять широко известные, понятные многим инструменты? При чём инструменты можно взять любые, они все совместимы с SQL, выбранной парадигмой реляционных и/или нереляционных БД. В вашем же случае предлагается прибить себя за яйца ржавыми гвоздями к какой-то поделке, без хоть каких-то видимых преимуществ. :) hVosttПользы от квинтетов и еав бизнесу как от гомна на лопате :) Какой-то наколеночный конструктор, никому неизвестный, с абсолютно пустым рынком спецов и отсутствием перспектив его наработать -- не надо и забесплатно. Перспектива "пользователь лабает модели данных в конструкторе", где этим пользователем представляется сам бизнес -- это как свалить перед офисом кучу кирпичей и мешков с цементов -- на мужик, сам строй, всё очень удобно, обещаем! Вам привели аргументы, ссылки на конкретные описания, тесты, замеры, работающие сервисы. Где ваши аргументы? Не в виде летящих абстрактных какашек с нелепыми аллегориями, а нормальные доводы? Например, покажите, что вы хоть сколько-нибудь понимаете о чем тут речь, ответьте: какая нормальная форма используется в этом решении? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 10:23 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
Vladimir Baskakovну в конце концов, автор внедрил и оно работает, так что почему бы и да. Но, особо острого желания использовать не возникло пока. Другое дело, если в будущем автор запилит свой, квинтет ориентированный движок данных , то возможно, это будет круто и модно. а если еще и на своем языке, то вообще няшно. Если там вообще все будет внутри квинтет-ориентированно, как в лиспе - на атомах и диадах, вообще все. А так ну.... есть и есть. Я иду к этому, и реализация движка достаточно проста. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 10:25 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
L_argoУверенная позиция в Gartner тоже прыщавый бред ? в огороде бузина, а в киеве дядька L_argoВы тупее, чем я думал. вы переоцениваете свои способность по поводу "думал" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 12:56 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
drynny, Подкину дровишек в топку. EAV (и подобное) поверх реляционной СУБД реализовывать, как тут и сказали, действительно идея плохая. Как минимум потому, что накладные расходы на реализацию EAV идут поверх расходов на реляционность (а они большие, в угоду универсальности). А вот поверх иерархической БД - милое дело, почти идеально. Смотрим mumps, gtm и им подобные вот в этой ветке форума Только про язык MUMPS забыть как страшный сон, а прикрутить что то современное. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 13:15 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
drynnyВам привели аргументы, ссылки на конкретные описания, тесты, замеры, работающие сервисы. Где ваши аргументы? Не в виде летящих абстрактных какашек с нелепыми аллегориями, а нормальные доводы? Доводы простые, я их уже приводил. Так как вы их не нашли, судя по всему вам не очень-то интересно. 1. С нормальной нормализованной БД работать может любой разработчик, аналитик, BI-щик и другие заинтересованные лица. 2. Нормальные таблицы хранят данные по колонкам с соответствующими типами, ограничениями, поддержкой целостности со стороны БД, это всё работает максимально быстро, оптимально, компактно, так как это заложено в самой природе СУБД. 3. В вашем случае более менее приемлемая производительность вытягивается индексами, в то время как те же индексы в нормальных таблицах, особенно если правильно расставлены, работать будут намного быстрее ваших костылей. 4. Как следствие, покрытие всё 100% индексами, ожидаемый результат архитектуры на костылях Ваша архитектуры не может быть охарактеризована никак иначе, как костыли и подпорки в чистом виде. Переусложнённые кривые концепции, которые ничего не решают и не дают ничего. drynnyНапример, покажите, что вы хоть сколько-нибудь понимаете о чем тут речь, ответьте: какая нормальная форма используется в этом решении? Никакая. Но вы конечно можете думать иначе. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 13:15 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
drynny, и должен добавить. в тему, у меня есть в активе разработка и внедрение систем, основанных на конструкторе. да, всё верно. с мета-моделью (макро-типы, инфо-типы, домены, ссылки...), динамическая, можно даже мышкой "сверстать" бизнес модель данных. всё это мы делали. и всё это интегрировано и работает. при этом все данные хранятся в нормализованных таблицах, идеально нормализованных, идеально разложенных по колонкам, FK связями, ограничениями, правильными индексами где они нужны, с аннотациями и прочим-прочим. и всё это поддерживается системой. рай для BI-щика. плюс к этому полноценные DSL для программирования бизнес-логики на самом высоком уровне (не требуются квалифицированные программисты) в терминах бизнеса. чистый DDD. и всё это на CQRS, Event Sourcing. никакого уродливого кривого EAV нам для этого не понадобилось. нет его даже в зачатках. про конструктор. его особо не афишировали, и в планах продавать его нет и не было. почему? потому что это инструмент для зарабатывания денег. он хорош и он работает, зачем его отдавать кому-то налево? бизнесу нужны конечные решения, и он их получает дешёво, быстро, оперативно. поэтому когда я вижу, как кто то выпячивает свои конструкторы, мне становится кристально очевидно: значит это говно полное. раз не получилось его использовать для разработки. продать хотя бы так, навешав порцию лапши кому-то на уши. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 13:28 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
Нормальные таблицы хранят данные по колонкам с соответствующими типами, ограничениями, поддержкой целостности со стороны БД, это всё работает максимально быстро, оптимально, компактно, так как это заложено в самой природе СУБД.В принципе так и есть, но есть нюанс: с такими метаданными трудно работать. Нужно каждую таблицу/поле обернуть кодом, раздать права и т.д. Добавление колонок в большую таблицу может привести к тяжелым последствиям в нагруженном проде. Эти постоянно меняющиеся таблицы сложно реплицировать, мигрировать и репортить. Система управления такими метаданными будет сложной. Таблиц и полей в общем случае будет эпично много даже в небольших проектах. Доработки потребуют больше времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 13:29 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
L_argoВ принципе так и есть, но есть нюанс: с такими метаданными трудно работать. Нужно каждую таблицу/поле обернуть кодом, раздать права и т.д. Добавление колонок в большую таблицу может привести к тяжелым последствиям в нагруженном проде. Эти постоянно меняющиеся таблицы сложно реплицировать, мигрировать и репортить. Система управления такими метаданными будет сложной. Таблиц и полей в общем случае будет эпично много даже в небольших проектах. Доработки потребуют больше времени. читайте выше. ничего сложного в этом нет. мета-данные можно хранить и управлять ими отдельно, у меня никаких претензий к этому нет, это нормальная и правильная практика. просто дальше EAV многие не смогли продвинуться. каменный век в головах и неспособность находить качественные, эффективные, не обязывающие решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 13:33 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVostt.... и всё это на CQRS, Event Sourcing. никакого уродливого кривого EAV нам для этого не понадобилось. нет его даже в зачатках. .... На первый взгляд выглядит еще страшнее. Как решена задача - в программе получить объект (отчет, сущность) в версии структуры, которая была скажем 10 итераций изменений структуры ранее ? Можно даже форкнуть в отдельную тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 14:04 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
SiemarglКак решена задача - в программе получить объект (отчет, сущность) в версии структуры, которая была скажем 10 итераций изменений структуры ранее ? подсказываю... 1. Event Sourcing -- вы можете вообще получить систему в идеальном состоянии на любой момент времени её существования без лишних артефактов. 2. Event Sourcing -- вы делаете сколько угодно проекций под разные задачи. идеально строго нормализованная структура БД -- это лишь одна из авто-проекций. бизнесу часто требуются денормализованные данные. отдельные микросервисы могут создавать и вести свои проекции без зависимости от общих изменений модели данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 14:15 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
SiemarglНа первый взгляд выглядит еще страшнее. это сложнее. поэтому многие и не лезут дальше, чем могут осилить -- еав ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 14:16 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVosttSiemarglКак решена задача - в программе получить объект (отчет, сущность) в версии структуры, которая была скажем 10 итераций изменений структуры ранее ? подсказываю... 1. Event Sourcing -- вы можете вообще получить систему в идеальном состоянии на любой момент времени её существования без лишних артефактов. 2. Event Sourcing -- вы делаете сколько угодно проекций под разные задачи. идеально строго нормализованная структура БД -- это лишь одна из авто-проекций. бизнесу часто требуются денормализованные данные. отдельные микросервисы могут создавать и вести свои проекции без зависимости от общих изменений модели данных. Т.е в любом запросе должна быть указан номер/версия [автосгенерированной] проекции. Или сгенерирован мискросервис нужной версии. Честно говоря, выглядит хрен редьки не слаще ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 14:41 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
SiemarglhVosttпропущено... подсказываю... 1. Event Sourcing -- вы можете вообще получить систему в идеальном состоянии на любой момент времени её существования без лишних артефактов. 2. Event Sourcing -- вы делаете сколько угодно проекций под разные задачи. идеально строго нормализованная структура БД -- это лишь одна из авто-проекций. бизнесу часто требуются денормализованные данные. отдельные микросервисы могут создавать и вести свои проекции без зависимости от общих изменений модели данных. Т.е в любом запросе должна быть указан номер/версия [автосгенерированной] проекции. Или сгенерирован мискросервис нужной версии. Честно говоря, выглядит хрен редьки не слаще Выглядит таким же лютым кабздецом как вот тут в соседней ветке коллега выкладывал: sql.ru/forum/1234375-3/programmirovanie-bd-otchetov-i-zaprosov-bez-programmirovaniya#19943752 Только у этого товарища всё настолько хуже, что даже показать стремается, а не то что дать демо-доступ и подробную информацию. Если он вообще не сочинил всё это на ходу. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 15:03 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVosttdrynnyНапример, покажите, что вы хоть сколько-нибудь понимаете о чем тут речь, ответьте: какая нормальная форма используется в этом решении? Никакая. Но вы конечно можете думать иначе. Слив засчитан. Данные в таблице по-любому в какой-то нормальной форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 15:05 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
drynnyДанные в таблице по-любому в какой-то нормальной форме. Да ну правда что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 15:06 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
hVosttSiemarglНа первый взгляд выглядит еще страшнее. это сложнее. поэтому многие и не лезут дальше, чем могут осилить -- еавЯ тут пример придумал. 1. Жила была в базе 10лет сущность Сотрудник с полем Зарплата. 2. После некоторых изменений бизнеса база изменилась. Теперь у Сотрудника есть Зарплата и Премия. 3. После очередной итерации Базовый_оклад, Премия_за_выслугу_лет, Штрафы, Прочие_выплаты Другие связанные таблицы тоже менялись несинхронно с этой. Приходит Нач.кадров и говорить - а скажите мне среднюю Иванова за последние 10 лет! Как это на практике будет выглядеть на CQRS, Event Sourcing ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 15:18 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
softwarerdrynnyДанные в таблице по-любому в какой-то нормальной форме. Да ну правда что ли? Да. Хотя бы в 1НФ ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 15:19 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
SiemarglДа. Хотя бы в 1НФ (открыл блокнотик и приготовился записывать всех, кто не умеет создать таблицу, нарушающую 1НФ) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 15:21 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
softwarerdrynnyДанные в таблице по-любому в какой-то нормальной форме. Да ну правда что ли? Так, один пионер немедленно спалился. Сейчас ещё хвост придет с рассказом, как записывал в одну ячейку экселя номера объектов через запятую, разрывая шаблоны нормальных форм. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 15:24 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
Приходит Нач.кадров и говорить - а скажите мне среднюю Иванова за последние 10 лет! Как это на практике будет выглядеть на CQRS, Event Sourcing ? Сейчас Хвостт "ответит уклончиво" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 15:30 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
SiemarglhVosttпропущено... это сложнее. поэтому многие и не лезут дальше, чем могут осилить -- еавЯ тут пример придумал. 1. Жила была в базе 10лет сущность Сотрудник с полем Зарплата. 2. После некоторых изменений бизнеса база изменилась. Теперь у Сотрудника есть Зарплата и Премия. 3. После очередной итерации Базовый_оклад, Премия_за_выслугу_лет, Штрафы, Прочие_выплаты Другие связанные таблицы тоже менялись несинхронно с этой. Приходит Нач.кадров и говорить - а скажите мне среднюю Иванова за последние 10 лет! Как это на практике будет выглядеть на CQRS, Event Sourcing ? Кусочечно. :) Вычисляется средняя для каждого подпериода стабильности структуры. Потом вычисляется за весь период. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 15:37 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
ёёёёёSiemarglпропущено... Я тут пример придумал. 1. Жила была в базе 10лет сущность Сотрудник с полем Зарплата. 2. После некоторых изменений бизнеса база изменилась. Теперь у Сотрудника есть Зарплата и Премия. 3. После очередной итерации Базовый_оклад, Премия_за_выслугу_лет, Штрафы, Прочие_выплаты Другие связанные таблицы тоже менялись несинхронно с этой. Приходит Нач.кадров и говорить - а скажите мне среднюю Иванова за последние 10 лет! Как это на практике будет выглядеть на CQRS, Event Sourcing ? Кусочечно. :) Вычисляется средняя для каждого подпериода стабильности структуры. Потом вычисляется за весь период.А если в базе овер 1000 версий структуры? Однозначно же сказать, что затронуто каждым изменением и влияет ли это на результат - слишком сложно. Подожду ответа практика. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 17:15 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
drynnyСлив засчитан. Данные в таблице по-любому в какой-то нормальной форме. Нет, не по-любому, вы ошибаетесь. Поэтому выглядите вы жалко со своим "сливом", чесслово. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 17:18 |
|
Как назвать эту структуру и подход, основанные на EAV?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 17:20 |
|
|
start [/forum/topic.php?fid=32&msg=39856706&tid=1539762]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 171ms |
0 / 0 |