Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8 9 10 11   вперед  Ctrl      все
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
PSV100
Member

Откуда:
Сообщений: 157
Максим Н
PSV100
пропущено...

Лично я к этому проекту не имею никакого отношения. Вот чего желает ТС:
пропущено...

Именно всё это и имеется в этом проекте, в т.ч. как раз поверх Neo4j. Причём это не только некая альтернатива решениям на основе реляционных баз (включая и для EAV), но и, в целом, другой взгляд на разработку информационных систем (отчасти Акссессо-подобный). Я не в курсе, насколько продукт пригоден для использования (думаю, что не очень), но проект интересен, прежде всего, концептуально. Особенно привлекательны способы обработки данных, что можно взять себе на вооружение, причём не только в рамках какой-то NoSQL. Весьма рекомендую ознакомиться.


Спасибо, именно эти статьи и привели меня к мысле попробовать заюзать графовую базу для таких дел. К сам ому Animotron'у я еще не готов, а вот Neo4j, почему бы и нет.
Зафигачить EAV и радоваться жизни это не проблема, только вот как то надоело, интересно решить данную задачу подругому, с использованием более подходящих для этого инструментов (или выяснить для себя, что это не так), поэкспериментировать (тем более текущий проект позволяет пока).
Если кому будет интересно могу отписаться о своей попытке, когда будут результаты.


Ну, если нет обязательной привязки к SQL-DB и проект позволяет поэкспериментировать, то вполне есть смысл что-то пощупать. Рекомендую ещё глянуть на TinkerPop - проект вокруг графовых данных, там есть и свой DSL-язык, и аналог JDBC для графданных, и какой-то сервер и пр. Я с ним не разбирался, что-то подробнее не скажу. Насколько я понимаю, проект известен в соответствующих кругах, поэтому есть смысл что-то ещё поискать вокруг этого проекта. Там есть биндинги и для Neo4j, и для OrientDB (но с ней осторожней, раньше глючила и ломала базы, не в курсе как сейчас).
24 май 13, 20:58    [14347531]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30261
Максим Н,

да все уже сто лет как пережёвано
http://www.compress.ru/article.aspx?id=11515

Максим Н
вкратце: хранить экземпляры сущностей в одной таблице в формате xml, и делать к ним sql-запросы с использованием xpath

а вот это - адский ад. С тем же успехом все можно хранить в одном blob одной записи (жёсткая шутка).
24 май 13, 21:02    [14347551]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30261
удивительно, как люди постоянно (и с завидным упорством) умудряются изобретать велосипед.
24 май 13, 21:03    [14347555]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
kdv
Максим Н,

да все уже сто лет как пережёвано
http://www.compress.ru/article.aspx?id=11515
...

В той статье показано, как можно сделать, и какая получится фигня, если сделать именно так.

Вопрос - как надо? Чтобы фигня не получилась.
24 май 13, 22:06    [14347710]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
kdv
Максим Н,

да все уже сто лет как пережёвано
http://www.compress.ru/article.aspx?id=11515

Максим Н
вкратце: хранить экземпляры сущностей в одной таблице в формате xml, и делать к ним sql-запросы с использованием xpath

а вот это - адский ад. С тем же успехом все можно хранить в одном blob одной записи (жёсткая шутка).


Дык это статье 12 лет ....
25 май 13, 10:30    [14348620]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30261
Максим Н
Дык это статье 12 лет ....

ну и что изменилось за 12 лет? я сам делал "хранилище объектов" еще в 1993 году, на таблицах Paradox.
25 май 13, 13:56    [14348910]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
kdv
Максим Н
Дык это статье 12 лет ....

ну и что изменилось за 12 лет? я сам делал "хранилище объектов" еще в 1993 году, на таблицах Paradox.


Прогресс не стоит на месте, расцветают kv-базы, документоориентированные, графовые и др. (не мне вам рассказывать). Вот я и подумал, что наверняка есть какой-либо другой способ решения данной проблемы.
Про плюсы и минусы EAV все прекрасно знают. А вот про минусы использования графовых баз (или других решений), что из этого вообще может получится, я пока информации найти не могу. Видимо придется пробовать самому.
25 май 13, 17:10    [14349230]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Максим Н
Прогресс не стоит на месте, расцветают kv-базы, документоориентированные, графовые и др. (не мне вам рассказывать).

Одно дело расцветать, другое расцвести.

Максим Н
А вот про минусы использования графовых баз (или других решений), ....

Это не сетевые часом? Оные, мягко говоря, относятся к прогрессу более раннему чем 12 лет. Это вообще дореляционная эпоха.
25 май 13, 20:53    [14349633]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
vadiminfo
Максим Н
А вот про минусы использования графовых баз (или других решений), ....

Это не сетевые часом? Оные, мягко говоря, относятся к прогрессу более раннему чем 12 лет. Это вообще дореляционная эпоха.


Да, точнее их разновидность. Не в возрасте дело, а в том что помимо реляционки есть другие замечательные МД, вот и интересуюсь как с помощью них можно (и можно ли вообще) более естественно решить поднятую здесь задачу.
25 май 13, 22:16    [14349795]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30261
Максим Н
Прогресс не стоит на месте, расцветают kv-базы, документоориентированные, графовые и др. (не мне вам рассказывать). Вот я и подумал, что наверняка есть какой-либо другой способ решения данной проблемы.
Про плюсы и минусы EAV все прекрасно знают

все так, но вот мне кажется, что пустое обсуждение этого вопроса на трех страницах, плюс, наличие в википедии означенной темы только на одном языке, явно намекает на степень популярности этой темы.
http://en.wikipedia.org/wiki/Entity–attribute–value_model

Если же вернуться к вашему исходному вопросу
"пользователь с помощью графического интерфейса добавляет информацию о любых предметах (сущностях) ... а затем может работать с этими сущностями"
то по моему опыту, редко какому пользователю это надо. Под "редко" я имею в виду, к примеру, одного из тысячи. В реальности пользователь не хочет самостоятельно определять объекты и их атрибуты, а даже если и хочет, то как правило, не способен это сделать [правильно].
Так что, даже если есть такие системы, то объекты в них создает специально обученный человек. В итоге пользователь работает уже всегда с готовыми объектами. А в результате совершенно по барабану, какая модель данных при этом "на дне".

p.s. если я правильно помню, системы типа EAV показывают производительность, обратно пропорциональную количеству объектов и их экземпляров в системе. По идее, 1С 8 как раз по такой схеме сделана.
26 май 13, 01:29    [14350132]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30261
да, еще добавлю, что в последнее время я вижу разве что в отдельных CRM возможность создания дополнительных атрибутов к уже имеющимся сущностям. И то с этим есть определенные проблемы (у пользователей, опять же).
26 май 13, 01:32    [14350134]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
kdv
Максим Н
Прогресс не стоит на месте, расцветают kv-базы, документоориентированные, графовые и др. (не мне вам рассказывать). Вот я и подумал, что наверняка есть какой-либо другой способ решения данной проблемы.
Про плюсы и минусы EAV все прекрасно знают

все так, но вот мне кажется, что пустое обсуждение этого вопроса на трех страницах, плюс, наличие в википедии означенной темы только на одном языке, явно намекает на степень популярности этой темы.
http://en.wikipedia.org/wiki/Entity–attribute–value_model

Рискну предположить, что ее популярность обусловлена привязанностью к реляционкам и отсутствием другого распрастраненного, доступного и обкатанного решения.

kdv
Если же вернуться к вашему исходному вопросу
"пользователь с помощью графического интерфейса добавляет информацию о любых предметах (сущностях) ... а затем может работать с этими сущностями"
то по моему опыту, редко какому пользователю это надо. Под "редко" я имею в виду, к примеру, одного из тысячи. В реальности пользователь не хочет самостоятельно определять объекты и их атрибуты, а даже если и хочет, то как правило, не способен это сделать [правильно].
Так что, даже если есть такие системы, то объекты в них создает специально обученный человек. В итоге пользователь работает уже всегда с готовыми объектами. А в результате совершенно по барабану, какая модель данных при этом "на дне".

Может глупость скажу, но все же: а как же тот самый Эксель, где пользователь сам описывает и заполняет таблчики, делает выборки над ними, имитирует связи между ними, расчеты и т.д.
26 май 13, 09:46    [14350267]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
kdv
да, еще добавлю, что в последнее время я вижу разве что в отдельных CRM возможность создания дополнительных атрибутов к уже имеющимся сущностям. И то с этим есть определенные проблемы (у пользователей, опять же).


Особенно в магазинах и всяких каталогах это популярная тема. Как в Magento например, которые слезают с EAV - http://dimitrigatowski.com/2011/06/19/magento-2-preview/
26 май 13, 09:50    [14350269]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Максим Н,

ну когда же ты уже начнешь кодить?
26 май 13, 11:28    [14350362]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
Максим Н
Может глупость скажу, но все же: а как же тот самый Эксель, где пользователь сам описывает и заполняет таблчики, делает выборки над ними, имитирует связи между ними, расчеты и т.д.

Даже excel имеет слишком высокую для большинства пользователей сложность. Далеко не все осваивают создание формул, а уж про аналитику и говорить не стоит. Если же к нему навернуть еще и некое "описание модели данных", то это станет инструментом для совсем немногих (тот самый один из тысячи, о котором писал kdv). Но хитрость как раз в том, что для этих "избранных" уже существуют гораздо более удобные и функциональные инструменты.
В общем, прежде чем создавать новый конструктор надо четко понять целевую аудиторию. Если это будут программисты, то подходы используются одни, для менеджеров - совсем другие, а для бухгалтеров - третьи. А если использовать программистские подходы в инструменте для бухгалтера, то ни программист, ни бухгалтер нормально им пользоваться не сможет.
26 май 13, 14:14    [14350653]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Максим Н
Да, точнее их разновидность. Не в возрасте дело, а в том что помимо реляционки есть другие замечательные МД, вот и интересуюсь как с помощью них можно (и можно ли вообще) более естественно решить поднятую здесь задачу.


Сетевые - это дореляционная эпоха в технологиях БД. Т.е. может быть и "естественное", но дореляционное решение задачи у Вас получится.

Пысы
Впрочем, и на лошади может быть более естественно ездить чем на авто.
26 май 13, 22:32    [14351556]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472
автор
.s. если я правильно помню, системы типа EAV показывают производительность, обратно пропорциональную количеству объектов и их экземпляров в системе.

точно нет.
27 май 13, 06:47    [14351947]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
ScareCrow
автор
.s. если я правильно помню, системы типа EAV показывают производительность, обратно пропорциональную количеству объектов и их экземпляров в системе.

точно нет.

Зависит от того, что нужно получить и "как оно делается".

Время выполнения обычного select к табличке без индексов тоже будет тем дольше, чем больше записей.
27 май 13, 11:33    [14352974]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472
автор
Зависит от того, что нужно получить и "как оно делается".

ну это к EAV отношения уже не имеет.
27 май 13, 13:26    [14353869]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30261
ScareCrow
точно нет.

точно да, по двум причинам:
1. если в обычной схеме таблица=объект атрибуты (столбцы) расположены горизонтально, и всегда есть доступ ко всем "атрибутам", то в объектной схеме атрибуты расположены вертикально. Понятно, что по затратам дискового места объектная схема не сильно больше табличной, но тут вступает в действие пункт 2:

2. запросы для вытаскивания объектов, атрибутов и их значений обычно сложнее, чем запросы к "горизонтальным атрибутам". А в результате, даже при наличии индексов, стоимость выборки одних и тех же данных может сильно отличаться как по процессорным, так и дисковым ресурсам.

например, еще до построения объектной схемы на РСУБД я строил такую на ДИАМС (Mumps, или глобали Cache, если угодно). Скорость поиска и выборки данных объектов была высокой за счет дублирования данных (избыточности) и самой иерархической схемы. То же самое на реляционке построить можно, но с теми же затратами, но уже без преимуществ иерархической системы.
27 май 13, 14:37    [14354330]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472
автор
2. запросы для вытаскивания объектов, атрибутов и их значений обычно сложнее, чем запросы к "горизонтальным атрибутам". А в результате, даже при наличии индексов, стоимость выборки одних и тех же данных может сильно отличаться как по процессорным, так и дисковым ресурсам.

эм. признавайся, что ты сделал с настоящим kdv!
27 май 13, 17:00    [14355385]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472
запросов там ровно полтора.
select * from meta_value where object_id = ?
27 май 13, 17:01    [14355403]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472
причем что самое смешное:
1) из за маленького размера строки самой meta_value, по диску и памяти мы еще и выигрываем.
2) очень просто делаются запросы по набору атрибутов
27 май 13, 17:04    [14355426]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
ScareCrow,

что это вы, тётенька, такое рассказываете? :)
27 май 13, 17:13    [14355489]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
ScareCrow
причем что самое смешное:
1) из за маленького размера строки самой meta_value, по диску и памяти мы еще и выигрываем.
2) очень просто делаются запросы по набору атрибутов
а по двум атрибутам? т.е. допустим если мне надо искать нечто допустим по дате и номеру, то когда они в одной таблице я делаю индекс из двух полей, а с ЕАV как?

Сообщение было отредактировано: 27 май 13, 17:53
27 май 13, 17:50    [14355678]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8 9 10 11   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить