トリプルストアとリレーショナルデータベース

私はトリプルストアをリレーショナルデータベースに比べてどのような利点があるのでしょうか?

37
@ MikeSherrill'CatRecall '次に、なぜその理由が説明されているのは、優れた回答ですか?私は1つ、確かに分からない。そして、三重関係の大统领を歓迎します。
追加された 著者 Benjohn,
私は再オープンのためにノミネートされました。私はこれが意見に基づいているとは思わない。確かに、特定の技術的実装の利点には、ある程度の主観的意見があります。しかし、コンピュータ科学の特定の部分の利点は簡単な意見ではありません。ここには非常に顕著な客観的の事実が存在する可能性があり、答えがそれらを提供する可能性があります。
追加された 著者 Benjohn,
これは、リンゴ以上のドライバーを使用する利点について質問するようなものです。どちらも有用なものですが、互換性はほとんどありません。
追加された 著者 Mike Sherrill 'Cat Recall&,
彼らはかなり異なったものです。もっと具体的になりますか?
追加された 著者 Dave Newton,

4 答え

RDF Triplestoresを広く商用利用している企業のCTOの視点:

スキーマの柔軟性 - RDFストアのスキーマ変更と同等の作業を、停止時間や再設計なしで行うことが可能です。フリーランチではなく、ソフトウェアの仕組みに注意する必要がありますが、かなり簡単ですする。

より現代的 - RDFストアは通常、HTTPを介してクエリされ、ハッキングブリッジソリューションやパフォーマンスの低下なしにサービスアーキテクチャに適合させるのは非常に簡単です。また、標準化されたSQLデータベースよりも国際化されたコンテンツを扱います。異なる言語で複数の値を持つことができます。

標準化 - RDFとSPARQLを使用する実装の標準化のレベルは、SQLよりもはるかに高いです。 1つのトリプルストアを別のトリプルストアに交換することは可能ですが、あなたが基準外にステップしないように注意する必要があります。ストア間でのデータの移動は、すべて同じ言語を使用するため、簡単です。

表現力 - 複雑なデータをSQLよりもモデル化するほうがはるかに簡単です。クエリ言語を使用すると、LEFT JOIN(SPARQLのOPTIONALと呼ばれる)などの操作が簡単になります。逆に、データが非常に表形式の場合、SQLははるかに簡単です。

Provenance - SPARQLを使用すると、個々の情報がどこから来たのかを追跡できます。また、特定のソースからのデータや特定の期間の特定の信頼レベルを考慮して、高度なクエリを簡単に行うことができます等

しかし、欠点があります。 SQLデータベースは、一般にはるかに成熟しており、典型的なRDFデータベースよりも多くの機能を備えています。トランザクションのようなものは、しばしばはるかに原油であり、存在しないものです。また、RDF vのSQLに格納されている単位情報あたりのコストは、著しく高くなっています。一般化するのは難しいですが、大量のデータがある場合は重要ですが、少なくとも当社の場合は、財務的に柔軟性とパワーが与えられているという全体的なメリットがあります。

42
追加された
+1すべてのスティーブのポイントについては、トリプルストアを使用する利点(および欠点)をwrt。私は利点として推論を含めるだろうが、それはユビキタスな特徴ではないが、それはおそらく半分の利点である=)
追加された 著者 Michael,

特にセマンティックWeb はデータベースではないので、両方のコメント作成者は正しいですが、それはもう少し一般的です。

しかし、セマンティックWebというよりも、トリプルストアとは、一般的な意味ではなく、トリプルストアとリレーショナルデータベースとの比較が意味があるからです。私は、リレーショナルデータベースシステムの専門家ではないことに留意して、残りの答えを序文しますが、私はトリプルストアに関する知識は少しあります。

Triple (or quad) stores are basically databases for data on the semantic web, particularly RDF. That's kind of where the similarity between triples stores & relational databases end. Both store data, both have query languages, both can be used to build applications on top of; so I guess if you squint your eyes, they're pretty similar. But the type of data each stores is quite different, so the two technologies optimize for different use cases and data structures, so they're not really interchangeable.

多くの人々が、リレーショナルデータベースの上に世界のトリプルビューを重ね合わせる作業をしており、それは機能し、トリプルの格納と検索専用のシステムよりも遅くなります。問題の一部は、トリプルストアで使用される標準のクエリ言語であるSPARQLが、多くの自己結合を必要とすることがあり、リレーショナルデータベースが最適化されていないことです。 SP2B などのベンチマークを見ると、OracleリレーショナルシステムでSPARQLサポートをオーバーレイし、RDFをネイティブにサポートするシステムと比較して、パックの中央または後ろで実行されます。

もちろん、RDFシステムは、リレーショナル・データを介してSQL問合せを実行していると、おそらくOracleによって壊れてしまうでしょう。しかしそれは重要な点です。構築したいアプリケーションに適したツールを選択してください。

したがって、セマンティックWebアプリケーションを構築することを考えている場合や、この分野で慣れ親しんでいる場合は、最終的に専用のトリプルストアを使用することをおすすめします。

私は推論を掘り下げることはしませんし、トリプルストアでクエリ応答にどのように影響するのかについてはまだ議論の余地がありますが、推論を行うリレーショナルシステムとトリプルストアの別の重要な違いです。

7
追加された

トリプルストア(Virtuoso、Jena SDB)は、リレーショナルデータベースに基づいており、単にRDF/SPARQLインターフェイスを提供します。だから、少し質問を言い換えると、トリプルストアは土地からトリプルストアとして構築され、そうでないものよりパフォーマンスが向上しています - @スティーブ - ハリスは確かにその答えを知っています;)しかし、私ははいを賭けます。

第二に、RDBMSが持っていないtriplestoresはどのような特徴を持っていますか?単純な答えは、SPARQL、RDF、OWLなどのサポート(つまりSemantic Web Technologyスタック)とSPARQL 1.1(それは1.0よりもはるかに多くの機能を持っています)に基づいてSPARQLの価値を定義する方が良い、 。これは、連合(非常にクールな)、プロパティーパスの式と含意体制、標準化された更新プロトコル、グラフ管理プロトコル(SPARQL 1.0はそれほど欠けていなかった)にも対応しています。また、多くのベンダーがトランザクションのための標準化されていないメカニズムを提供しています(VirtuosoはJDBCとHibernate準拠の接続プーリングと管理、Hibernateのすべてのトランザクション機能をサポートしています)が、トランザクションは標準(ワームの可能性)の一部ではないことを指摘しています。

私の心の大きな欠点は、多くのトリプルストアがSPARQL 1.1のすべてをサポートしているわけではないことです(これはまだ推奨されていないためです)。これが本当の利点です。

私は、RDBMSを三位一体とプラットフォームに置き換えることを主張してきましたが、RDBMSの必要性を非難し、私はトリプルストア(私の最後の役割のフォルクスワーゲンがこれの一例でした)追加の利点は、オブジェクトからRDFへのマッピングがより柔軟であり、従来のORMよりも多くのオプションと柔軟性を提供することです(円形の穴に四角形のペグを入れることとしても知られています)。

7
追加された
SPARQL 1.1は現在、AFAIKに推奨されています。
追加された 著者 Janus Troelsen,

また、データベースを使用することもできますが、非常に柔軟なデータ交換フォーマットとしてRDFを使用します。

0
追加された