oracle nosql databasesecure site  · elasticsearch. 3 - oracle nosql db主キーを...

16
Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | Oracle NoSQL Database 18.1の新機能 20184

Upload: others

Post on 01-Nov-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. |

Oracle NoSQL Database• 18.1の新機能

• 2018年4月

Page 2: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

Oracle NoSQL Database – 18.1の新機能

集計 ゾーン・アフィニティ

親-子の結合

セキュアな全文検索

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 2

Page 3: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

Oracle NoSQL Database – 18.1の新機能

親-子の結合

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 3

Page 4: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

問合せの機能強化:親-子の結合• Oracle NoSQL Databaseにおいて、同じ表階層に属している表の間で特別な種類の結合をサポート。

• これは、標準SQLで定義され、すべてのRDBMS実装でサポートされている左側外部結合と意味的に同等なNESTED TABLES句によって実装。

• 左側外部結合は、左と右の表から一致する行のペアを含む結果セットを作成。Oracle NoSQLで同様の動作。

親表

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 4

子表

Page 5: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

問合せの機能強化:親 - 子結合の例

顧客の表スキーマ - 顧客

保険の見積もり表スキーマ - 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

Page 6: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

問合せの機能強化:親 – 子結合のおもな特徴

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 6

• 親-子結合のもっとも大きな利点の1つが、各シャードに対するパラレル・スキャンとして実行される点。問合せパフォーマンスの向上を意味する。

• ターゲット表に、条件で使用される索引付き列が含まれる場合、索引は問合せで使用され、取得が高速化。

• 結合/子表にANCESTORS/DESCENDANTSの"ON"句として使用される索引付き列が含まれる場合、これらの索引は問合せに含まれない。

• 親と子の表の条件をON句(例:結合列)の一部として含めることができる。

Page 7: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

Oracle NoSQL Database – 18.1の新機能

集計

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 7

Page 8: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

問合せの機能強化:集計

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 8

• 行に対して繰り返されるOracle NoSQL Databaseの集計関数は、各行の式を評価し、戻り値を集計し単一の値で返す。

• 構文的に集計関数はSELECT句に現れる。

• 18.1リリースでサポートされる集計関数:

– sum– count– avg– min– max

Page 9: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

問合せの機能強化:集計の例

問合せ:

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の顧客について、すべての保険料の合計を取得

Page 10: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

Oracle NoSQL Database – 18.1の新機能

ゾーン・アフィニティ

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 10

Page 11: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

マスター・アフィニティ・ゾーン機能の概要

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 11

• 管理者は、ユーザー・アプリケーションからみてネットワーク上で近接しているプライマリ・ゾーンにKVStoreのマスター・ノードを配置可能。これは、KVStoreへの書き込み操作について予測可能な待機時間をユーザーが確保するのに有用。

• 管理者はマスター・アフィニティを、選択したプライマリ・ゾーンに割当て。さらに、マスター・ノードは、システムによってマスター・アフィニティとともにプライマリ・ゾーンに分散。

• マスター・アフィニティ・ゾーンが停止した場合、システムによってすべてのマスター・ノードを別のマスター・アフィニティ・ゾーンに再分散。

Page 12: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

マスター・アフィニティ・ゾーンの構成

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構成後

Page 13: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

Oracle NoSQL Database – 18.1の新機能

セキュアな全文検索

Copyright © 2018, Oracle and/or its affiliates.All rights reserved. | 13

Page 14: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)

全文検索(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に接続。

Page 15: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. 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)

Page 16: Oracle NoSQL DatabaseSecure Site  · ElasticSearch. 3 - Oracle NoSQL DB主キーを バルク取得. 4 - Oracle NoSQL DBがレコードを返す. ElasticSearchを移入 (非同期)