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