oracle nosql databasesecure site · elasticsearch. 3 - oracle nosql db主キーを...
TRANSCRIPT
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. |
Oracle NoSQL Database• 18.1の新機能
• 2018年4月
Oracle NoSQL Database – 18.1の新機能
集計 ゾーン・アフィニティ
親-子の結合
セキュアな全文検索
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 2
Oracle NoSQL Database – 18.1の新機能
親-子の結合
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 3
問合せの機能強化:親-子の結合• Oracle NoSQL Databaseにおいて、同じ表階層に属している表の間で特別な種類の結合をサポート。
• これは、標準SQLで定義され、すべてのRDBMS実装でサポートされている左側外部結合と意味的に同等なNESTED TABLES句によって実装。
• 左側外部結合は、左と右の表から一致する行のペアを含む結果セットを作成。Oracle NoSQLで同様の動作。
親表
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 4
子表
問合せの機能強化:親 - 子結合の例
顧客の表スキーマ - 顧客
保険の見積もり表スキーマ - customer.quotes
問合せ:
Select c.id, cq.quotes fromNESTED TABLES (customer c descendants (customer.quotes cq on cq.quotes.charges > 16900))
結果:
保険料金額が16900を超えるすべての顧客およびその顧客の保険見積もりを取得
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 5
問合せの機能強化:親 – 子結合のおもな特徴
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 6
• 親-子結合のもっとも大きな利点の1つが、各シャードに対するパラレル・スキャンとして実行される点。問合せパフォーマンスの向上を意味する。
• ターゲット表に、条件で使用される索引付き列が含まれる場合、索引は問合せで使用され、取得が高速化。
• 結合/子表にANCESTORS/DESCENDANTSの"ON"句として使用される索引付き列が含まれる場合、これらの索引は問合せに含まれない。
• 親と子の表の条件をON句(例:結合列)の一部として含めることができる。
Oracle NoSQL Database – 18.1の新機能
集計
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 7
問合せの機能強化:集計
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 8
• 行に対して繰り返されるOracle NoSQL Databaseの集計関数は、各行の式を評価し、戻り値を集計し単一の値で返す。
• 構文的に集計関数はSELECT句に現れる。
• 18.1リリースでサポートされる集計関数:
– sum– count– avg– min– max
問合せの機能強化:集計の例
問合せ:
select sum(cq.quotes.existingIns.premium) from customer.quotes cq where id=10101010;
結果:
MAX
ID=10101010の顧客について、すべての保険料のうち最大値を取得
問合せ:
select max(cq.quotes.existingIns.premium) from customer.quotes cq where id=10101010;
結果:
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 9
SUM
ID=10101010の顧客について、すべての保険料の合計を取得
Oracle NoSQL Database – 18.1の新機能
ゾーン・アフィニティ
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 10
マスター・アフィニティ・ゾーン機能の概要
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 11
• 管理者は、ユーザー・アプリケーションからみてネットワーク上で近接しているプライマリ・ゾーンにKVStoreのマスター・ノードを配置可能。これは、KVStoreへの書き込み操作について予測可能な待機時間をユーザーが確保するのに有用。
• 管理者はマスター・アフィニティを、選択したプライマリ・ゾーンに割当て。さらに、マスター・ノードは、システムによってマスター・アフィニティとともにプライマリ・ゾーンに分散。
• マスター・アフィニティ・ゾーンが停止した場合、システムによってすべてのマスター・ノードを別のマスター・アフィニティ・ゾーンに再分散。
マスター・アフィニティ・ゾーンの構成
3x3のKVStore、3つのプライマリ・ゾーン、マスター・アフィニティ・ゾーン構成前
3x3のKVStore、2つのマスター・アフィニティ・ゾーン、構成後。システムはマスター・ノードをゾーン2、ゾーン3に分散。
R
R
プライマリ・ゾーン1(p1)
M
R M
プライマリ・ゾーン3(p3)
R
シャード
1シャード
2シャード
3
M R R
R
R
マスター・アフィニティ=なし
プライマリ・ゾーン1(p1)
M
R M
プライマリ・ゾーン3(p3)
R
シャード
1シャード
2シャード
3
R R M
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 12
マスター・アフィニティ=あり
マスター・アフィニティ=あり
configure -name timstoreplan deploy-zone -name p1 -rf 1 -no-master-affinity -waitplan deploy-zone -name p2 -rf 1 -master-affinity -wait plan deploy-zone -name p3 -rf 1 -master-affinity -wait
プライマリ・ゾーン2(p2)
timstore構成前
プライマリ・ゾーン2(p2)
timstore構成後
Oracle NoSQL Database – 18.1の新機能
セキュアな全文検索
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 13
全文検索(FTS)
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 14
• TABLEインタフェースとElasticSearch(ES)を組み合わせた、問合せを満たすドキュメントを見つける強力な方法。
• Oracle NoSQL Databaseに格納されている表に対し高パフォーマンスでセキュアな全文検索が可能。
• 他のノードにホストされるリモート・サービス(Elasticsearch)が維持するテキスト索引。
• さまざまなセキュリティ・プラグイン(Shield、X-Pack、Kerberos/SPNEGO)を使用してElasticsearchに接続。
Oracle NoSQL Database - セキュアな全文検索(FTS)
ElasticSearch
3 - Oracle NoSQL DB主キーをバルク取得
4 - Oracle NoSQL DBがレコードを返す
ElasticSearchを移入(非同期)
ElasticSearch
Oracle NoSQL DB - データ書込み
1 – ESに対しコンテンツを検索
2 – 一致したレコードの主キーのリストを返す
データベースに書込み データベースから読取り
お客様のメリット:より充実したテキスト・データ検索
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 15
(TLS/SSL)
(TLS/SSL)