Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Хранение данных с гибкой структурой и запросы к ним / 25 сообщений из 257, страница 1 из 11
04.05.2013, 09:29
    #38247523
Максим Н
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Необходима СУБД, удовлетворящая следующим требованиям (вкратце):

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

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

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

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

Подскажите, может ли она подойти к подобной задаче?
Какие есть другие варианты?
...
Рейтинг: 0 / 0
04.05.2013, 11:36
    #38247568
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Максим НКакие есть другие варианты?
Эта задача вполне укладывается в EAV на любой СУБД, но тебе стоит посмотреть на Cache. Оно
как раз пропагандируется для таких структур.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.05.2013, 14:54
    #38247704
Максим Н
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry SibiryakovМаксим НКакие есть другие варианты?
Эта задача вполне укладывается в EAV на любой СУБД, но тебе стоит посмотреть на Cache. Оно
как раз пропагандируется для таких структур.


Про EAV согласен, но в моем случае мало подходит.
Cache это круто конечно, а что-нибудь для бедных?
...
Рейтинг: 0 / 0
04.05.2013, 15:02
    #38247711
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Максим НПро EAV согласен, но в моем случае мало подходит.
Да ну?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.05.2013, 16:19
    #38247759
Максим Н
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry SibiryakovМаксим НПро EAV согласен, но в моем случае мало подходит.
Да ну?


Планируется построение довольно сложных запросов к пользовательским сущностям (несколько уровней вложенности, фильтры и т.д.). Причем как с использованием QBE, так и руками пользователей.
С EAV это конечно возможно, но запросы будут гораздо сложнее, их тяжело поддерживать и оптимизировать. Не все радужно с индексированием. Тогда как, используя xml, можно проиндексировать элементы нужной сущности.
...
Рейтинг: 0 / 0
04.05.2013, 17:28
    #38247794
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Максим НС EAV это конечно возможно, но запросы будут гораздо сложнее

С какого бы перепугу?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.05.2013, 19:39
    #38247849
Максим Н
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry SibiryakovМаксим НС EAV это конечно возможно, но запросы будут гораздо сложнее

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


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

Т.е. для того чтобы банально приджойнить пару таблиц и выбрать несколько полей (3 строчки, как бы это было в нормальной реляционке), нужно написать гораздо больше кода. Неговоря уже о сложных запросах.
...
Рейтинг: 0 / 0
04.05.2013, 20:19
    #38247878
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Максим НТ.е. для того чтобы банально приджойнить пару таблиц и выбрать несколько
полей (3 строчки, как бы это было в нормальной реляционке), нужно написать гораздо больше
кода.
Ну, если головной мозг имеет размер и консистенцию грецкого ореха, как у автора статьи, то
конечно. Есть у застарелых кодеров такая привычка забивать шурупы молотком, потому что они
20 лет работали с гвоздями. Если бы он не стремился маниакально разворачивать данные
"вширь", то его второй запрос имел бы точно такой же размер, как и первый. И выполнялся бы
так же быстро.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.05.2013, 23:36
    #38247960
vvm
vvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry Sibiryakov,

На ты бы рассказал, например, как "с развернутыми на 90 градусов" данными задействовать серверную сортировку. А то все обзываешься только.
...
Рейтинг: 0 / 0
05.05.2013, 00:15
    #38247974
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
vvmНа ты бы рассказал, например, как "с развернутыми на 90 градусов" данными
задействовать серверную сортировку.
С одноколоночным резалт-сетом и рассказывать нечего. А для многоколоночных клиентская
сортировка более user-friendly. Сам же знаешь: все хотят чтобы кликнул на заголовок грида,
а оно взяло и отсортировалось по этому столбцу. А те кто не хотят просто слишком запуганы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.05.2013, 01:20
    #38247987
vvm
vvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry SibiryakovvvmНа ты бы рассказал, например, как "с развернутыми на 90 градусов" данными
задействовать серверную сортировку.
С одноколоночным резалт-сетом и рассказывать нечего. А для многоколоночных клиентская
сортировка более user-friendly. Сам же знаешь: все хотят чтобы кликнул на заголовок грида,
а оно взяло и отсортировалось по этому столбцу. А те кто не хотят просто слишком запуганы.

Какой ты скользкий...
...
Рейтинг: 0 / 0
05.05.2013, 02:51
    #38247995
vvm
vvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Максим Н,

QBE - это для дураков-юзеров образца 1970 года. Визуальные построители фильтров куда удобнее и продуктивнее.
А кодер один черт sql использовать должен.
...
Рейтинг: 0 / 0
05.05.2013, 08:32
    #38248017
Максим Н
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
vvmМаксим Н,

QBE - это для дураков-юзеров образца 1970 года. Визуальные построители фильтров куда удобнее и продуктивнее.
А кодер один черт sql использовать должен.
Если не сложно покажите ссыль какую-нибудь с примером, как это может выглядеть?
Извиняюсь за глупый вопрос, а как можно реализовать мехнизм связи между сущностями(таблицами) с помощью "построителей фильтров"?
...
Рейтинг: 0 / 0
05.05.2013, 11:50
    #38248072
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry Sibiryakov А для многоколоночных клиентская
сортировка более user-friendly...

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

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

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

Ну не все же готовы вместо простых селектов писать "циклы", динамические запросы ..... Зачем буржуа придумывал для нас МД с декларативными и ассоциативными языками БД? Чтобы бы мы изобретали как вместо этого циклы написать.
...
Рейтинг: 0 / 0
05.05.2013, 13:26
    #38248107
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
vadiminfoНу не все же готовы вместо простых селектов писать "циклы", динамические
запросы
Ты это об чём? Какие "циклы" пишут, например, пользователи, кликающие на заголовок столбца
в "Проводнике" для сортировки по нему? И чем провинились пользователи говноподелок,
аффтары которых не хотят предоставить им такой же сервис?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.05.2013, 13:43
    #38248114
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry Sibiryakov
Ты это об чём? Какие "циклы" пишут, например, пользователи, кликающие на заголовок столбца
в "Проводнике" для сортировки по нему? И чем провинились пользователи говноподелок,
аффтары которых не хотят предоставить им такой же сервис?

Я в основом про тех пользователей, которые аффторы. Тех кто разрабатывает и сопровождает.
Впрочем, селекты (а тм болеe QBE) для отчута могут налабать и конечные пользоватли.
Тема же, скорее, про БД, а не про интерфейсы.
...
Рейтинг: 0 / 0
05.05.2013, 14:25
    #38248133
vvm
vvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry SibiryakovvadiminfoНу не все же готовы вместо простых селектов писать "циклы", динамические
запросы
Ты это об чём? Какие "циклы" пишут, например, пользователи, кликающие на заголовок столбца
в "Проводнике" для сортировки по нему? И чем провинились пользователи говноподелок,
аффтары которых не хотят предоставить им такой же сервис?

Придется тащить на клиента сразу все данные. Как минимум - те, по которым делать сортировку. Обработка "кликов" на сервере позволяет вытаскивать не весь результат сразу.
...
Рейтинг: 0 / 0
05.05.2013, 14:47
    #38248140
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
vvmПридется тащить на клиента сразу все данные. Как минимум - те, по которым делать
сортировку. Обработка "кликов" на сервере позволяет вытаскивать не весь результат
сразу.
Хочешь мучить сервер - выбирай атрибут сортировки отдельным запросом, а с ним уже джоинь
все остальные. В чём проблема-то?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.05.2013, 18:58
    #38248255
eny
eny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Максим Н,

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

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

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

Раньше, порог вхождения в отрасль был значительно выше и таких глупостей было меньше
...
Рейтинг: 0 / 0
05.05.2013, 20:33
    #38248299
Максим Н
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
eny,

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

авторВместо того, чтобы написать нормальный фреймворк экранирующий SQL Server
А вот здесь можно поподробнее?
...
Рейтинг: 0 / 0
05.05.2013, 23:06
    #38248356
vvm
vvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry SibiryakovvvmПридется тащить на клиента сразу все данные. Как минимум - те, по которым делать
сортировку. Обработка "кликов" на сервере позволяет вытаскивать не весь результат
сразу.
Хочешь мучить сервер - выбирай атрибут сортировки отдельным запросом, а с ним уже джоинь
все остальные. В чём проблема-то?..

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

А как же твоя 12031140 схема "тянем все подряд, клиент разберётся"?
...
Рейтинг: 0 / 0
05.05.2013, 23:55
    #38248378
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
vvmА как же твоя схема "тянем все подряд, клиент разберётся"?
Она для разумных людей, разумно распределяющих нагрузку между сервером и клиентом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.05.2013, 00:43
    #38248396
vvm
vvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Dimitry SibiryakovvvmА как же твоя схема "тянем все подряд, клиент разберётся"?
Она для разумных людей, разумно распределяющих нагрузку между сервером и клиентом.

Где таких взять.
...
Рейтинг: 0 / 0
06.05.2013, 00:56
    #38248402
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
vvmГде таких взять.
"Бабу Ягу со стороны брать не будем, вырастим в своём коллективе." (с) КН
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.05.2013, 09:40
    #38248543
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение данных с гибкой структурой и запросы к ним
Максим ННеобходима СУБД, удовлетворящая следующим требованиям (вкратце):
Это не СУБД, а фраймворк. Попросите, м.б. кто-то и поделится. Если нет, то делайте сами. В основе ессно EAV. СУБД любая.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Хранение данных с гибкой структурой и запросы к ним / 25 сообщений из 257, страница 1 из 11
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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