Comments
Description
Transcript
ORACLE NOSQL DATABASE EE
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ドライバ NoSQL DBドライバ ストレージ・ノード ストレージ・ノード データセンターA データセンター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 文字列 補助キー: バイト配列 5 値: Copyright © 2012, Oracle and/or its affiliates.All rights reserved. サブスクリプション 有効期限 住所 電話番号 電子メールID トランザクションの永続性と読取り一貫性 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ドライバ • データを均等に分散 • 最速ノードに処理を割当て • すべての処理のネットワー ク・ホップ数を制限 • 柔軟性に優れた主要キー +補助Key/Valueデータ構造 • Webベースのコンソール とCLIコマンド •JSONスキーマ • 自動のレプリケーションとフェ イルオーバー • 構成可能な一貫性と永続性 • スマート・トポロジによる 管理と監視 • トポロジ • ロードとパフォーマンス • イベントとアラート •ACIDトランザクション 管理のしやすさ • JMXとSNMPを統合 • 1秒あたり100万回以上の処理 7 Copyright © 2012, Oracle and/or its affiliates.All rights reserved. 最新のYCSBベンチマークの結果 混合スループット •125万回(処理/秒) • 読取り95%、更新5% • 短い待機時間 • 優れたスケーラビリティ 4 1,200,000 1,000,000 3 800,000 2 600,000 400,000 1 200,000 0 0 6 (2x3) 12 (4x3) 24 (8x3) 30 (10x3) クラスタのサイズ Throughput (ops/sec) 8 Copyright © 2012, Oracle and/or its affiliates.All rights reserved. Write Latency (ms) Read Latency (ms) 平均待機時間(ミリ秒) • データ量2TB スループット(処理/秒) • 20億レコード 1,400,000 グラフ・データベースを使用する理由 :partOf グラフ・データベース • 新しい関係を追加することで容易に発展させられる 柔軟なスキーマ :USA :California • グラフ・パターンと走査による問合せと検出をサポート • 近接性、中心性と同様に、到達可能性、接続性、 推移性などのグラフ分析が可能 :partOf :partOf • 関係に関するデータのモデル化 :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(リソース表現のための枠組み) foaf:knows 述語 :Jack 主語 • 基本構造は“トリプル” – [主語] [述語] [目的語] • トリプルを結合してグラフを形成 • 関係の分析/検出をグラフにより促進 • RDFをシリアライズしてXMLに変換可能 – 例:名前空間 :Tony 目的語 • 事前にスキーマを指定する必要なし – スキーマ変更なしで外部ボキャブラリに対応 • 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を使用したオープン・ソー スおよび商用サード・パーティ製の問 合せ、ビジュアル化、オントロジ・エンジ ニアリング用ツールの使用 15 Copyright © 2012, Oracle and/or its affiliates.All rights reserved. 問合せ 推論 • Key/Valueストアに関するRDFデー タ • ACID & BASE一貫性 • 高速な分散ロード • SPARQL 1.1問合せ、更新、コンストラクト、 名前付きグラフ • Apache Jena Java API • Apache Joseki SPARQLエンド・ポイント • W3C RDFSおよびOWL • プラグイン・アーキテクチャ NoSQLグラフへのRDFデータのロード Javaアプリケーション • デフォルト・グラフおよび名前付き グラフ • クワッド形式でトリプルと名前付 きグラフを関連付け • パラレル・ロード Jena Insert API/Load API Josekiエンド・ポイント(WS) SPARQL Update NoSQLのOracle RDFグラフ Apache Jena API/Joseki API • Apache Jena Insert API • Apache Jena Load APIを使用して RDFファイルをバルク・ロード • JSON(JavaScript Object Notation) データ交換形式 16 Copyright © 2012, Oracle and/or its affiliates.All rights reserved. Oracle NoSQL Database EE RDFのトリプルおよびクワッドを Key/Valueペアとして格納 NoSQL DatabaseでのRDFグラフの問合せ • W3C SPARQL 1.1のサポート • 複数のグラフ問合せ • パラレル問合せ • SPARQL Update • SPARQL Construct Javaアプリケーション SPARQL問合せ Josekiエンド・ポイント(WS) SPARQL問合せ NoSQLのOracle RDFグラフ Apache Jena API/Joseki API • 問合せ実行計画によるパフォーマ ンスの最適化 • Linked Open Dataサービスに対応 したJoseki SPARQLエンド・ポイント 17 Copyright © 2012, Oracle and/or its affiliates.All rights reserved. Oracle NoSQL Database EE NoSQLグラフに対するOWL 2推論 Pellet推論機能 TrOWL推論機能 • インメモリ推論 • 推論結果の問合せ/格納が可能 • Apache Jena OntModel API NoSQLのOracle RDFグラフ Apache Jena API/Joseki API • オープン・ソースのPellet推論機能 • オープン・ソースのTrOWL推論機能 Oracle NoSQL Database EE RDFのトリプルおよびクワッドを Key/Valueペアとして格納 18 Copyright © 2012, Oracle and/or its affiliates.All rights reserved. ビジュアル化、編集、分析用ツール Protégéベースおよびその 他のJenaベースのツール Apache JenaベースおよびXMLベース: • Oracle製ツール • サード・パーティ製ツール • オープン・ソース・ツール XMLベースのツール Oracle Business Intelligence EE SPARQLゲートウェイ NoSQLのOracle RDFグラフ Apache Jena API/Joseki API • ビジュアル化 • 編集 Oracle NoSQL Database EE • 分析 RDFのトリプルおよびクワッドを Key/Valueペアとして格納 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. Q&A 27 Copyright © 2012, Oracle and/or its affiliates.All rights reserved. 28 Copyright © 2012, Oracle and/or its affiliates.All rights reserved. 29 Copyright © 2012, Oracle and/or its affiliates.All rights reserved.