Agenda
•
Oracle NoSQL Database Enterprise Editionの概要
•
グラフ・データベースの価値
•
RDF Graph for Oracle NoSQL Database Enterprise Edition
•
柔軟性に優れた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
論理アーキテクチャ – アプリケーションから見た場合
シャード1
レプリカ
マスター
シャード2
レプリカ
マスター
シャードN
レプリカ
マスター
NoSQL DBドライバ
アプリケーション
書込み
読取り
柔軟性に優れたデータ・モデル
•
データ・モデル – Key/Valueペア(主要キー+補助キー・パラダイム)
•
シンプルな操作 – 読取り/挿入/更新/削除、読取り-変更-書込み
•
トランザクションの有効範囲 – 主要キー、単一のAPIコール内のレコード
•
全データの順不同スキャン(非トランザクション)
KeyとValueのペア
ユーザーID
住所
サブスクリプション
電子メールID
電話番号
有効期限
主要キー:
補助キー:
値:
文字列
バイト配列
トランザクションの永続性と読取り一貫性
•
構成可能な
永続性
ポリシー
•
構成可能な
一貫性
ポリシー
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)とシームレスに統合
最新の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%
•
短い待機時間
•
優れたスケーラビリティ
•
関係に関するデータのモデル化
•
新しい関係を追加することで容易に発展させられる
柔軟なスキーマ
•
グラフ・パターンと走査による問合せと検出をサポート
•
近接性、中心性と同様に、到達可能性、接続性、
推移性などのグラフ分析が可能
グラフ・データベース
グラフ・データベースを使用する理由
:California
:USA
:NorthAmerica
:
partOf
:partOf
:partOf
owl:TransitiveProperty
rdf:type
:partOf
問合せ
: SELECT ?x ?y
FROM
…
WHERE { ?x :partOf ?y }
•
基本構造は“トリプル”
–
[主語] [述語] [目的語]
•
トリプルを結合してグラフを形成
•
関係の分析/検出をグラフにより促進
•
RDFをシリアライズしてXMLに変換可能
–
例:名前空間
•
事前にスキーマを指定する必要なし
–
スキーマ変更なしで外部ボキャブラリに対応
•
RDFデータをRDBMSデータとして完全に表現可能
–
RDBMSデータもRDFとして完全に表現可能
:
Tony
:Jack
foaf:knows
主語
述語
目的語
RDFの概要
RDF:主要な概念
•
根本的に異なる開世界仮説が基盤
– 未知のものは未定義である(偽ではない)と見なす(検出をサポート)
•
スキーマは柔軟で、展開性があり、事前に知ることはできない
– 現実世界のさまざまな関係をデータでモデル化
•
データ要素1つ1つを一意に識別(統合をサポート)
– データと関係をマシンで読取り可能
•
パターン問合せ言語による検出ワークフローが可能
•
関係を表現する関連概念の標準セット(オントロジ)により
問合せと検出を改善
– 暗黙の関係をルールで検索
•
Oracle NoSQL Database Enterprise Editionでの
RDFのサポート
•
グラフ・データへの標準アクセス:SPARQL 1.1
•
Jena & Joseki SPARQLエンド・ポイントWebサービス
•
卓越した水平方向のスケーラビリティ –
数ペタバイトのトリプル
•
World Wide Web Consortium(W3C)が策定したセマ
ンティックWeb標準をサポート
NoSQLのRDFグラフ機能
•
大量の単純な問合せ
•
ほとんどのグラフを対象にして集計を行う問合せ
(例:ネットワーク内のユーザーの中でもっとも人
気がある趣味のトップ100は何かなど)
•
頻繁に発生する大規模な更新
•
Open Linked Dataアプリケーション
NoSQLのRDFグラフ機能
RDF Graph For Oracle NoSQL Database EE
ORACLE NOSQL DATABASE EEでの
RDFグラフの管理
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エンド・ポイント
•