Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 XML базы данных  [new]
Щиче
Member

Откуда: Чебоксары
Сообщений: 768
Недавно попробовал поработать с отечественной СУБД Sedna. Удобно, видел поиск базу с Википедией и достаточно быстрый поиск в ней. Однако, в силу различных причин ограничился сам лишь небольшой БД для самого себя. А вот интересно, кто-то использовал XML СУБД для реальных проектов и с какими результатами? Поделитесь.
13 фев 13, 15:49    [13921232]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Щиче,

может Вы своими результатами для начала поделитесь? в чем было удобство и с чем скорость поиска сравнивали?
13 фев 13, 16:23    [13921489]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Щиче
Member

Откуда: Чебоксары
Сообщений: 768
SergSuper
Щиче,

может Вы своими результатами для начала поделитесь? в чем было удобство и с чем скорость поиска сравнивали?


Удобство в использовании XPath вместо SQL, XML имеет древовидную структуру вместо плоской реляционной. Соответственно, запросы выходят намного короче чем в SQL и естественнее с точки зрения предметной области. Гибкость задания условий на высоте. Выбираешь не запись в таблице и не набор разрозненных полей, а узлы нужного уровня. У узла получаешь отдельные свойства, можно его использовать как единый объект. ОРМ с их замороченностью намного сложнее в использовании.
Запросы на изменение тоже просты и логичны. Генерация XML из запроса само собой. Результат запроса тот же XML.

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

Резюме: интересная вещь, но надо поработать с большим объемом данных, в многопользовательской среде и тогда будет ясно стоит овчинка выделки.
13 фев 13, 17:36    [13922050]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
приличные реляционные субд уже умеют и индексировать и работать с xml сообразно их специфике, т.е. сочетают в себе ф-ии как классической субд, так и возможности специализированных. т.е. уходить в экзотику нет смысла, в классике уже лет 5-7 как по появлялся нужный для удобной работы с xml функционал. Начиная со стандарта sql2008 появился специализированный тип данных XML, который и помогает серверу эффективно отрабатывать запросы с использованием xpath внутри SQL.

Пример поддержки XML относительно скромной Sybase SA: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.sqlanywhere.12.0.1/dbusage/ug-sqlxml-a--s-4114168.html

у оракела, дб2 с этим тоже все в порядке.
13 фев 13, 18:03    [13922261]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 53057
Щиче, возможно XMLDBMS как и все не-реляционные болеют одной болезнью. А именно
очень сильно привязаны к проектированию. Т.е. именно ЧТО вы объявите документом
и как вы спроектируете структуру хранилища. И как он будет себя вести на
массовых selects/updates/deletes.
13 фев 13, 18:35    [13922420]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Dimitry Sibiryakov
Member

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

mayton
И как он будет себя вести на массовых selects/updates/deletes.

Для этого достаточно почитать как устроены у них транзакции и какие уровни изоляции
поддержаны. В вышеназванной Седне, например, snapshot транзакции - read-only. Read-Write
транзакции обеспечивают консистентность только уровня отдельного документа и жёстко
сериализованы: пока одна не кончится, другую не стартовать. В общем, печально всё.

Posted via ActualForum NNTP Server 1.5

13 фев 13, 20:58    [13922930]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Dimitry Sibiryakov
mayton
И как он будет себя вести на массовых selects/updates/deletes.

Для этого достаточно почитать как устроены у них транзакции и какие уровни изоляции
поддержаны. В вышеназванной Седне, например, snapshot транзакции - read-only. Read-Write
транзакции обеспечивают консистентность только уровня отдельного документа и жёстко
сериализованы: пока одна не кончится, другую не стартовать. В общем, печально всё.
а что там подразумевается под документом? Отдельный XML?
13 фев 13, 23:30    [13923341]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Щиче
Member

Откуда: Чебоксары
Сообщений: 768
SergSuper, да он самый.
14 фев 13, 12:19    [13925278]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Щиче
SergSuper, да он самый.
а чем тогда это лучше чем работать напрямую с файловой системой? там тоже блокировка на уровне отдельного файла
14 фев 13, 12:35    [13925420]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
Щиче
Удобство в использовании XPath вместо SQL, XML имеет древовидную структуру вместо плоской реляционной. Соответственно, запросы выходят намного короче

Мне почему-то кажется, что здесь уместно добавить "на некоторых простых структурах данных". Если взять какую-то реальную задачу - ну например, описать граф железных дорог, расписание грузоперевозок итп, и попробовать составить простенький запрос, скажем, "каков за последние полгода процент холостого пробега у вагонов, арендованных ООО "АБВ" у ООО "ГДЕ"" - от слова "древовидная структура" сразу станет как-то печально.
14 фев 13, 12:42    [13925471]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Щиче
Member

Откуда: Чебоксары
Сообщений: 768
softwarer
Щиче
Удобство в использовании XPath вместо SQL, XML имеет древовидную структуру вместо плоской реляционной. Соответственно, запросы выходят намного короче

Мне почему-то кажется, что здесь уместно добавить "на некоторых простых структурах данных". Если взять какую-то реальную задачу - ну например, описать граф железных дорог, расписание грузоперевозок итп, и попробовать составить простенький запрос, скажем, "каков за последние полгода процент холостого пробега у вагонов, арендованных ООО "АБВ" у ООО "ГДЕ"" - от слова "древовидная структура" сразу станет как-то печально.


Я пробовал строить запросы и по самой структуре и произвольно, по разным критериям. Достаточно удобно. Дерево нужным способом разворачивает сам движок внутри себя. Насколько это эффективно, сложно судить. План запроса как в SQL не видел. На малой базе мгновенно можно поворачивать данные под любым углом. Как я уже сказал ранее, это никак не гарантирует нормальной работы с ж.д. объемами. Знаю, насколько там всего много, работал когда-то на Окт.ж.д.
Будет время, придумаю задачку и попробую на больших объемах.
14 фев 13, 15:02    [13926681]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
Щиче, вы мой пост читали?
14 фев 13, 15:55    [13927078]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
Щиче
Я пробовал строить запросы и по самой структуре и произвольно, по разным критериям. Достаточно удобно. Дерево нужным способом разворачивает сам движок внутри себя.

Вот про это было бы очень любопытно подробнее. Я в данном случае не про объёмы, я про то, что данные нужно или рассовать в кучу документов, или в один офигенно сложный документ, в обоих случаях будут многочисленные связи и запрос, который это выборочно парсит и связывает, если опирается на структуру документа, имхо просто не имеет шанса быть адекватным по сложности.
14 фев 13, 16:06    [13927164]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Щиче
Member

Откуда: Чебоксары
Сообщений: 768
Ggg_old,

Читал. Приличная БД слишком прилично кушает. Надо учесть сколько времени понадобиться на развертывание, обучение и так далее. Один в поле не воин. Когда есть вокруг только куча студентов, а задача относительно маленькая надо брать нечто попроще.
20 фев 13, 07:14    [13952601]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Щиче
Member

Откуда: Чебоксары
Сообщений: 768
softwarer,

Пока понятия не имею. Буду экспериментировать. Жаль, что кроме меня этой темой не интересовался.
20 фев 13, 07:17    [13952604]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Favn
Member

Откуда:
Сообщений: 585
Щиче
Приличная БД слишком прилично кушает. Надо учесть сколько времени понадобиться на развертывание, обучение и так далее. Один в поле не воин.
Чего кушает-то? Если на посмотреть - качаешь русскую книжку по DB2 Express-C, по ссылкам оттуда же качаешь саму DB2 и DataStudio, ставишь все по-умолчанию. Да, большие, но ставятся легко. В книжке читаешь раздел по PureXML, пользуешься.
В DataStudio есть даже конструкторы XML документов, схем и запросов XQuery. Книжка по DataStudio тут, но английская.
Если хочется подробностей - можно в нете найти файл IBM.Press.DB2.pureXML.Cookbook.Oct.2010.pdf, там под 900 страниц про все это. Если нужна - могу поделиться.
20 фев 13, 16:19    [13955873]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Favn
Member

Откуда:
Сообщений: 585
softwarer
Если взять какую-то реальную задачу - ну например, описать граф железных дорог, расписание грузоперевозок итп, и попробовать составить простенький запрос, скажем, "каков за последние полгода процент холостого пробега у вагонов, арендованных ООО "АБВ" у ООО "ГДЕ"" - от слова "древовидная структура" сразу станет как-то печально.
Ну так и не надо деревом граф описывать :) XML - скорее для структрированных данных с "гуляющими" форматами, или для слабо структурированных. Т.е. оно ИМХО скорее для сложных атрибутов, чем для отношений.
Для обработки графов к последней DB2 прикрутили RDF с языком SPARQL. Сам, правда, пока не ковырял.
20 фев 13, 16:29    [13955956]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
Favn
Ну так и не надо деревом граф описывать

Ну так о том и речь, что реальные задачи не склонны укладываться в дерево, поэтому в "реальных проектах" такие СУБД имхо редко удастся применить.
20 фев 13, 18:01    [13956713]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Favn
Member

Откуда:
Сообщений: 585
softwarer,
на самом деле - если бы оно было привычным, применяли бы часто. Как минимум для того, чтобы реализовать атрибуты объектов сложной меняющейся (и м.б. неизвестной заранее) структуры. И не городили бы "предельную нормализацию" с каждым элементалем каждого параметра в отдельной таблице (примеров видел кучу). Да и вывод результата в XML очень удобен для получения больших структур из БД в трехзвенке, а если в binary XML - то и эффективен.
20 фев 13, 18:34    [13956893]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
Favn
на самом деле - если бы оно было привычным, применяли бы часто. Как минимум для того, чтобы реализовать атрибуты объектов сложной меняющейся (и м.б. неизвестной заранее) структуры.

XML базы данных - да нет, не применяли бы. Мало кто потащит в проект отдельную СУБД только для решения некоей частной задачи.

Favn
Да и вывод результата в XML очень удобен для получения больших структур из БД в трехзвенке,

JSON удобнее.
20 фев 13, 19:08    [13957040]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Favn
softwarer,
на самом деле - если бы оно было привычным, применяли бы часто. Как минимум для того, чтобы реализовать атрибуты объектов сложной меняющейся (и м.б. неизвестной заранее) структуры. И не городили бы "предельную нормализацию" с каждым элементалем каждого параметра в отдельной таблице (примеров видел кучу). Да и вывод результата в XML очень удобен для получения больших структур из БД в трехзвенке, а если в binary XML - то и эффективен.
табличные данные то можно и не нормализовывать, а вот если в XML - уже и не нормализовать... это ж тот же EAV
21 фев 13, 00:52    [13958178]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Dimitry Sibiryakov
Member

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

SergSuper
если в XML - уже и не нормализовать... это ж тот же EAV

Только в отличии от EAV оно ещё и не индексируется.

Posted via ActualForum NNTP Server 1.5

21 фев 13, 01:17    [13958228]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Favn
Member

Откуда:
Сообщений: 585
softwarer
XML базы данных - да нет, не применяли бы.
Нафиг-нафиг, я такого кошмара не предлагал. Я про то, что именно в реляционках применять XML непривычно - ужасный на вид XQuery и все такое. Но м.б. удобно и эффективно, когда к месту.
softwarer
JSON удобнее.
Смотря для чего. Опять же, binary XML, если и СУБД и клиент его понимают, позволяет не перепарсивать данные через текст.
21 фев 13, 11:56    [13959831]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Favn
Member

Откуда:
Сообщений: 585
SergSuper
табличные данные то можно и не нормализовывать, а вот если в XML - уже и не нормализовать... это ж тот же EAV
Было бы странно нормализовывать другую МД. А вот на EAV XML ну совсем не похож. Даже если документ без схемы, это все равно дерево, хотя и не типизированное, свободной формы. И хранится оно должно как дерево, а не текст, и одним запросом можно обходить нужные поддеревья. А вот хорошо прописанная схема позволяет его типизировать сколь угодно жестко, а СУБДу - хранить все это нативно, в бинарных структурах вместо текстов. А если еще и клиент результат XQuery в бинарном виде может получать - совсем хорошо.
21 фев 13, 12:05    [13959899]     Ответить | Цитировать Сообщить модератору
 Re: XML базы данных  [new]
Favn
Member

Откуда:
Сообщений: 585
Dimitry Sibiryakov
Только в отличии от EAV оно ещё и не индексируется.
Э-э-э... Не индексируется где именно? В DB2, например, - очень даже, и планы для XQuery оптимизатор строит...
21 фев 13, 12:09    [13959928]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить