Weitere ähnliche Inhalte
Ähnlich wie 【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック (20)
Mehr von オラクルエンジニア通信 (20)
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
- 4. 本⽇のテーマ
Copyright © 2021 Oracle and/or its affiliates.
4
データベースとアプリケーション開発をシンプルに
データ・ドリブン・アプリケーションをシンプルにかつ迅速に構
築し、⾼いサービス・レベルを実現するためのデータ基盤の
アーキテクチャについてお話しします。
データ・コンテナ活⽤によるDatabase as a Serviceと
その技術的な概要について主にお伝えします。
- 5. オラクルの戦略 | お客様に世界で最も優れたConverged Databaseを提供
5
開発者およびアナリストにとって最も⽣産性を⾼く
統合されたマイクロサービス, イベント, REST, SaaS, 機械学習, CI/CD,
ローコード開発環境
多くのワークロード・タイプをサポート
トランザクション, データ分析, 機械学習, IoT, ストリーミング, ブロックチェイン
多くのデータ・タイプとデータ・モデルをサポート
リレーショナル, JSON, グラフ, 位置情報, テキスト, OLAP, XML
将来変化するであろうビジネス要件に柔軟に対応を可能に
Copyright © 2021 Oracle and/or its affiliates
- 6. Oracle Databaseは最新のデータ分析と開発⼿法をサポート
Copyright © 2021, Oracle and/or its affiliates
6
CI/CD Microservices Events
API Driven
Development
API
Machine
Learning
Real-Time
Analytics
Social Graph
Analysis
IoT
• 格納データにアルゴリズムを適⽤
することで、データに付加価値を
追加
• 最新の開発パラダイムを利⽤し
てデータ・ドリブン・アプリケーション
を開発可能
• 最新の開発⼿法を導⼊すると
データが断⽚化を発⽣させがち
だが、相乗的なデータ・パラダイ
ム を組み合わせることで複雑化
を排除可能
- 7. Amazon & Niche Database Vendors Oracle Database
参考︓Databaseアーキテクチャ戦略と他社との違い
Amazon
Aurora
MongoDB
Document Store
Google
Big Query
Azure
Synapse
Analytics
Snowflake
Data Warehouse
Amazon
Quantum
Ledger
Amazon
Redshift
Amazon
DocumentDB
7 Copyright © 2021 Oracle and/or its affiliates
- 8. アプリケーション開発をシンプルに
データ・コンテナ活⽤でDatabase as a Service(DBaaS)を構築
Copyright © 2021, Oracle and/or its affiliates
8
Oracle Databaseでは簡単にアプリケーションごとのデータを論理的に別々のデータ・コン
テナ (プラガブル・データベース=PDB) に格納できる
• 複数のPDBを分離性を担保しながら、連携を容易にし開発を単純化
• それぞれのPDBでは必要なデータタイプを格納可能
• 同じデータ基盤で運⽤を容易に : セキュリティやサービスレベル向上にも寄与
Physical Database Physical Database
Pluggable
Database
Microservice
App Containers
on Kubernetes
- 10. Building Microservices with Oracle Converged Database
https://oracle.github.io/learning-library/developer-library/microservices-with-converged-db/
簡素化されたマイクロサービス・アーキテクチャ
10
注⽂
Order
在庫
Inventory
配達
Delivery
リコメンデーション
(Text)
ルーティング
(Spatial)
Kubernetes cluster
GRUBDASH – Mobile Food Ordering App
Database Tier
Converged
Microservices
グルメサイト
レビュー
マップ
外部データソース 外部データソース
Ops 分析
Analytics
(ORDS)
APEX
Copyright © 2021, Oracle and/or its affiliates
- 11. Copyright © 2021, Oracle and/or its affiliates
11
DBaaSの実現するための要素技術
Oracle Multitenant概観
Non-CDB構成とCDB構成は何が同じで、何が異なるか
- 12. 1つのOracleインスタンスが複数のテナント(=プラガブル・データベース)をホストする
Oracle Database 11g Release 2までの従来構成
1つのOracleインスタンスが1つのデータベースをホストする
Oracle Database 12c から導⼊された新しい構成
1つのOracleインスタンスが複数のプラガブル・データベース
(Pluggable Database : PDB)をホストする
Oracle Multitenant アーキテクチャ
Copyright © 2021, Oracle and/or its affiliates
12
Non-Container Database構成 Container Database(CDB)構成
Oracleインスタンス
OS上のメモリとプロセス群
データベース
ストレージ上のファイル群
Container Database (CDB)構成の対義語として
Non-CDB構成という名前になった
- 13. Copyright © 2021, Oracle and/or its affiliates
13
「データベース」はストレージ上のファイル群を指す⾔葉
Non-CDB構成のファイル構造
REDOログ・ファイル 制御ファイル データファイル
(表領域)
SYSTEM
UNDO
SYSAUX
TEMP
USERS
データベース
- 14. Copyright © 2021, Oracle and/or its affiliates
14
プラガブル・データベースはデータファイルの集合
CDB構成のファイル構造
REDOログ・ファイル 制御ファイル データファイル
(表領域)
SYSTEM
UNDO
SYSAUX
TEMP
USERS
データファイル
(表領域)
SYSTEM
UNDO
SYSAUX
TEMP
USERS
データファイル
(表領域)
SYSTEM
UNDO
SYSAUX
TEMP
USERS
アプリケーション⽤PDB 1 アプリケーション⽤PDB n
ルート・コンテナ
CDB$ROOT
PDB 1 PDB n
- 16. Oracle Database 19c以降ではStandard EditionでもPDBを3つまで作成可能
Oracle Database Standard Edition 2
• 1つのCDBにPDB を3つまで作成可能
• 18c以前のバージョンでは1つ
Oracle Database Enterprise Edition
• 1つのCDBにPDBを3つまで
• 1つのCDBにPDBを4つ以上作成するには有償オプション Oracle Multitenantが必要
Oracle Multitenantを利⽤するには
Copyright © 2021, Oracle and/or its affiliates
16
4th
SE2, EE
EE + Multitenant Option
2nd
SE2, EE
EE + Multitenant Option
18cまで 19c以降
1つまで 3つまで
- 17. コンテナという管理階層が1つ増える
管理階層が1つ増える
• CDB全体(ルート・コンテナ)の特権ユーザー(Non-
CDB構成のSYS)
• PDBごとの特権ユーザー(SYS)
• PDBごとのアプリケーション・ユーザー
各PDBはセキュリティ上分離されており、独⽴
PDBは容易に移動可能
システム管理はコンテナ毎にまとめて- 標準化
• パッチ適⽤
• バックアップ
• セキュリティ
• ⾼可⽤性構成
• Real Application Clusters
• (Active) Data Guard
Non-CDB構成とCDB構成が異なるところ
Copyright © 2021, Oracle and/or its affiliates
17
PDB 2 PDB n
PDB 1
SYS
user
各PDBは分離されており、ログインしたPDB
から別のPDBは⾒えない
Real
Application
Clusters
Container Database(CDB)
バックアップ
セキュリティ
システム運⽤
パッチ適⽤
- 21. Copyright © 2021, Oracle and/or its affiliates
21
https://www.oracle.com/technetwork/jp/database/multitenant/learn-more/oraclemultitenantt5-8-final-2185108-ja.pdf
参考︓Non-CDB構成とCDB構成の性能⽐較 1
複数Non-
CDB
単⼀CDB
複数PDB
1) コスト観点
1個のNon-CDBと1個のPDB
単⼀データベースの性能差
スループット 平均応答時間 CPU使⽤率
1 Non-CDB 16,000 tps 4.8 ミリ秒 52%
1 PDB 16,000 tps 5.0 ミリ秒 54%
結果︓単⼀データベースでのNon-CDB構成, CDB構成
の性能差はほとんどない。
2) 効率観点
252個のNon-CDBと252個のPDB
同じDB数を動作させるリソース量の⽐較
集積スループット 平均応答時間 メモリ使⽤量 ストレージIOPS
252 Non-CDB 72,600 tps 6.7ミリ秒 1702MB 271,400
252 PDB 130,300 tps 9.9ミリ秒 208MB 131,200
⽐較 +80% +3ミリ秒 1/8 1/2
結果︓CDB構成が圧倒的に少ないリソースで⾼いスルー
プットを実現
CDB構成
Non-CDB構成
vs
- 22. Copyright © 2021, Oracle and/or its affiliates
22
https://www.oracle.com/technetwork/jp/database/multitenant/learn-more/oraclemultitenantt5-8-final-2185108-ja.pdf
参考︓Non-CDB構成とCDB構成の性能⽐較 2
複数Non-CDB
単⼀CDB
複数PDB
3) 密度観点
168個Non-CDBと252個PDB
同じリソースで動作させられるデータベース数
4) 適応性観点
8個のNon-CDBと8個のPDB
複数データベース間での性能の⼲渉
DB数 集積
スループット
平均
応答時間
CPU
使⽤率
コア数 ストレー
ジIOPS
168
Non-CDB
168 86,900
tps
7.3ミリ秒 68% 128 237,000
252 PDB 252 130,300
tps
9.9ミリ秒 68% 128 131,200
⽐較 +50% +50% +2.6ミリ秒 - - 1/2
結果CDB構成の⽅がより50%多くのデータベースをホスト
でき、より⾼いトランザクション・スループットが出ている。
Non-CDB構成
スループットの乱れ
CDB構成
スループットの乱れなし
vs
- 23. Copyright © 2021, Oracle and/or its affiliates
23
Oracle Multitenantを開発に活かす
PDBの移動・複製・迅速な作成
- 24. 開発・テスト環境の多⾯作成
• PDBは移動・クローンが容易
• テスト環境は開発環境からクローン
• 最新環境 or ある特定時点の環境
1つのマスターと複数のPDB環境をグルーピング可能
• マスターデータをPDB間で共有
• 1つの更新で複数のPDBに反映
• 地域・代理店等でシステムをパーティション化
活⽤ユースケース
Copyright © 2021, Oracle and/or its affiliates
本番
開発1
テスト2
テスト1
開発
マスター
Tenant 1 Tenant 2 Tenant 3
マスター
24
- 29. アプリケーション・コンテナと実装例 - データ連携パターン
29
A) Data Link B) Metadata Link C) Extended Data Link
各PDBの
参照イメージ
app_root ( )
PDB
Database Link
app_root
app_root ( )
PDB
PDB
PDB
app_root
A) B)
PDB
PDB
Metadata Link
Copyright © 2021, Oracle and/or its affiliates
- 30. コンテナ・マップ
• 列の値を基にPDBを論理的にパーティション化
• パーティション定義⽤のテーブル(マップ・オブジェクト)を使⽤
• クエリーで頻繁に利⽤される列をパーティション・キーとして指定
• 例︓ 地域名、部署名、⽇付データなど
• 使⽤可能なパーティション⼿法
• レンジ
• リスト
• ハッシュ
参考︓アプリケーション・コンテナと実装例 – Metadata Link の拡張機能
30
ACCOT
(10)
RESERCH
(20)
SALES
(30)
OPER
(40)
emp
dept
metadata link
map (partition ACCOUNTING values (10),
partition RESEARCH values(20),
partition SALES values(30),
partition OPERATIONS values(40));
select * from emp
where deptno = 10;
マップ・オブジェクト
として登録する
I/O の範囲
Copyright © 2021, Oracle and/or its affiliates
- 33. • スイスの保険会社の⽼舗の1社 (1826年創業)
• 3⼈に1⼈のスイス⼈家庭・企業がSwiss Mobiliarの保険に
加⼊、4500⼈の従業員と160万⼈の顧客
• マルチテナンシー環境で650個のプラガブル・データベースと
350個の物理データベースを統合し、保険商品やサービスの
市場投⼊までの期間を6カ⽉からわずか4週間に短縮。
• プラガブル・データベースの簡単なプロビジョニングによって、保
険⾦請求の報告などのサービスを個々のビルディング・ブロック
(マイクロサービス)に分割することで、ビジネス・プロセスの
効率を最適化。
• 迅速な開発環境を活⽤して、保険⾦請求プラットフォームな
どの個々のアプリケーションを、従来の最⼤⽉1回の更新から
⽉4回まで更新し、アプリケーションとサービスを常に最新の状
態に保つ。
“オラクル・データベースをアップグレードすることで、データ
ベース・インフラを次のレベルに引き上げるだけでなく、IT開
発を最適化し、スイス・モバイラーのお客様に⼀流のユ
ニークな体験を提供します。私たちは現在、そして今後数
年の間に、市場での優位性を確保しています。 "
Swiss Mobiliar社 オラクルデータベース管理者
アラン・フラー⽒
Swiss Mobiliar社、市場投⼊までの
時間を短縮し、顧客サービスを最適化
Video
https://www.oracle.com/customers/swiss-mob-1-database/
Copyright © 2021, Oracle and/or its affiliates
33
- 36. 世界最⾼のコンバージド・データベース すべてのデータドリブン・アプリケーションの利⽤シーンに
Oracle Database 21c | 提供中
エンタープライズ・クラス
あらゆるデータ
• 最⾼のパフォーマンス、スケーラビリティ、
信頼性、セキュリティをあらゆるデータと
ワークロードで実現
• OLTP、 分析、 ML、 ストリーミング、
IoT、 インメモリ、 マルチテナント、
⾼速なJSON & グラフ 等
• リレーショナル、 JSON、 XML、 グラフ、
地理情報、 OLAP、 ブロックチェーン
• SQLとトランザクションをあらゆるデータで
• Java、 JavaScript、 AutoML、 SQLマクロ、
マイクロサービス、 イベント、 CI/CD、 APEX
あらゆるワークロード
最⾼の⽣産性 21
c
38 Copyright © 2021, Oracle and/or its affiliates
- 37. ノイジーネイバーや悪意ある隣⼈から保護
• PDBとCDBの両⽅のセキュリティ分離を強化
• プロセス、CPU、メモリ、ネットワーク、ファイルアクセス
• OS機能を利⽤して、CDBとPDBを「NEST」という
独⾃のセキュリティ領域内に配置
• Linux: Namespaces, CGroups, Capability、
SECComp filtering
• 各PDB NESTは独⾃のPIDを持ち、他のNEST内の
PDBにアクセス不可
• DBNEST_ENABLEを
CDB_RESOURCE_PDB_ALLに設定することで有効
参考︓マルチテナント・セキュリティの強化
OS
PDB 1 NEST PDB 2 NEST PDB 3 NEST
CDB NEST
Copyright © 2021, Oracle and/or its affiliates
39
21c
- 40. まとめ
Copyright © 2021 Oracle and/or its affiliates.
42
データベースとアプリケーション開発をシンプルに
データ・ドリブン・アプリケーションをシンプルにかつ迅速に構
築し、⾼いサービス・レベルを実現するためのデータ基盤の
アーキテクチャ = Multitenantアーキテクチャ
• Oracle Multitenantアーキテクチャは最新のOracle
Databaseの標準アーキテクチャ
• アプリから⾒ると従来アーキテクチャと同じ
• 運⽤および連携が容易になる
• 移動・複製を活⽤すれば開発・テスト環境も容易に
• Cloudでの構築ならメンテナンス・フリーで
Multitenantアーキテクチャのメリットも得られる
Autonomous Database活⽤も有⼒な選択肢
- 41. Copyright © 2021, Oracle and/or its affiliates
43
Oracle Live Labs 是非ご体験下さい
https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=737&session=106203674245303