Подтвердить что ты не робот

Тройные магазины против реляционных баз данных

Мне было интересно, какие преимущества использования Triple Store над реляционной базой данных?

4b9b3361

Ответ 1

Точка зрения технического директора компании, которая широко использует RDF Triplestores коммерчески:

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

Более современные - магазины RDF, как правило, запрашиваются по HTTP, очень легко вставлять их в Service Architecture без хакерских решений для мостов или штрафов за производительность. Кроме того, они обрабатывают интернационализированный контент лучше, чем обычные базы данных SQL - например. вы можете иметь несколько значений на разных языках.

Стандартизация - уровень стандартизации реализаций с использованием RDF и SPARQL намного выше, чем SQL. Можно поменять один трипестор на другой, хотя вам нужно быть осторожным, чтобы вы не выходили за рамки стандартов. Перемещение данных между магазинами легко, так как все они говорят на одном языке.

Выразительность - гораздо проще моделировать сложные данные в RDF, чем в SQL, а язык запросов облегчает выполнение таких вещей, как LEFT JOINs (называемый OPTIONAL в SPARQL). И наоборот, если данные очень табличные, то SQL намного проще.

Provenance - SPARQL позволяет отслеживать, откуда появилась каждая информация, и вы можете хранить метаданные об этом, позволяя вам легко выполнять сложные запросы, только принимая во внимание данные из определенных источников или с определенным уровнем доверия от некоторый диапазон дат и т.д.

Однако есть недостатки. Базы данных SQL, как правило, гораздо более зрелые и имеют больше возможностей, чем типичные базы данных RDF. Такие вещи, как транзакции, зачастую намного более грубые или не существуют. Кроме того, стоимость единицы информации, хранящейся в RDF v SQL, заметно выше. Трудно обобщить, но это может быть значительным, если у вас много данных - хотя, по крайней мере, в нашем случае это общая польза, финансово обеспечиваемая гибкостью и мощностью.

Ответ 2

Оба комментатора верны, тем более, что Semantic Web - это не база данных, это немного более общее, чем это.

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

Тройные (или четырехъядерные) магазины - это в основном базы данных для данных в семантической сети, в частности RDF. Такой вид, где заканчивается сходство между магазинами троек и реляционными базами данных. Оба хранилища данных, оба имеют языки запросов, оба могут использоваться для создания приложений поверх; поэтому, я думаю, если вы прищурите глаза, они очень похожи. Но тип данных, хранящихся в каждом хранилище, совсем другой, поэтому обе технологии оптимизированы для разных вариантов использования и структур данных, поэтому они не являются взаимозаменяемыми.

Многие люди работали над тем, чтобы накладывать тройной взгляд на мир поверх реляционной базы данных, и это может работать, а также будет медленнее, чем система, предназначенная для хранения и извлечения троек. Одной из проблем является то, что SPARQL, стандартный язык запросов, используемый тройными магазинами, может потребовать много самостоятельных подключений, для чего не оптимизированы реляционные базы данных. Если вы посмотрите на тесты, такие как SP2B, вы увидите, что Oracle, который просто накладывает поддержку SPARQL в своей реляционной системе, работает посередине или сзади пакета по сравнению с системами, которые более обоснованно поддерживают RDF.

Конечно, системы RDF, вероятно, будут раздавлены Oracle, если бы они выполняли SQL-запросы по реляционным данным. Но в такой ситуации вы выбираете инструмент, который хорошо подходит для приложения, которое вы хотите построить.

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

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

Ответ 3

Некоторые триплестры (Virtuoso, Jena SDB) основаны на реляционных базах данных и просто предоставляют интерфейс RDF/SPARQL. Поэтому, чтобы перефразировать вопрос немного, триплеты, построенные с нуля, как трипестор более результативны, чем те, которые не являются - @steve-harris определенно знает ответ на это;) но я ставлю "да".

Во-вторых, какие функции имеют триплестры, которые нет в РСУБД. Простой ответ - поддержка SPARQL, RDF, OWL и т.д. (Т. Е. Стека Semantic Web Technology) и сделать его честным боем, лучше определить значение SPARQL на основе SPARQL 1.1 (он имеет значительно больше возможностей, чем 1.0), Это обеспечивает поддержку федерации (так классно), выражения пути свойств и режимы ввода, а также набор стандартов для протоколов обновления, протоколов управления графами (которых SPARQL 1.0 не имел и не хватало). Также @steve-harris указывает, что транзакции не являются частью стандарта (может червей), хотя многие поставщики предоставляют нестандартизированные механизмы транзакций (Virtuoso поддерживает JDBC и Hibernate совместимый пул соединений и управление вместе со всеми транзакционными функциями Hibernate)

Большой недостаток, на мой взгляд, заключается в том, что не многие триплестры поддерживают все SPARQL 1.1 (так как они все еще не в рекомендациях), и именно здесь лежат реальные преимущества.

Сказав это, я и всегда был сторонником подмены РСУБД с трипестрерами и платформами, которые я доставляю полностью без трипестреров (Volkswagen в моей последней роли был примером этого), осуждая необходимость в РСУБД. Дополнительным преимуществом является то, что сопоставление объектов с RDF является более гибким и предоставляет больше возможностей и гибкости, чем традиционная ORM (также известная как установка квадратного привязки в круглое отверстие).

Ответ 4

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