rdf graph for oracle nosql database ee · 7 copyright © 2012, oracle and/or its affiliates.all...
TRANSCRIPT
1 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
RDF Graph for Oracle NoSQL Database EE
2 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Agenda
• Oracle NoSQL Database Enterprise Editionの概要
• グラフ・データベースの価値
• RDF Graph for Oracle NoSQL Database Enterprise Edition
• 機能概要
3 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
• 柔軟性に優れたKey/Value型データ・モデル
• ACIDトランザクション
• 水平方向のスケーラビリティ
• 高可用性
• 柔軟性のある構成
• 管理のしやすさ
• 高性能ドライバ
• 商用レベルのソフトウェアとサポート
特長
Oracle NoSQL Database Enterprise Edition スケーラブルで可用性が高いKey/Value型データベース
アプリケーション
ストレージ・ノードデータセンターB
ストレージ・ノードデータセンターA
アプリケーション
NoSQL DBドライバ
アプリケーション
NoSQL DBドライバ
アプリケーション
Java SE 6(JDK 1.6.0 u25)以上:SolarisまたはLinux
4 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
論理アーキテクチャ –アプリケーションから見た場合
シャード1
レプリカ
マスター
シャード2
レプリカ
マスター
シャードN
レプリカ
マスター
NoSQL DBドライバ
アプリケーション
書込み
読取り
5 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
柔軟性に優れたデータ・モデル
• データ・モデル – Key/Valueペア(主要キー+補助キー・パラダイム)
• シンプルな操作 –読取り/挿入/更新/削除、読取り-変更-書込み
• トランザクションの有効範囲 –主要キー、単一のAPIコール内のレコード
• 全データの順不同スキャン(非トランザクション)
KeyとValueのペア
ユーザーID
住所サブスクリプション
電子メールID電話番号有効期限
主要キー:
補助キー:
値:
文字列
バイト配列
6 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
トランザクションの永続性と読取り一貫性
• 構成可能な永続性ポリシー
• 構成可能な一貫性ポリシー
ACIDトランザクション –構成が可能
7 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Oracle NoSQL Databaseの特徴
商用レベルのソフトウェアとサポート
柔軟性に優れたデータ・モデル
管理のしやすさ
•汎用
•信頼性 –実績あるBerkeley DB JE HAがベース
•簡易性 –インストールおよび構成が容易
•柔軟性に優れた主要キー+補助Key/Valueデータ構造
•JSONスキーマ
•ACIDトランザクション
•構成可能な一貫性と永続性
• WebベースのコンソールとCLIコマンド
•スマート・トポロジによる管理と監視
• トポロジ• ロードとパフォーマンス• イベントとアラート
• JMXとSNMPを統合
スケーラビリティと可用性
• インテリジェントなOracle NoSQL DBドライバ
• データを均等に分散• 最速ノードに処理を割当て
• すべての処理のネットワーク・ホップ数を制限
•自動のレプリケーションとフェイルオーバー
• 1秒あたり100万回以上の処理
Oracleスタック(Oracle Database、ODI、OLH、CEP、RDF)とシームレスに統合
8 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
最新のYCSBベンチマークの結果
0
1
2
3
4
0
200,000
400,000
600,000
800,000
1,000,000
1,200,000
1,400,000
6 (2x3) 12 (4x3) 24 (8x3) 30 (10x3)
平均待機時間(ミリ秒)
スループット(処理
/秒)
クラスタのサイズ
混合スループット
Throughput (ops/sec) Write Latency (ms) Read Latency (ms)
•125万回(処理/秒)
• 20億レコード
•データ量2TB
•読取り95%、更新5%
•短い待機時間
•優れたスケーラビリティ
9 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
• 関係に関するデータのモデル化
• 新しい関係を追加することで容易に発展させられる柔軟なスキーマ
• グラフ・パターンと走査による問合せと検出をサポート
• 近接性、中心性と同様に、到達可能性、接続性、推移性などのグラフ分析が可能
グラフ・データベース
グラフ・データベースを使用する理由
:California :USA :NorthAmerica
:partOf :partOf
:partOf owl:TransitiveProperty
rdf:type
:partOf
問合せ: SELECT ?x ?y FROM …
WHERE { ?x :partOf ?y }
10 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
• 基本構造は“トリプル”
– [主語] [述語] [目的語]
• トリプルを結合してグラフを形成
• 関係の分析/検出をグラフにより促進
• RDFをシリアライズしてXMLに変換可能
– 例:名前空間
• 事前にスキーマを指定する必要なし
– スキーマ変更なしで外部ボキャブラリに対応
• RDFデータをRDBMSデータとして完全に表現可能
– RDBMSデータもRDFとして完全に表現可能
:Tony
:Jack
foaf:knows主語
述語
目的語
RDFの概要Resource Description Framework(リソース表現のための枠組み)
11 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
RDF:主要な概念
• 根本的に異なる開世界仮説が基盤
– 未知のものは未定義である(偽ではない)と見なす(検出をサポート)
• スキーマは柔軟で、展開性があり、事前に知ることはできない
– 現実世界のさまざまな関係をデータでモデル化
• データ要素1つ1つを一意に識別(統合をサポート)
– データと関係をマシンで読取り可能
• パターン問合せ言語による検出ワークフローが可能
• 関係を表現する関連概念の標準セット(オントロジ)により問合せと検出を改善
– 暗黙の関係をルールで検索
12 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
• Oracle NoSQL Database Enterprise EditionでのRDFのサポート
• グラフ・データへの標準アクセス:SPARQL 1.1
• Jena & Joseki SPARQLエンド・ポイントWebサービス
• 卓越した水平方向のスケーラビリティ –数ペタバイトのトリプル
• World Wide Web Consortium(W3C)が策定したセマンティックWeb標準をサポート
NoSQLのRDFグラフ機能
Oracle NoSQL DBのRDFグラフ機能
13 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
• 大量の単純な問合せ
• ほとんどのグラフを対象にして集計を行う問合せ(例:ネットワーク内のユーザーの中でもっとも人気がある趣味のトップ100は何かなど)
• 頻繁に発生する大規模な更新
• Open Linked Dataアプリケーション
NoSQLのRDFグラフ機能
RDF Graph For Oracle NoSQL Database EE水平方向のスケーラビリティの場合、問合せの待機時間/コストの低減、容易なインストールと管理を実現
14 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
ORACLE NOSQL DATABASE EEでのRDFグラフの管理
15 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
RDF Graph for Oracle NoSQL Database Enterprise Edition
• W3Cの標準に準拠
•水平方向にスケーラビリティのあるグラフ操作
• Apache Jenaのオープン・ソースJava API(ロードおよび問合せ)による開発
• Apache Jena Joseki SPARQLエンド・ポイントWebサービスによる問合せ
• Apache Jenaとオープン・ソースの推論機能による推論
• Apache Jenaを使用したオープン・ソー
スおよび商用サード・パーティ製の問合せ、ビジュアル化、オントロジ・エンジニアリング用ツールの使用
• Key/Valueストアに関するRDFデータ
• ACID & BASE一貫性
• 高速な分散ロード
• SPARQL 1.1問合せ、更新、コンストラクト、名前付きグラフ
• Apache Jena Java API
• Apache Joseki SPARQLエンド・ポイント
• W3C RDFSおよびOWL
•プラグイン・アーキテクチャ
主要な機能:
ロード/ ストレージ
問合せ
推論
16 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
NoSQLグラフへのRDFデータのロード
•デフォルト・グラフおよび名前付きグラフ
•クワッド形式でトリプルと名前付きグラフを関連付け
•パラレル・ロード
•Apache Jena Insert API
•Apache Jena Load APIを使用してRDFファイルをバルク・ロード
• JSON(JavaScript Object Notation)データ交換形式
NoSQLのOracle RDFグラフ
Apache Jena API/Joseki API
Oracle NoSQL Database EE
RDFのトリプルおよびクワッドをKey/Valueペアとして格納
Javaアプリケーション
Jena Insert API/Load API
Josekiエンド・ポイント(WS)
SPARQL Update
17 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Javaアプリケーション
NoSQL DatabaseでのRDFグラフの問合せ
SPARQL問合せ• W3C SPARQL 1.1のサポート
• 複数のグラフ問合せ
• パラレル問合せ
• SPARQL Update
• SPARQL Construct
• 問合せ実行計画によるパフォーマンスの最適化
• Linked Open Dataサービスに対応したJoseki SPARQLエンド・ポイント
NoSQLのOracle RDFグラフ
Apache Jena API/Joseki API
Oracle NoSQL Database EE
Josekiエンド・ポイント(WS)
SPARQL問合せ
18 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
NoSQLグラフに対するOWL 2推論
•インメモリ推論
•推論結果の問合せ/格納が可能
•Apache Jena OntModel API
•オープン・ソースのPellet推論機能
•オープン・ソースのTrOWL推論機能
NoSQLのOracle RDFグラフ
Apache Jena API/Joseki API
Oracle NoSQL Database EE
RDFのトリプルおよびクワッドをKey/Valueペアとして格納
Pellet推論機能 TrOWL推論機能
19 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
XMLベースのツール
ビジュアル化、編集、分析用ツール
Apache JenaベースおよびXMLベース:
•Oracle製ツール
•サード・パーティ製ツール
•オープン・ソース・ツール
•ビジュアル化
•編集
•分析
NoSQLのOracle RDFグラフ
Apache Jena API/Joseki API
Oracle NoSQL Database EE
RDFのトリプルおよびクワッドをKey/Valueペアとして格納
Protégéベースおよびその他のJenaベースのツール
SPARQLゲートウェイ
Oracle Business Intelligence EE
20 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Oracle NoSQLによるグラフ・データの管理:デモデフォルト・グラフへのトリプルの挿入
PREFIX dc:<http://purl.org/dc/elements/1.1/>INSERT DATA{ <http://example/book3> dc:title "A new book" ;
dc:creator "A.N.Other" .}
21 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Oracle NoSQLによるグラフ・データの管理:デモ名前付きグラフの作成と名前付きグラフへのトリプルの挿入
PREFIX dc:<http://purl.org/dc/elements/1.1/>
CREATE GRAPH <http://example/bookStore>
INSERT DATA INTO <http://example/bookStore>{ <http://example/book3> dc:title "Fundamentals of Compiler Desing" }
22 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Oracle NoSQLによるグラフ・データの管理:デモ
指定したグラフ(名前付きグラフまたはデフォルト・グラフ)へのRDFファイルのロード
PREFIX host:<http://adc2201652:8080/joseki>
LOAD host:family.rdf INTO <http://example/family>
23 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Oracle NoSQLによるグラフ・データの管理:デモ
グラフ(トリプル)データの変更
PREFIX dc:<http://purl.org/dc/elements/1.1/>
DELETE DATA FROM <http://example/bookStore>{ <http://example/book3> dc:title "Fundamentals of Compiler Desing" }
INSERT DATA INTO <http://example/bookStore>{ <http://example/book3> dc:title "Fundamentals of Compiler Design" }
24 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Oracle NoSQLによるグラフ・データの管理:デモ
指定したグラフ(名前付きグラフまたはデフォルト・グラフ)からのトリプルの削除
DELETE from <http://example/family> {?s ?p ?o} where { graph <http://example/family> {?s ?p ?o . filter regex(?o, "child").}}
25 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Oracle NoSQLによるグラフ・データの管理:デモ
名前付きグラフのクリア/削除
CLEAR GRAPH <http://example/bookStore>
DROP GRAPH <http://example/family>
26 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
まとめ
• 標準ベース:W3C RDF、SPARQL、OWL
• Key/Value型NoSQLデータベースへのRDFグラフ・データの格納と問合せ
• 以下の処理に適したSPARQLエンド・ポイントとサード・パーティ製ツール/テクノロジー– ビジュアル化、問合せ、推論、オントロジの編集(Jenaを使用)
• 水平方向のスケーラビリティ
• 大量の単純な問合せと更新に使用
RDF Graph for Oracle NoSQL Database Enterprise Edition
27 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
Q & A
28 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
29 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.