Каковы сильные и слабые стороны базы данных с тройным хранилищем?

Каковы сильные и слабые стороны базы данных triplestore, такой как Мулгара? В каких ситуациях его производительность будет значительно отличаться от производительности традиционной реляционной базы данных?

В частности, я думаю о ситуациях, когда у вас есть данные в форме namespace:predicate=value. Triplestores, казалось бы, хранят данные в их «естественной» форме, но я хотел бы знать, есть ли какие-то особые преимущества помимо этого.


person M. Dudley    schedule 14.06.2009    source источник


Ответы (2)


Я предполагаю, что вы спрашиваете о сохранении троек (и, возможно, графиков через квадроциклы), где хранилище является либо «собственным» хранилищем троек (например, TDB) или реляционную базу данных с наложением тройного хранилища (например, SDB).

Если вы подробно расскажете о своих требованиях, я уверен, что члены Stack Overflow могут предложить более целенаправленный ответ, но только что пришедший мне в голову:

  • Собственные тройные хранилища обычно имеют лучшую производительность, когда размер набора данных становится очень большим. См. некоторые цифры из W3C.
  • Собственные тройные хранилища могут предлагать рассуждения/выводы в магазине (например, семантический инструментарий Oracle, хотя он не полностью поддерживает SPARQL).
  • Тройки в СУБД можно «легко» интегрировать в традиционные инструменты отчетности (такие как Jasper Reports), поскольку вы можете запрашивать их с помощью SQL.
person Phil M    schedule 14.06.2009

Я создатель Redland, который включает в себя тройные хранилища на C, плюс я использовал некоторые из системы Java, такие как Jena и Sesame.

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

Конечно, существует также документальный подход, такой как CouchDB, но это трудно понять из предоставленной вами информации.

person dajobe    schedule 16.06.2009