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

Откуда: Екатеринодар
Сообщений: 1439
Необходима СУБД, удовлетворящая следующим требованиям (вкратце):

пользователь с помощью графического интерфейса добавляет информацию о любых предметах (сущностях) (дом(номер дома количество квартир...), автомобиль (масса, макс. скорость, цена...), стиральная машинка (объем, энергопотребление, цвет...)), а затем может работать с этими сущностями:
— добавлять-редактировать экземпляры (записи, данные);
— создавать связи между сущностями (при удалении информации о доме, удяляется вся информация о стиралках, установленных в нем);
— составлять запросы к этим сущностям, например: «найти все зеленые стиральные машины в квартирах домов с четными номерами на 5-м этаже» (с помощью QBE, либо, в особых случаях, с помощью встроенного языка запросов СУБД).

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

Я уже озадачивался этим вопросом и даже остановился на вот таком решении — habrahabr.ru/post/164803/ (вкратце: хранить экземпляры сущностей в одной таблице в формате xml, и делать к ним sql-запросы с использованием xpath).
Вроде все неплохо, но криво получается реализация связей между сущностями (приходится использовать вспомогательную таблицу для хранения соответствий, либо заивать ключи в xml).

Но недавно в очередной раз наткнулся на Neo4j и подумываю, чтобы заюзать ее.

Подскажите, может ли она подойти к подобной задаче?
Какие есть другие варианты?
4 май 13, 09:29    [14257436]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

Максим Н
Какие есть другие варианты?

Эта задача вполне укладывается в EAV на любой СУБД, но тебе стоит посмотреть на Cache. Оно
как раз пропагандируется для таких структур.

Posted via ActualForum NNTP Server 1.5

4 май 13, 11:36    [14257547]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
Dimitry Sibiryakov
Максим Н
Какие есть другие варианты?

Эта задача вполне укладывается в EAV на любой СУБД, но тебе стоит посмотреть на Cache. Оно
как раз пропагандируется для таких структур.


Про EAV согласен, но в моем случае мало подходит.
Cache это круто конечно, а что-нибудь для бедных?
4 май 13, 14:54    [14257836]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

Максим Н
Про EAV согласен, но в моем случае мало подходит.

Да ну?

Posted via ActualForum NNTP Server 1.5

4 май 13, 15:02    [14257859]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
Dimitry Sibiryakov
Максим Н
Про EAV согласен, но в моем случае мало подходит.

Да ну?


Планируется построение довольно сложных запросов к пользовательским сущностям (несколько уровней вложенности, фильтры и т.д.). Причем как с использованием QBE, так и руками пользователей.
С EAV это конечно возможно, но запросы будут гораздо сложнее, их тяжело поддерживать и оптимизировать. Не все радужно с индексированием. Тогда как, используя xml, можно проиндексировать элементы нужной сущности.
4 май 13, 16:19    [14257999]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

Максим Н
С EAV это конечно возможно, но запросы будут гораздо сложнее

С какого бы перепугу?

Posted via ActualForum NNTP Server 1.5

4 май 13, 17:28    [14258134]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
Dimitry Sibiryakov
Максим Н
С EAV это конечно возможно, но запросы будут гораздо сложнее

С какого бы перепугу?


Не хотелось бы устраивать очередную EAV'шную баталию...
Инфы много, мне нравится например эта статья - https://www.simple-talk.com/opinion/opinion-pieces/bad-carma/

Т.е. для того чтобы банально приджойнить пару таблиц и выбрать несколько полей (3 строчки, как бы это было в нормальной реляционке), нужно написать гораздо больше кода. Неговоря уже о сложных запросах.
4 май 13, 19:39    [14258381]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

Максим Н
Т.е. для того чтобы банально приджойнить пару таблиц и выбрать несколько
полей (3 строчки, как бы это было в нормальной реляционке), нужно написать гораздо больше
кода.

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

Posted via ActualForum NNTP Server 1.5

4 май 13, 20:19    [14258452]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

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

На ты бы рассказал, например, как "с развернутыми на 90 градусов" данными задействовать серверную сортировку. А то все обзываешься только.
4 май 13, 23:36    [14258837]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

vvm
На ты бы рассказал, например, как "с развернутыми на 90 градусов" данными
задействовать серверную сортировку.

С одноколоночным резалт-сетом и рассказывать нечего. А для многоколоночных клиентская
сортировка более user-friendly. Сам же знаешь: все хотят чтобы кликнул на заголовок грида,
а оно взяло и отсортировалось по этому столбцу. А те кто не хотят просто слишком запуганы.

Posted via ActualForum NNTP Server 1.5

5 май 13, 00:15    [14258972]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Dimitry Sibiryakov
vvm
На ты бы рассказал, например, как "с развернутыми на 90 градусов" данными
задействовать серверную сортировку.

С одноколоночным резалт-сетом и рассказывать нечего. А для многоколоночных клиентская
сортировка более user-friendly. Сам же знаешь: все хотят чтобы кликнул на заголовок грида,
а оно взяло и отсортировалось по этому столбцу. А те кто не хотят просто слишком запуганы.

Какой ты скользкий...
5 май 13, 01:20    [14259201]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

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

QBE - это для дураков-юзеров образца 1970 года. Визуальные построители фильтров куда удобнее и продуктивнее.
А кодер один черт sql использовать должен.
5 май 13, 02:51    [14259260]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

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

QBE - это для дураков-юзеров образца 1970 года. Визуальные построители фильтров куда удобнее и продуктивнее.
А кодер один черт sql использовать должен.

Если не сложно покажите ссыль какую-нибудь с примером, как это может выглядеть?
Извиняюсь за глупый вопрос, а как можно реализовать мехнизм связи между сущностями(таблицами) с помощью "построителей фильтров"?
5 май 13, 08:32    [14259314]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Dimitry Sibiryakov
А для многоколоночных клиентская
сортировка более user-friendly...

На ЕАВе "клинтская " более user-friendly?
На ЕАВе, наверное, во многих случаях "клинтская " более user-friendly.

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

Dimitry Sibiryakov
.А те кто не хотят просто слишком запуганы.

Ну не все же готовы вместо простых селектов писать "циклы", динамические запросы ..... Зачем буржуа придумывал для нас МД с декларативными и ассоциативными языками БД? Чтобы бы мы изобретали как вместо этого циклы написать.
5 май 13, 11:50    [14259483]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

vadiminfo
Ну не все же готовы вместо простых селектов писать "циклы", динамические
запросы

Ты это об чём? Какие "циклы" пишут, например, пользователи, кликающие на заголовок столбца
в "Проводнике" для сортировки по нему? И чем провинились пользователи говноподелок,
аффтары которых не хотят предоставить им такой же сервис?

Posted via ActualForum NNTP Server 1.5

5 май 13, 13:26    [14259607]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Dimitry Sibiryakov

Ты это об чём? Какие "циклы" пишут, например, пользователи, кликающие на заголовок столбца
в "Проводнике" для сортировки по нему? И чем провинились пользователи говноподелок,
аффтары которых не хотят предоставить им такой же сервис?

Я в основом про тех пользователей, которые аффторы. Тех кто разрабатывает и сопровождает.
Впрочем, селекты (а тм болеe QBE) для отчута могут налабать и конечные пользоватли.
Тема же, скорее, про БД, а не про интерфейсы.
5 май 13, 13:43    [14259622]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Dimitry Sibiryakov
vadiminfo
Ну не все же готовы вместо простых селектов писать "циклы", динамические
запросы

Ты это об чём? Какие "циклы" пишут, например, пользователи, кликающие на заголовок столбца
в "Проводнике" для сортировки по нему? И чем провинились пользователи говноподелок,
аффтары которых не хотят предоставить им такой же сервис?

Придется тащить на клиента сразу все данные. Как минимум - те, по которым делать сортировку. Обработка "кликов" на сервере позволяет вытаскивать не весь результат сразу.
5 май 13, 14:25    [14259673]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

vvm
Придется тащить на клиента сразу все данные. Как минимум - те, по которым делать
сортировку. Обработка "кликов" на сервере позволяет вытаскивать не весь результат
сразу.

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

Posted via ActualForum NNTP Server 1.5

5 май 13, 14:47    [14259699]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
eny
Member

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

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

Вместо того, чтобы написать нормальный фреймворк экранирующий SQL Server выдумываются всякие недоинструменты.

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

Раньше, порог вхождения в отрасль был значительно выше и таких глупостей было меньше
5 май 13, 18:58    [14260099]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
eny,

Большое спасибо за советы, учту.
Но ИМХО Вашу критику предложенного метода на хабре (кстати только одного из них, и от которого я в конце концов отказался уже) Вы ни чем не обосновали (был бы очень благодарен за это).
И альтернативных вариантов предложено тоже не было (так же был бы весьма благодарен), кроме того как почитать "классику".

автор
Вместо того, чтобы написать нормальный фреймворк экранирующий SQL Server

А вот здесь можно поподробнее?
5 май 13, 20:33    [14260355]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Dimitry Sibiryakov
vvm
Придется тащить на клиента сразу все данные. Как минимум - те, по которым делать
сортировку. Обработка "кликов" на сервере позволяет вытаскивать не весь результат
сразу.

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

Как это - "выбирай и джойнь"? :)

А как же твоя 12031140 схема "тянем все подряд, клиент разберётся"?
5 май 13, 23:06    [14260669]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

vvm
А как же твоя схема "тянем все подряд, клиент разберётся"?

Она для разумных людей, разумно распределяющих нагрузку между сервером и клиентом.

Posted via ActualForum NNTP Server 1.5

5 май 13, 23:55    [14260792]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Dimitry Sibiryakov
vvm
А как же твоя схема "тянем все подряд, клиент разберётся"?

Она для разумных людей, разумно распределяющих нагрузку между сервером и клиентом.

Где таких взять.
6 май 13, 00:43    [14260887]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

vvm
Где таких взять.

"Бабу Ягу со стороны брать не будем, вырастим в своём коллективе." (с) КН

Posted via ActualForum NNTP Server 1.5

6 май 13, 00:56    [14260909]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
_мод
Guest
Максим Н
Необходима СУБД, удовлетворящая следующим требованиям (вкратце):

Это не СУБД, а фраймворк. Попросите, м.б. кто-то и поделится. Если нет, то делайте сами. В основе ессно EAV. СУБД любая.
6 май 13, 09:40    [14261295]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 11   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить