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

Все статьи еще нечитал. Много материала. Выписал список.

Квинтет как базовая сущность для описания предметной области
https://habr.com/en/company/neoflex/blog/433058/

Запатентованная мечта программистов 80-90-х
https://habr.com/en/post/358934/

Альтернативная архитектура СУБД и подход к разработке приложений
https://habr.com/en/post/346816/

Запатентованная мечта программиста — часть II
https://habr.com/en/post/414255/

Business Intelligence по-русски — на квинтетах
https://habr.com/en/company/neoflex/blog/451218/

Что мне пока не нравится.

1) Не приводится сравнительный бенчмарк системы ДО
декомпозиции на квинтеты и после. Не нашел нигде технических деталей по индексной организации.

2) Я нарисовал для себя базовую DML но как все понимают без индекса она - неэффективна
а беря во внимание универсализм подхода... все петабайты нужно толкать в одну табличку
его (индекс) обсуждать НУЖНО. Он является частью АРХИТЕКТУРЫ.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE quintet(
    id NUMBER PRIMARY KEY,
    order NUMBER NOT NULL,
    parent NUMBER,
    datatype NUMBER,
    value VARCHAR2(4000)
);



Если я где-то ошибся в базовой DML - прошу поправить меня.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858973
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Как реализуются несколько предков для одной сущности и соотношения многие ко многим?
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858974
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В квинтетной модели? Понятия не имею.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858979
drynny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDevmayton,

Как реализуются несколько предков для одной сущности и соотношения многие ко многим?
По первой ссылке в сообщении mayton 21966285 рассматривается структура для вот этих данных:



Давайте её разберем.
Здесь есть ссылка на справочник состояний (1 заявка — 1 состояние) и связанная таблица комментариев (1 заявка — много комментариев)

Вот это структура квинтета:



В метаданных есть базовые типы (строка, число, файл, текст, дата и так далее):



и пользовательские типы (стрелками показано как они связаны):



А вот как хранятся сами данные:



Но пользователю мы их показываем в более привычном виде. Структура:



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


iOracleDev,

видимо до раздела учебника "многие ко многим" ТС не дошёл, надо же было скорее разобраться с патентованием и придумывать название гениального решения для патента

drynnyiOracleDevКак реализуются несколько предков для одной сущности и соотношения многие ко многим?
По первой ссылке в сообщении mayton 21966285 рассматривается структура для вот этих данных:

это шедевр! М:М в примере-то где? :)
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858982
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drynny, вы пишете все что угодно но только не DDL.

Зачем вы приводите пример конкретной задачи с заявками и комментариями? Я-же это не спрашиваю. Я - спрашивую другое.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858984
drynny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton1) Не приводится сравнительный бенчмарк системы ДО
декомпозиции на квинтеты и после. Не нашел нигде технических деталей по индексной организации.
Сравнение систем, быстродействия и планов запросов приведено в четвертой ссылке вашего сообщения:
Запатентованная мечта программиста — часть II
habr.com/ru/post/414255

Про индексы написано в стартовом сообщении этой темы:
Для навигации в этом списке построены 3 упорядоченных указателя – индексы: ID, Entity+Attribute, Attribute+Value

mayton2) Я нарисовал для себя базовую DML но как все понимают без индекса она - неэффективна
а беря во внимание универсализм подхода... все петабайты нужно толкать в одну табличку
его (индекс) обсуждать НУЖНО. Он является частью АРХИТЕКТУРЫ.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE quintet(
    id NUMBER PRIMARY KEY,
    order NUMBER NOT NULL,
    parent NUMBER,
    datatype NUMBER,
    value VARCHAR2(4000)
);



Если я где-то ошибся в базовой DML - прошу поправить меня.
В целом правильно.
Для Value мы используем 127 байт, а всё, что превышает, записываем в подчиненные записи с типом 0 и заданной очередностью.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858985
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drynnymayton1) Не приводится сравнительный бенчмарк системы ДО
декомпозиции на квинтеты и после. Не нашел нигде технических деталей по индексной организации.
Сравнение систем, быстродействия и планов запросов приведено в четвертой ссылке вашего сообщения:
Запатентованная мечта программиста — часть II
habr.com/ru/post/414255

Дружище! Да ты совсем не умеешь презентовать результаты своих достижений!
Я расчитывал увидеть вывод. Дескыть квинтетная системы позволяет сэкономить 30%
датасемгента и бла-бла... упростить дизайн и в то-же время дает просадку
на 15% по сравнению с классической реляционной моделью на конкретных
запросах конкретной продуктовой задачи.

Этого нигде нет! Это разбросано по всей статье равномерным слоем! Это - не акцентировано.
А ведь это - главное.

В целом правильно.
Для Value мы используем 127 байт, а всё, что превышает, записываем в подчиненные записи с типом 0 и заданной очередностью.
Но зачем? БД - позволяет!
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858989
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

а в статьях там все графики, взятые с потолка, и ничего, что можно было бы взять и проверить самому на практике.

об этом уже и в комментариях писали, но ТС тупо наплевал. вот вам нарисовал в пейнте красные и зелёные линии, не хотите -- не верьте дело ваше
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858990
drynny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttmayton,

а в статьях там все графики, взятые с потолка, и ничего, что можно было бы взять и проверить самому на практике.

об этом уже и в комментариях писали, но ТС тупо наплевал. вот вам нарисовал в пейнте красные и зелёные линии, не хотите -- не верьте дело ваше
Не гоните, да не гонимы будете.
Там везде есть ссылки самому пощупать, часто с админскими правами.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858991
drynny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDevmayton,

Как реализуются несколько предков для одной сущности и соотношения многие ко многим?

Собственно Многие-ко-многим будут выглядеть так:
iduptypordval348300Гость349300Номер3501300Бронирование351348003523490035335135013553523502

Для вот такой структуры, когда много гостей бронируют много номеров:

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

Пока ни в статьях, ни по ссылкам нет ничего, что можно было бы прогнать локально на своём железе.
Что толку щупать ваш интерфейс с админскими правами? Речь про бенчмарки и возможность написать, например, рекурсивные табличные запросы, оконные функции, сложные выборки со сложными подвыборками и т.д. и т.п.

Поэтому выглядит это как шоу с фокусами на средневековом рынке.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858993
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это больше похоже на иерархическую DBMS реализованную поверх реляционной. Наподобие Lotus и всяких там М-систем.

А эти магические константы такие как 3 и 13 - зарезервированы?

(Вы не обижайтесь если я спрашиваю что-то что уже упомианлось в ваших статьях. Они плохо
структурированы и без глоссариев. Трудно искать ответы на простые вопросы а я- нетерпеливый.)
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858994
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drynny Прошу помочь мне с названием для этой структуры и/или подхода вообще.

heap small
bunch little
(куча мала)
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858996
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Патчик на свой DDL.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE quintet(
    id NUMBER PRIMARY KEY, 
    up NUMBER NOT NULL, -- верхний уровнь подчинения. Parent.
    typ NUMBER, -- тип данных ( 0 - аналог NULL?)
    ord NUMBER, -- порядок записей внутри.... эээ... чего-то там внутри
    val VARCHAR2(4000) -- архитекторы рекомендуют 127 символов (!)
);

-- Quote:>> Для навигации в этом списке построены 3 упорядоченных указателя – индексы: ID, Entity+Attribute, Attribute+Value

CREATE INDEX .... ? -- первичный авто-генерируется синтаксисом PRIMARY. По EA, AV - непонятно.  

CREATE INDEX .... --   я могу идентифицировать только  Value.   Что такое  "attribute" ? Где в таблице этот чортов attribute?
-- это композит? из нескольких полей?
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39858998
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЧто такое "attribute" ? Где в таблице этот чортов attribute?
Это parent. Автор замыслил хранить примерно такое дерево:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  Таблица
    |
    +-- Описание атрибута 1
    |
    +-- Описание атрибут2 2
    |
    +-- Запись 1 значение атрибута 0 который нигде не описан
          |
          +-- Значение атрибута 1 (и вот отсюда parent = id атрибута 1)
          |
          +-- Значение атрибута 2
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39859002
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЭто parent.
Прошу прощения, сверился, у него это называется не parent, а typ.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39859003
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Код: sql
1.
typ NUMBER, -- тип данных ( 0 - аналог NULL?)



Это ссылка на запись, которая является типом, видимо..

mayton
Код: sql
1.
ord NUMBER, -- порядок записей внутри.... эээ... чего-то там внутри



1. для атрибутов в мета-типе, у них есть порядок
2. для связи М:М как в примере выше, тож есть порядок
3. для большого значения >127 байт
4. чет ещё?

Кстати, если значение будет разбито посередине 127 байт, то как искать по подстроке без конкатенации? видимо никак.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39859005
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt1. для атрибутов в мета-типе, у них есть порядок
2. для связи М:М как в примере выше, тож есть порядок
3. для большого значения >127 байт
4. чет ещё?
Напоминает то, как писали софт в шестидесятые годы. Правда, тогда последнему идиоту не пришло бы в голову строить одну модель данных над другой, совершенно перпендикулярной. Тогда бы эти "квинтеты" реализовали бы поверх байтиков на диске, и не исключено, получили бы вполне приличное для тех лет решение, какой-нибудь предок ADABAS-а.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39859020
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarermaytonЧто такое "attribute" ? Где в таблице этот чортов attribute?
Это parent. Автор замыслил хранить примерно такое дерево:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  Таблица
    |
    +-- Описание атрибута 1
    |
    +-- Описание атрибут2 2
    |
    +-- Запись 1 значение атрибута 0 который нигде не описан
          |
          +-- Значение атрибута 1 (и вот отсюда parent = id атрибута 1)
          |
          +-- Значение атрибута 2

Аха...

Он через иерархию хочет описать реляцию? А всегда-ли это возможно?
А если у меня будет one-to-many-to-one-to-many?
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39859024
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton...Он через иерархию хочет описать реляцию? А всегда-ли это возможно?
А если у меня будет one-to-many-to-one-to-many?Это вроде и есть родная структура иерархии.
Или же ты не так выразился
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39859029
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonАха...

Он через иерархию хочет описать реляцию? А всегда-ли это возможно?
А если у меня будет one-to-many-to-one-to-many?

Можно. И гвозди тоже можно микроскопом забивать.

Другое дело, что лично я не нашёл ответа на вопрос, на кой нужно было всё в одну таблицу засовывать. В чём профит?

Ещё вопрос вызывает патентование схемы данных. Сам по себе патент не страшен, ценности подобная схема не представляет, она даже не нулевая, она отрицательная. Но вот сам прецедент вызывает опасения.

Тем более, что всё держится чисто на индексации БД. Если бы оно шло со своей БД со своими индексами -- ради бога, но нет. Если там и правда патент, голову бы оторвать тем, кто подобное допустил.
...
Рейтинг: 0 / 0
Как назвать эту структуру и подход, основанные на EAV?
    #39859030
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerНапоминает то, как писали софт в шестидесятые годы. Правда, тогда последнему идиоту не пришло бы в голову строить одну модель данных над другой, совершенно перпендикулярной. Тогда бы эти "квинтеты" реализовали бы поверх байтиков на диске, и не исключено, получили бы вполне приличное для тех лет решение, какой-нибудь предок ADABAS-а.

Это называется клиника. Когда ищешь не эффективное решение, а наиболее хитровывернутым способом с переподвыподвертом решить абсолютно тривиальную задачу.

Но до меня начало таки доходить в чём смысл. Дело в патенте.

Да, я уже встречался с таким. Когда человек патентует наколеночное решение, элементарный алгоритм на экселе, который любое школо-ло напишет за пару дней, но оно уже в продакшене и в крупной компании. А потом тупо ходит и снимает сливки. Это не шутка, в моей практике я с этим сталкивался.

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

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


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