Является Беркли DB XML жизнеспособный бэкенд базы данных?

в SQL 2008 представлен новый оператор TSQL "СЛИЯНИЕ", который работает, вставляют, обновляют или удаляют операции на целевой таблице на основе результатов соединения с исходной таблицей. Можно синхронизировать две таблицы путем вставки, обновляя или удаляя строки в одной таблице на основе различий, найденных в другой таблице.

http://blogs.msdn.com/ajaiman/archive/2008/06/25/tsql-merge-statement-sql-2008.aspx http://msdn.microsoft.com/en-us/library/bb510625.aspx

16
задан Jon Seigel 7 April 2010 в 21:50
поделиться

7 ответов

Раньше я был менеджером по продуктам Berkeley DB в Oracle. Я работаю над этими базами данных BDB уже более восьми лет, я написал «аннотацию», которую вы скопировали в свой вопрос.

В коммерческих целях мы используем в (неполный список, я просто не знаю): - Autodesk использует BDB XML в Mapquest. - Farelogix использует BDB XML для системы бронирования - Starwood Hotels использует BDB XML для управления информацией об объектах, которыми они управляют. - Juniper Networks использует BDB XML в диспетчере безопасности NetScreen. - многих я не могу назвать из-за ограничений контракта ... - и так далее ...

Berkeley DB XML относительно игнорируется в мире с открытым исходным кодом, почему я понятия не имею. Есть несколько проектов, которые использовали его, и ничего такого публичного, что я знаю. Недавно я увидел отличное сообщение в блоге о том, как использовать BDB XML из Emacs. После настройки вы можете запускать операторы XQuery через XML в интерактивном режиме в текстовом редакторе. Тем не менее, он очень жизнеспособен для коммерческого использования и использования с открытым исходным кодом.

XQilla - это проект, созданный инженерами BDB XML из нескольких других XML-проектов, которые мы объединили в течение многих лет. Мы открываем исходный код (лицензия Apache 2.0) XQilla, потому что это отличная библиотека синтаксического анализа XQuery и XML.Мы компания, занимающаяся базами данных, поэтому часть, которая принимает XML после его анализа и организует его в наши базы данных btree, а также работает над оптимизацией запросов, индексированием, статистикой и целой тонной другого кода - это то, что находится в XQilla, но выше btree BDB, склеивающий их вместе в BDB XML. Не стесняйтесь использовать его, если он решает вашу проблему, там вообще нет базы данных.

Продукт, созданный с нуля для XML, обычно имеет в своей основе несколько структур транзакционных данных, которые управляют информацией на диске. Там не так много оптимизации, которую мы еще не сделали в Berkeley DB и не использовали в Berkeley DB XML. Сказать, что база данных, созданная с нуля для управления XML, будет значительно лучше, чем BDB XML, означает, что в Berkeley DB чего-то не хватает, я не думаю, что здесь есть веский аргумент, но я хочу узнать, у кого-то есть информация о параллельной транзакционной структуре данных, критически важной для эффективного хранения XML, которую BDB еще не реализует.

eXist - это база данных Java XML, у нас есть Java JNI API, если хотите, и мы обычно опережаем eXist в тестах производительности, стабильности и масштабируемости.

Sedna - хорошая база данных XML, это Apache 2.0, так что это не двойная лицензия, это просто ПО FLOSS. Я предлагаю вам сравнить его с BDB XML, вы можете быть удивлены.

MarkLogic - отличный сервер баз данных XML / XQuery, они создали очень надежный продукт. Это не программная библиотека, это сервер.Между BDB XML и MarkLogic есть существенные различия, но оба они коммерчески доступны - только BDB XML является открытым исходным кодом.

Кто-то упомянул блог Эллиота Расти Гарольда о состоянии баз данных XML, будьте осторожны, это примерно в 2007 году - эй, разве это не было до того, как существовала какая-либо база данных NoSQL? ; -)

Взгляните на старый, но все еще актуальный обзор Кимбро Стакена ( превратился в технический документ Oracle ), он хорош, но тоже устарел. «Используйте собственную базу данных XML для ваших данных XML: решение, когда собственная база данных XML на основе XQuery лучше, чем база данных SQL»

Настоящим авторитетом на протяжении многих лет был Рон Бурретт . Ему есть что сказать по этому поводу.

MongoDB и CouchDB находятся в другом рыночном сегменте. Они занимаются распределенным, секционированным и, в конечном итоге, согласованным управлением данными в стиле BASE (без ACID), и некоторые думают, что они делают это очень хорошо. Думаю, они молодые, жюри еще нет. У них хорошее начало, и я надеюсь, что они продолжат расти, хранение данных - это сложная задача, и один размер не подходит для всех проблем / потребностей. Распределенная история BDB XML построена на основе единственного мастера, множественных реплик, всегда согласованной (если хотите) репликации на основе журналов и алгоритмов выбора на основе PAXOS, когда мастер выходит из строя. Мы не разделяем данные, каждый узел содержит одни и те же данные (всю базу данных). Мы не разрешаем писать везде, только у мастера. Мы поддерживаем больше, чем TCP / IP для репликации (черт возьми, вы можете использовать аппаратную шину, настроенную для вашего сервера, если хотите). Мы создали наш продукт высокой доступности, чтобы решить проблемы масштабируемости при чтении, доступности системы и отказоустойчивости. Распределенные системы NoSQL предназначены для записи в любом месте для управления многораздельными данными. Выбор хороший, правда? :)

XML как схема данных и XQuery как язык для доступа и управления XML-контентом были и остаются очень успешным решением.Может быть, не столько на более общедоступных веб-сайтах, использующих решения NoSQL в наши дни (что нормально и интересно для меня), сколько в управлении документами, финансах, геномике, биоинформатике, обмене данными, обмене сообщениями и многом другом. XML может быть нишевой базой данных по сравнению с SQL / реляционными продуктами, но, безусловно, гораздо более успешен, чем объектные базы данных или любой новый ребенок в решении блочной базы данных NoSQL. Каждое решение для хранения имеет свое место, XML продолжит делать полезные вещи в далеком будущем.

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

46
ответ дан 30 November 2019 в 15:26
поделиться

Лучшие [*] репозитории XML - это те, которые созданы с нуля для поддержки XML, например MarkLogic или eXist .

Однако , механизм хранения для BDB-XML - это почтенный механизм Berkeley DB, один из самых распространенных механизмов встроенных баз данных. Он небольшой, быстрый и стабильный.

BDB-XML сам по себе, безусловно, способный продукт. Раньше он продавался под названием Sleepycat, если это поможет вам найти какие-либо ссылки. Это комбинация механизма хранения BDB с механизмом XQilla XQuery.

Также вы можете найти дополнительную информацию, выполнив поиск XQilla . Это довольно мощный движок с открытым исходным кодом.

[*] "лучший", конечно, это субъективный термин.

3
ответ дан 30 November 2019 в 15:26
поделиться

«Что-то в этом принципиально не так?»

Да. Это XML.

И, к сожалению, это означает, что те, кто его изобрел, не удосужились взглянуть на мощь уже существующих концепций и технологий, таких как, скажем, реляционная алгебра и реляционное исчисление.

Делать лучше тех - не задача тривиальная (и это вежливо), и все, кто пробовал до сих пор, потерпели неудачу.

Это должно вам кое-что сказать.

-7
ответ дан 30 November 2019 в 15:26
поделиться

Зависит от ваших потребностей. Я не буду рекомендовать одну родную базу данных xml по сравнению с другой, но могу сказать вам, что издательская индустрия является примером целого сектора, который в значительной степени отказался от реляционных баз данных и много времени перешел на собственные базы данных xml для обработки содержимого своих публикаций. . Самый известный (и самый дорогой) - от MarkLogic. eXistDB - это платформа с открытым исходным кодом, которая, похоже, набирает обороты.

Вот отличная статья на эту тему одного из выдающихся гуру XML, Эллиота Расти Гарольда. http://cafe.elharo.com/xml/the-state-of-native-xml-databases/

3
ответ дан 30 November 2019 в 15:26
поделиться

Следует иметь в виду лицензию Berkeley DB. Если вы не собираетесь открывать исходный код своего проекта, вам нужно будет купить лицензию у Oracle, поэтому я подозреваю, что вы не увидите больше ее. В остальном все базы данных Berkeley DB превосходны. Я обычно использую их для всего, что не собираюсь распространять (в домашних проектах).

7
ответ дан 30 November 2019 в 15:26
поделиться

I've been for the same lately and came across the Sedna XML dbms.

-1
ответ дан 30 November 2019 в 15:26
поделиться

So in conclusion, these are all reasons why BDB-XML doesn't seem widely used:

  • Only allows built-in, local databases (although there are provisions for doing master-slave replication)
  • Not free for commercial use
  • Many competing products that were built from the ground up to support XML

There doesn't seem to be any reason not to use it, but likewise there's not much to make it stand out from the competition. On top of that, the recent competition has more of a "Ooh, shiny!" appeal and XML databases themselves are still a niche market.

1
ответ дан 30 November 2019 в 15:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: