SlideShare une entreprise Scribd logo
1  sur  206
Télécharger pour lire hors ligne
2020年 3⽉13⽇(⾦)
⽇本アイ・ビー・エム株式会社
Data and AI 事業部
運⽤管理からの開放「使う」事への最⼤集中
ハイパフォーマンス・クラウドデータウェアハウスサービス
Db2 Warehouse on Cloud Flex
テクニカルハンドブック
© 2020 IBM Corporation2
⽬次
1. Db2 Warehouse on Cloud 概要
2. データベース接続
3. セキュリティ
4. テーブル設計
5. データロード&アンロード
6. バックアップ&リストア
7. データベース監査
8. モニタリング
9. テクニカルサポート
10.プライベートネットワーク接続
Db2 Warehouse on Cloud テクニカルハンドブック
© 2020 IBM Corporation3
本資料の⽬的
クラウドサービスが、ITの選択肢の⼀つとして当然ながら検討されるようになった現在、クラウド上のサービ
スを組み合わせてデータ分析業務を⾏う企業が増えてきました。その⼀⽅で分析対象データ量の増加と分析⽅
法(BI、機械学習、AI)の多様化により、データ分析基盤に求められる要件も⼤きく変化しています。
本資料では、クラウドデータウェアハウスサービス(Db2 Warehouse on Cloud)を活⽤するユーザー(開発者、
管理者)向けに必要なテクニカル⾯でのガイドをまとめた内容となっております。
本書は、IBMクラウドデータウェアハウスサービスであるDb2 Warehouse on Cloudを中⼼にIBMクラウド
データサービス概要からDb2 Warehouse on Cloudを利⽤するにあたって必要となる前提知識や注意事項をま
とめたガイドとなっています。
Db2 Warehouse on Cloud テクニカルハンドブック
4
1
Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation5
IBM クラウドデータサービス概要 -2020年3⽉時点-
IBMデータストア戦略はハイブリッドクラウド戦略を軸としており、オンプレミスからクラウドまで共通のSQLエンジンをご利
⽤頂くことで共通のスキルセット、機能を提供することを可能としています。以下はIBMデータストア製品、クラウドデータ
サービスの主要ラインナップとなります。
Db2
Warehouse
on Cloud
DWH & Analytics
クラウドサービス
IBM Cloud
AWS
Db2
on Cloud
OLTP DB
クラウドサービス
IBM Cloud
AWS
Analytics
Engine
Hadoop &
Spark サービス
IBM Cloud
Postgres SQL
MongoDB
(Cloud Database)
オープンソースDB
クラウドサービス
(RDB & NoSQL)
IBM Cloud
Cloud Object
Storage
オブジェクト
ストレージサービス
IBM Cloud
Db2
Warehouse
DWH & Analytics
コンテナ
Db2
OLTP DB
ソフトウェア/コンテナ
オンプレミス/クラウド
EDB Postgres
MongoDB
オープンソースDB
ソフトウェア/コンテナ
(RDB & NoSQL)
オンプレミス/クラウド
Cloudera
BigSQL
Hadoop &
Spark サービス
Cloud Object
Storage
オブジェクト
ストレージサービス
Integrated
Analytics
System
DWH & Analytics
アプライアンス
IBM Cloud IBM Cloudオンプレミス/クラウドオンプレミス
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation6
オンプレミスからクラウドサービスまで ”1つの技術”と”同⼀の顧客体験”を提供
フルマネージド
クラウドDWHサービス
Db2 Warehouse
on Cloud
運⽤管理からの開放
「使う」事への最⼤集中
IBM Cloud 各種クラウドベンダー
オンプレミス
プライベート・クラウド
ICP Kubernetes
Azure AWS GCP
IBMが提供するデータベースは、お客様データセンター、IBM Cloud、他社クラウドなどのあらゆる環境で稼働するために、
クラウドサービス・オンプレミスまでそれぞれの形態で共通のSQLエンジンを提供しています。データウェアハウスに特化し
たデータストア製品についても、お客様にプラットフォーム選択の⾃由とマイグレーション容易なDBを提供します。
IBM クラウドデータサービス概要 (ハイブリッドデータマネージメント)
汎⽤データベース
ソフトウェア
Db2
オールラウンド対応
カスタムデータベース
フルマネージド
クラウドデータサービス
Db2 on Cloud
ハイパフォーマンス & ⾼可⽤性
トランザクションデータベース
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation7
製品・サービス名
Integrated
Analytics System
Db2 Warehouse
Db2 Warehouse
on Cloud
Db2 on Cloud (*) Db2
主な
⽤途
OLTP ※ OLTPに強い⾏表も作成可能 ※ OLTPに強い⾏表も作成可能 ※ OLTPに強い⾏表も作成可能 ◎ OLTP⽤に最適化 ◎ ※構築設計設定が必要
DWH ◎DWH、分析⽤に最適化 ◎DWH、分析⽤に最適化 ◎DWH、分析⽤に最適化 ※ OLAPに強い列表作成可能 ◎ ※構築設計設定が必要。
提供形態
アプライアンス
(HW+SW)
コンテナ
(Dockerコンテナベース)
クラウドデータサービス クラウドデータサービス
ソフトウェア
Dockerコンテナ
課⾦
ソフトウェア・ライセンス(HW含)
+保守
ソフトウェア・ライセンス
+保守
従量課⾦ 従量課⾦
ソフトウェア・ライセンス
+保守
インフラ
•IBM提供のHW/SW
•お客様DC
•お客様準備のHW
•クラウド(IBM, AWS,MS等あ
らゆるクラウド)
IBM Cloud
AWS
IBM Cloud
•お客様準備のHW
•クラウド(IBM, AWS,MS等
あらゆるクラウド)
運⽤
HW IBM お客様 IBM IBM お客様
OS IBM お客様 IBM IBM お客様
DB IBM お客様 IBM IBM お客様
アプリ お客様 お客様 お客様 お客様 お客様
(*) IBM Cloud 上ではDb2というサービス名で提供中ですが、SW版との区別をするために本資料ではDb2 on Cloudと表記します。
IBM クラウドデータサービス概要 (ハイブリッドデータマネージメント)
以下はDb2系データストア製品の⼀覧およびその特徴を記した資料となります。共通SQLエンジンをワークロードに特化した
設定で予め提供を⾏うことで構築や運⽤に関わるコストや負荷をオンプレ、クラウド関わらず削減でき、プラットフォーム変更
を容易とすることでベンダーロックインやプラットフォームに依存せずに共通DBを利⽤することが可能です。
< オンプレミスからクラウド 共通のSQLエンジンを利⽤可能 >
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation8
IBM Cloudに加えてマルチクラウドでのサービス展開を積極的に実施
様々なクラウドサービス、アプリケーションとのシナジー、連携を強化
2019年10⽉より、AWS 東京リージョン上でのフルマネージドクラウドサービス開始
完全⾃動運⽤(フルマネージドサービス)
Db2 Warehouse on Cloud Flexモデル マルチクラウド対応
2019年リリース済み 2019年リリース済み
IBM クラウドデータサービス概要 (マルチクラウド対応)
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation9
Db2 Warehouse on Cloud Flexモデル特徴 (主要な特徴のサマリー)
Object Object
Object
ObjectObject
ハイパフォーマンス
⾼可⽤性、運⽤容易性の実現 データレイクへの拡張
フルマネージサービス
HW OS DB
UP
1 2 3 4 N5
( )
⾃由に構成を変更可能1 2
4 5 6In-DB分析処理による⾼速化
⼤量データを利⽤したSPSS Modeler,R
Python/Data Stageを処理をDB内で⾼速化
⼤規模DWHとして利⽤する上で
必要な⾼可⽤性、運⽤管理機能を搭載
構築不要、インフラ運⽤管理からの解放
各種運⽤作業を⾃動化によるコスト削減
並列処理(MPP) & インメモリカラムナー技術
同時実⾏分析性能⾼速化
コンピューティング資源とディスク資源
を柔軟かつ迅速に拡張
オブジェクトストレージ上のファイルを
DB上にある表として透過的に利⽤
アーカイブ
過去履歴
SQLデータアクセス
IBM Cloud
Object Storage
AWS S3
ロード/アンロード
SPSS Modeler
Python/Jupyter
R / R Studio
Db2 Warehouse
⾼可⽤性(HA)構成
運⽤監視管理コンソール
⾃動バックアップ(7世代無料)
エンタープライズセキュリティ
災害対策(DR)
⾃動ワークロード管理
データ加⼯/機械学習
をDB内で処理
Data StageIn-DB ML
3
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation10
Db2 Warehouse on Cloud 特徴 (フルマネージドクラウドサービス)
10
+
IBMの運⽤管理チームがデータベースを24時間運⽤監視
• OSの更新やパッチの適⽤
• 新機能の適⽤やWebコンソールの更新
• 予期しない障害への対応
• バックアップデータの取得・保管
• DB統計情報更新 / 表再編処理
ユーザーは⽇常のデータベース運⽤から解放され、
業務に集中する事が出来ます。
フルマネージド
サービス
IBMによる
24時間365⽇の
運⽤監視
運⽤から解放され
データ分析に集中
1
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation11
Db2 Warehouse on Cloud 特徴 (フルマネージドクラウドサービス)
作業項⽬ 作業主体
環境構築 (ハードウエア, OS, ネットワーク) IBM
24時間のモニタリング IBM
⽇次バックアップ IBM
新機能の適⽤
(kernel updates, Webコンソールの新機能など)
IBM
OSやデータベースのパッチ適⽤ IBM
データモデル作成やユーザー管理 Customer
BIツールやETLツールからの接続 Customer
データのロード Customer
アプリケーション開発 Customer
セキュリティ管理 Customer
セキュリティが企業のガイドラインを
遵守しているかの確認
Customer 11
フルマネージド
サービス
IBMによる
24時間365⽇の
運⽤監視
運⽤から解放され
データ分析に集中
1
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation12
⾼速ストレージネットワーク
※ 複数ノード構成(MPP)以外にもスモールスタート構成であるシングル構成(SMP構成)も選択可能
並列分散処理(MPP) x インメモリカラムナーアクセラレーション
表データ
DBノード#1 DBノード#2 DBノード#3 DBノード#4 DBノード#5 DBノード#6 DBノード#7
Db2 Warehouse on Cloud 特徴 (ハイパフォーマンス 超並列処理アーキテクチャー)
超並列並列技術(MPP) とインメモリカラムナー処理を融合により
⼤量データに対する複雑な分析処理に加え、同時実⾏分析処理をも⾼速化
コンピュートノードとストレージノードを柔軟に拡張可能
⾼速性、簡易性、柔軟性を備えたクラウドデータウェアハウスサービス
超並列処理アーキテクチャー
x インメモリカラムナ技術
により、全論理DBノード
(データスライス)上で、
完全な分散並列処理を実⾏
圧倒的な分析
パフォーマンス
をシンプルに実現
超並列処理 & インメモリカ
ラムナーDB処理により
チューニング作業を削減
しながら、分析処理を
圧倒的に⾼速化
2
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation13
Db2 Warehouse on Cloud 特徴 (インメモリカラムナーアクセラレーション)
データ分析処理を⼿間をかけずに圧倒的に⾼速化
- 超並列処理 x インメモリカラムナアクセラレーション -
①.列圧縮化技術によるデータ圧縮
②.⾃動列フィルタリング(列表)
③.⾃動⾏フィルタリング(データスキップ)
④.SIMD並列処理 (単体論理DBノード内)
⑤.MPP並列処理 (複数論理DBノード並列実⾏)
DBチューニングを排除、
圧倒的な⾼速化を実現
圧倒的な分析
パフォーマンス
をシンプルに実現
超並列処理 & インメモリカ
ラムナーDB処理により
チューニング作業を削減
しながら、分析処理を
圧倒的に⾼速化
2
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation14
⾃由に構成
を変更可能
利⽤状況に応じCPU,RAM
リソースおよびデータ量増加
に合わせてディスクサイズを
別々に変更可能
利⽤のピーク時間に合わせて
CPUリソースを増強・縮⼩
-アプリケーション内のスライド機能を使⽤して、ストレージ (オンライン)
あるいはコンピューティング能⼒をスケール
-スケーリング操作により、即時もしくは事前設定した⽇時で変更が可能
⼩規模構成から、⼤規模構成まで伸縮拡張 (IBM Cloudケース)
ビジネスの要件に合わせてシステム構成を柔軟に変更
Db2 Warehouse on Cloud 特徴 (柔軟にシステム構成を変更可能)
※ モデルアップグレード時はデータ移⾏をIBMサービスチームが実施します。
3
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation15 15
⾃由に構成
を変更可能
利⽤状況に応じCPU,RAM
リソースおよびデータ量増加
に合わせてディスクサイズを
別々に変更可能
利⽤のピーク時間に合わせて
CPUリソースを増強・縮⼩
-アプリケーション内のスライド機能を使⽤して、ストレージ (オンライン)
あるいはコンピューティング能⼒をスケール
-スケーリング操作により、即時もしくは事前設定した⽇時で変更が可能
⼩規模構成から、⼤規模構成まで伸縮拡張 (AWSケース)
ビジネスの要件に合わせてシステム構成を柔軟に変更
Db2 Warehouse on Cloud 特徴 (柔軟にシステム構成を変更可能)
※ AWSではFlex One モデルのリリース提供はありません。
3
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation16 16
コンテナー化アプローチでデプロイメントおよび障害復旧に対応
KubernetesベースのIBM Container Service上に構築されているため、
MPPクラスターでワーカー・ノードを管理・デプロイできます。
⾼可⽤性コンピューティング: ノードを無駄なく使⽤
コンテナー・サービスは、ノード障害を即座に検出します。障害ノードは
使⽤が停⽌され、スタンバイ・プールにある新規ノードの稼働を開始します。
⾼可⽤性ストレージ 「RAID6」
冗⻑性、⾼性能、⾼可⽤性を備えたSSDによるブロック・ストレージを採⽤。
ネットワーク︓ネットワークスイッチの⼆重化で信頼性を確保
Db2 Warehouse on Cloud 特徴 (⾼可⽤性アーキテクチャーによるビジネス継続性)
1 2 3
⾼可⽤性 &
⾼信頼性
耐障害性を考慮した
HAアーキテクチャ
予期せぬノード障害時にも、
データ・ワークロード、照会、
ダッシュボード、レポートの
実⾏の停⽌時間を最⼩化します。
4
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation17
セルフサービス
バックアップ&
DR対応
最⼤7世代のスナップショッ
ト
バックアップを保持
必要な場合、バックアップ
を⾼速でリストア
バックアップストレージの
コストは標準⾦額に含む
⾃動および任意のバックアップ
バックアップは⾃動的に⽇次取得。ユーザー任意のタイミングでのバックアップ
も可能。取得したバックアップイメージを⽤いた復旧も任意のタイミングで1時間
以内での復旧が可能
バックアップの冗⻑化
バックアップイメージはIBM Cloud Object Storageに保管され⾃動的に複数の
データセンターにコピーされる(DCサイト障害時はリモートサイトバックアップ
を利⽤可能)
17
4
第1章 Db2 Warehouse on Cloud 概要
Db2 Warehouse on Cloud 特徴 (⾼可⽤性アーキテクチャーによるビジネス継続性)
© 2020 IBM Corporation18
ハイブリッド
ワークロード
への対応
ワークロードや応じて最適な
表形式を選択して利⽤可能
ワークロードに合わせたカスタム化
により単⼀DB内で複数のワーク
ロードを効率的に処理
⾃動もしくはカスタムで
ワークロードごとにリソース制御
ワークロード、利⽤⽤途に応じて最適な表形式(⾏/列形式)を選択、最適化可能
⾃動もしくはカスタマイズ化されたワークロード管理により、必要なリソースを制御
アダプティブワークロード管理 ユーザー・モデルアダプティブワークロード⾃動管理
4
第1章 Db2 Warehouse on Cloud 概要
Db2 Warehouse on Cloud 特徴 (ハイブリッドワークロードへの対応 : ⾏/列対応)
© 2020 IBM Corporation19
SPSS Modeler
Data Stage
R,Python 連携
In-DB処理による⼤量データ
の分析処理の⾼速化
分析に必要なデータの準備
加⼯処理をDWHにオフロード
処理時間の⼤幅な短縮を実現
使い慣れたインターフェース
処理だけをDB側にオフロード
分析処理を⾼速化
不要なデータの移動が発⽣せずDBの"中"で処理を完結
⼤量データを利⽤した分析処理の⾼速化
⼤量データのやり取りによる遅延、クライアント側環境の制約
従来のRDBMSではクライアント環境にデータを移動させて分析処理を実施
様々なR,Python分析関数、
SPSS Modelerによる
加⼯処理をサポート
Db2 Warehouse on Cloud 特徴 (In-DB Analyticsによる分析処理の⾼速化) 5
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation20
データレイク
への拡張
構造化データに加えて、⾮構造化
データをDBに格納して検索可能
オブジェクトストレージに格納さ
れたデータに対して透過的に
SQLで扱うことが可能
利⽤⽤途に応じたデータタイプをDBに格納して利⽤することができ、
JSONファイル、ラージテキストファイル、バイナリファイルを格納、参照可能
オブジェクトストレージに配置したデータ,ファイルに対して透過的にSQL参照
あたかも⼿元にある表のように各種データの参照、ロードを⾏うことが可能
構造化データ
・⼀般的にRDBへ格納する形式
・CSV、TSV形式のファイル
・固定⻑ファイル
・Excel形式のファイル
⾮構造化/半構造化データ
・規則性のある⾮構造化データ
・JSONファイル /⼀部のテキストファイル
・規則性のない⾮構造化データ
・テキスト⽂書
・画像データ
6
第1章 Db2 Warehouse on Cloud 概要
Db2 Warehouse on Cloud 特徴 (マルチデータタイプ対応 & データレイクへの拡張)
© 2020 IBM Corporation21
Oracle DB、
Netezzaからの
移⾏容易性
Oracle DB/Netezza
互換機能 & 各種移⾏ツール
を備えており、移⾏に関わる
ワークロードを低減
Oracle/Netezza互換機能(SQL構⽂サポート、運⽤管理ツール対応)
移⾏ツール(移⾏性評価、⾮互換修正)による移⾏リスク低減
⼤量データの移⾏をセキュアかつ⾼速に実現するLiftツール
NW帯域を最⼤限する⼤容量データ転送ロード機能による移⾏時間短縮を実現
( +
)
+2
B B
B B
:
A
D
:A
LP
M
S
S
DQ N
2
B/
B
(
) /
SQL/DML
PL/SQL
) (
Db2 Warehouse on Cloud 特徴 (Oracle DB/Netezza互換性機能 / 移⾏ツール) 7
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation22
&
Db2 Warehouse on Cloud 活⽤シーン(1)
1 顧客データ分析基盤(機械学習/セルフサービスBI)
顧客をより深く理解し、新たな価値につなげる膨⼤なデータから顧客の⾏動やニーズを把握、
顧客が求めるものをいち早く商品やサービスに反映し、個別化されたオファーをタイムリーに提供
(例:顧客への追加販売 /リピート率向上 /離反・休眠防⽌ /新規顧客獲得)
購買履歴データ
DataStage
収集/加⼯ 蓄積 データ可視化・分析
商品データ
顧客データ
Lift CLI
Watson Studio
Data Refinery
Data Replication
1.顧客情報や購買履歴など営業データをDb2 Warehouse on Cloudに集約
2.各店舗からDb2 Warehouse on Cloudにアクセスすることで複数のデータ・セットを組み合わせて、セルフサービスで
分析を⾏い、新たな洞察を得て、売上向上/顧客満⾜度向上につなげる
3.顧客動向、クロスセル、離反率、新規顧客獲得等、予測モデルを構築して分析を⾏える基盤として利⽤
1 2
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation23
&
Db2 Warehouse on Cloud 活⽤シーン(2)
2
情報系システム(BI/DWH)のクラウド展開
企業活動や顧客データの可視化のための既存BI/DWH基盤をクラウド上で実現し、よりビジネスの変化に強み
を持った情報系基盤の構築を実現。さらにパフォーマンス、運⽤管理負荷の⼤幅削減、コスト課題を解決
DataStage / Data Refinery
IBM Watson Studio
IBM Lift
Object Storage
収集 蓄積 データの可視化・分析
1. DBに格納されている基幹系データはETLツールでDb2にロード CSV等のファイルはLiftツールでDb2にロード
2.Object Storageに格納されたデータはWEBブラウザGUIもしくはSQL経由でDb2 Warehouse on Cloudにデータロード
3. BIツールでデータの可視化
4. Watson Studio等で機械学習し分析モデル作成、API展開に業務適⽤
1
2
3
4
各種BIツール / 分析ツール
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation24
/
/ / /
Db2 Warehouse on Cloud 活⽤シーン(3)
3 IoTデータをBIで可視化 & AI/機械学習で活⽤
デバイスから出⼒されるIoTデータをリアルタイム/ニアリアルタイムで分析することで新たな洞察を獲得。
異常値や故障に関わるパターンの検知、可視化、予測の実現によりビジネス上の効果的な意思決定を⽀援。
Sensors and IoT
2
3
Apache kafka
IBM Watson Studio
データ収集 蓄積 分析
Watson IoT Platform 1
Clickstream data 4
1. IoTデータはWatson IoT Platformで収集
2. その他、モバイルからのクリックストリームやセンサーデータはストリーミング処理
3. Cognos on CloudでIoTデータを可視化
4. Watson Studio等で機械学習し分析モデル作成、API展開に業務適⽤
各種BIツール / 分析ツール
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation25
参考: Db2 Warehouse on IBM Cloud 参考リンク集
Db2 Warehouse on Cloud 製品紹介ホームページ(概要、FAQ、動画)
https://www.ibm.com/jp-ja/cloud/db2-warehouse-on-cloud
Db2 Warehouse on Cloud Knowledge Center (マニュアル)
https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.kc.doc/welcome.html
Db2 Warehouse on Cloud What's New サイト (最新Update情報)
https://www.ibm.com/support/pages/whats-new-ibm-db2-warehouse-cloud
Db2 Warehouse on Cloud 概要紹介デモ動画
https://www.youtube.com/watch?v=JmmDLQ_ZCzU
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation26
• Db2 on Cloud
• Cloud Database
• Cloud Object Storage
参考:その他の主要なクラウドデータサービス概要 (⼀部抜粋)
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation27
Db2 on Cloud 概要
概要︓
• フルマネージドのDb2 as a Service
• IBMがデータベースを 24x7x365 管理
• Db2 Enterprise Advanced Editionの機能を利⽤可能
• スモールスタートが可能なプランを提供
• Flexプラン (推奨)
• メモリ、ストレージ、CPU コアを個別に拡張可能
• Precise Performanceプラン
• 固定のリソースとベア・メタル・サーバーを提供
• ⾼い可⽤性と信頼性
• コンテナベースの環境を提供し復旧時間を短縮。
クラウドストレージが⾼い可⽤性を提供
• バックアップを⾃動的に取得
• HA、DRも構成可能
• 99.99のuptime SLAを提供(HA構成選択時)
• 他データベースとの互換性
• Oracle互換機能を提供
• ANSI SQL準拠
• Microsoft SQL Server, Oracle, MySQL, PostgreSQL
に対してのアクセスインターフェースを提供
• Cloud Service EndpointによるPrivate接続が可能
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation28
Db2 on Cloud 概要
• Flexプランは1core/4GBメモリー、2GBストレージ
の⼩規模環境からスタート
• リソースはスライドバーで簡単に変更可能
• ゼロ・ダウンタイムのスケールも可能(要HA構成)
• ⾃動および任意のバックアップ
• バックアップは⾃動的に⽇次取得
• 14世代のイメージを保存
• バックアップの冗⻑化
• バックアップイメージはICOSに保管され
⾃動的に複数のデータセンターにコピー
• 冗⻑化構成による安定したサービスを提供
• ログミラーリングによる冗⻑化構成
(HADR機能によるローカルHAを提供)
• 障害時にもトランザクションをロスせず
スタンバイノードへの引継を完了
• 災害構成により他のリージョンに引継可能な
データベースノードを構成
• ローカルの冗⻑化に加え、万が⼀の災害時や
メンテナンス時のサービス継続のために他リージョン
にもデータベースを構成可能
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation29
Db2 on Cloud の⾼可⽤性オプション
Db2 on Cloud
Single Node
Db2 on Cloud
High Availability Node Option
• 1ノード構成
• ⽇次⾃動バックアップ
(データベースバックアップお
よびアーカイブログ)
バックアップイメージを複数の
データセンターに保管
• データベースの死活監視
• 障害時、IBMによるリカバリ
• 2ノード構成(同⼀DC内)
• Db2 HADR機能を利⽤した
Active-Standby構成
• 同期レプリケーション
• 引継は約3分以内
• 障害時の⾃動的なリカバリ
• ローリングアップデート
• ⽇次⾃動バックアップ
(データベースバックアップおよび
アーカイブログ)
バックアップイメージを複数のデー
タセンターに保管
• データベースの死活監視
• 障害時、IBMによるリカバリ
Db2 on Cloud
Disaster Recovery Node Option
• 2または3ノード構成(リージョン間)
• Db2 HADR機能を利⽤したActive-
Active構成 (UR read)
• ⾮同期レプリケーション
• 障害時、IBMによるリカバリ
• ユーザー操作によるノード引継が可能
Data Center #1
Active
Data Center #1
Active Standby
同期
Data Center #1
Active Standby
同期
Data
Center #2
Active
⾮同期
Data Center
#1
Active
Data Center
#2
Active⾮同期
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation30
IBM Cloud Object Storage (クロス・リージョナル)
FollowerLeaderFollower
Customer 1
Namespace
Customer 2
Namespace
Kubernetes cluster within a IBM Cloud Region
Availability Zone B Availability Zone CAvailability Zone A
バックアップ
レプリケーション
• IBMが管理するIKS上でサービス提供
• Uptime SLA 99.95%の
⾼可⽤性構成
• デフォルトでMZRに分散配置
(データベースの種類ごとに
2メンバーまたは3メンバーで構成)
• シンプルな接続のための
1つのエンドポイント
• クロス・リージョナル の
Cloud Object Storageに
⾃動バックアップ
• メンバー間は⾮同期レプリケーション
• 障害時は⾃動でフェイルオーバー
(30秒以内に切り替え)
• ストレージには10 IOPS/GBの
Endurance Storageを利⽤
レプリケーション
MongoDBRedisPostgreSQL Elasticsearch RabbitMQetcd
IBM Cloud Databasesは、オープンソースのデータベースのフルマネージド・サービス(DBaaS)です。
特徴︓
IBM Cloud Databases (PostgreSQL, MongoDB, その他) 概要
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation31
以下の項⽬を選択可能
• デプロイするリージョン
• メモリとディスクサイズ
• データベースごとに最⼩
割り当て量が決まっている
• CPUコア
• 共有または専有を選択
• 専有の場合はメンバーに
何コア割り当てるか選択
• バージョン
• ディスクの暗号鍵
• Key Protectサービスと
組み合わせて利⽤
• エンドポイント
• パブリック/プライベート
を選択
• プライベートを選択する場合は
CSEを有効化する必要がある
IBM Cloud Databases (PostgreSQL, MongoDB, その他)
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation32
IBM Cloud Databases (PostgreSQL, MongoDB, その他)
バックアップ
• ⽇次で⾃動バックアップ
• 任意のタイミングで取得も可能
(IBM Cloudコンソール、API、CLI)
• データはクロスリージョナルのICOSに保管
• 保存期間は30⽇
• バックアップ時にデータは圧縮
• DBインスタンス全体のサイズと同サイズまで
ストレージ料⾦が無料
• バックアップは削除不可
リストア
• IBM CloudコンソールまたはCLI経由でリストア
• リストアすると新規インスタンスが作成される
• 直近7⽇間のPITR(Point-in-Time Recovery)にも対応
(PostgreSQLのみ)
• クロスリージョンのリストアも可能
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation33
IBM Cloud Databases (PostgreSQL, MongoDB, その他)
• コンソールやAPI、CLIからリソースのスケールが可能
メモリ
• スケールアップ/ダウンが可能
ストレージ
• スケールアップのみ
• ディスク容量を少なくしたい場合は
新規インスタンスを作成して対応
CPU
• 専有CPUプランを選択している場合のみ、
スケールアップ/ダウンが可能
• IPホワイトリストによるアクセス制御が可能
リソースのオートスケールは未対応です
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation34
IBM Cloud Databases (PostgreSQL, MongoDB, その他)
読み取り専⽤のレプリカDBを作成可能(PostgreSQLのみ)
特徴︓
• ソースDBの負荷軽減
• DR⽤途としても利⽤できる
• 同⼀/別 リージョンどちらでも可能
• リーダーと⾮同期レプリケーション
• リーダーと同じ資格情報で操作可能
制約︓
• メジャーバージョンはリーダーと同⼀にする必要がある
• リードレプリカに対するバックアップは取得されない
• IPホワイトリストとの共存はできない
• 東京で作成した場合、EUリージョン(eu-de)には配置でき
ない
• リードレプリカは5つまで
• リーダーと同期してスケールしない
• リードレプリカのディスク容量は作成時に⾃動で計算
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation35
IBM Cloud Object Storage 概要
主な特⻑︓
• ⾼い回復性と可⽤性
– 保存データは3ヵ所以上で⾃動的に分散保管
– 99.9999999999999 (15 nine) の耐久性
– 保存データは⾃動的に暗号化
• コスト効率の⾼いストレージ
– 1GB/⽉ を数円から使える安価な従量課⾦
– GBからEB (エクサバイト) 超の拡張性
– 最⼤25GB/⽉まで無料なライトプラン
• 多様な接続性
– S3互換APIのため、資格情報およびエンドポ
イントを既存ツールの連携に利⽤可能
– プライベートエンドポイントの提供により、
セキュアかつ無制限な帯域幅を利⽤可能
⽂章、写真、PDF、動画、バックアップなど、いかなるフォーマットでも格納できる⾮定型データ⽤のストレー
ジです。静的データの⻑期保管、メディア・オブジェクトの保管、メディアの配信などに利⽤されています。
Public
Endpoint
Private
Endpoint
ユーザー アプリサーバー
IBM Cloud Object Storage 例 : 「Regional – 東京」における分散保管
バケット名は、全てのアカウントを通じてユニークな値を設定する必要があります。
バケット数は最⼤100ですが、バケットあたりのオブジェクト数は無制限です。1オブジェクトの最⼤サイズは、10TBです。
https://www.ibm.com/jp-ja/cloud/object-storage/faq
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation36
IBM Cloud Object Storage 概要 (レジリエンシーとロケーション)
以下のレジリエンシーとロケーションから、データ保管場所を選択できます。
l Cross Region – 1つのGeo内の3つのリージョンにまたがって保管され、最も可⽤性と回復性に優れます。
l Regional – 1つのリージョン内の複数のゾーンにまたがって保管され、最も可⽤性とパフォーマンスに優れます。
l Single Site – 1つのデータセンター内の複数のデバイスにまたがって保管され、最も局地性に優れます。
AP Cross Region
Melbourne
EU Cross Region
Toronto
US Cross Region
London
Dallas
Washington DC
Frankfurt
Chennai
Amsterdam
Sao Paulo
Oslo
Tokyo
Seoul
San Jose, CA
Milan
Hong
Kong
Montreal
Mexico City
Sydney
第1章 Db2 Warehouse on Cloud 概要
© 2020 IBM Corporation37
IBM Cloud Object Storage 概要 (ストレージクラス)
お客様のデータ利⽤パターンに合わせた多様なストレージ・モデルを提供します。
Storage Class Standard Vault Cold Vault Flex
データ特性 アクセス頻度が⾼い よりアクセス頻度が低い 最⼩限のアクセスでよい アクセス頻度が動的または予測不可能
主な⽤途 コラボ、ファイル共有など バックアップ、災害対策など アーカイブ、監査ログ保管など クラウドネイティブ、AI アプリなど
アクセス頻度 ⽉に複数回 ⽉に1回、またはそれ以下 3ヶ⽉に1回、またはそれ以下 使いたいときに使いたいだけ
最低保管期間 なし 30⽇ 90⽇ なし
最低オブジェクトサイズ なし 128 KB 256 KB なし
データ保管料⾦ ⾼い 普通 安い 普通より安い
データ読出料⾦ 無料 安い ⾼い 普通
【参考】ストレージクラスごとの課⾦イメージ
1TB
保存時の
データ
保管料⾦
+
データ
読出料⾦
Flex では上限値(Cap)があるので急激な読出時も安⼼︕
読出率14%以下では、Cold Vault が最安値
全保管データ量 (1TB) に対する読出データ量の割合
それぞれの詳細な価格体系は
下記リンクをご参照ください。
https://www.ibm.com/cloud/object-
storage/pricing/
合算の上限値が
設定されています
第1章 Db2 Warehouse on Cloud 概要
38
2
データベース接続
© 2020 IBM Corporation39
Webコンソールへのアクセス
• Db2 Warehouse on Cloudを契約すると、アクセスに必要なクリデンシャル情報が送付さ
れますので、そちらの内容を使ってWebコンソール *1 へアクセスしできます。
EXPLORE
・テーブル、ビュー 、MQT
・ストアドプロシージャー
・ロール
SETTINGS
・契約内容の確認
・ユーザーの管理
CONNECTION INFO
・接続情報の表⽰
・Driver Packageダウンロード
HELP
・Caseの確認
・マニュアルへのリンク
MONITOR
・システム状況
・ワークロード、 等のモニター
データLOAD
SQL実⾏
BACKUP AND RESTORE
・バックアップの取得⽇時指定
・バックアップ/リストアの管理
Webコンソール
ログイン画⾯
*1 Webコンソールについては、「GUIベースの代表的なクライアント – 1. Webコンソール」
も合わせてご確認ください。
第2章 データベース接続
© 2020 IBM Corporation40
データベースへの接続要件
• Db2 Warehouse on Cloudのデータベースへの接続先情報は、Webコンソールから確認すること
ができます。
• Db2 Warehouse on Cloudに接続するためには、Db2 v11.1もしくはそれ以上のドライバが必要
となります。Db2 Warehouse on CloudのDb2バージョンに合わせた最新のドライバーの利⽤を
推奨します。
• JDBC、ODBCおよびDb2ネイティブでの接続をサポートします。
• 本資料では、Db2 Warehouse on Cloudに接続しデータベースを操作するためのツールを紹介し
ています。⼀部IBMではないベンダーのツールを紹介をしていますが、各種確認事項は提供ベン
ダーへご確認ください。
• Db2 Warehouse on Cloudは、デフォルトではSSL接続となります。SSLなしでの接続が必要な
場合はチケットのオープンが必要となります。
• ポートは SSLなしは50000、SSLありは50001が利⽤されます。クライアントとの通信経路にお
いて、これらのポートが空いていることを確認してください。
第2章 データベース接続
© 2020 IBM Corporation41
データベースへの接続先情報
• 接続先の情報(ホスト、ポート番号など)
− Webコンソールに記載
- をクリックしてサイドメニュー「CONNECTION INFO」>「Connection Information」
- JDBC接続時に必要となるURL、JDBCドライバーも同画⾯で提供される
SSL接続に必要な証明書を取得
第2章 データベース接続
© 2020 IBM Corporation42
データベースへの接続先情報
• 接続先の情報(ホスト、ポート番号など)
クライアントツール名称 ポート番号 実⾏例
Webコンソール
REST API
8443
(443も可)
https://Db2WoC ホスト:8443
DBへの接続 50001 (SSLあり)
50000 (SSLなし)
DBヘ接続するアプリケーションから指定するポート番
号
SSLあり
jdbc:db2://Db2 WoC ホスト
名:50001/BLUDB:user=bluadmin:password=<your
_password>;sslConnection=true;
SSLなし
jdbc:db2://Db2 WoC ホスト
名:50000/BLUDB:user=bluadmin:password=<your
_password>;
第2章 データベース接続
© 2020 IBM Corporation43
Db2ドライバーのインストール⽅法
• ドライバのダウンロード
− Db2 Warehouse on CloudのWebコンソールか
らダウンロードする
− IBMサポートのページよりダウンロードする
- 最新版はIBMサポートのページとなります。
• インストーラーを起動しNextを押していきイン
ストール
− デフォルトパス:C:¥Program Files¥IBM¥IBM
DATA SERVER DRIVER
• 接続のためのjarファイルは¥javaディレクトリ
配下に配置
− ツールなどでjarの指定された場合は、
db2jcc.jarを指定する
Windows PC向け⼿順例
第2章 データベース接続
© 2020 IBM Corporation44
クライアント・ソフトウェア
第2章 データベース接続
© 2020 IBM Corporation45
クライアント・ソフトウェアからSQLを実⾏
• クライアント・ツールからのDBへの接続⽅法には、以下のような⽅法があります。
− CLIベースの接続・操作
− GUIベースの接続・操作
− アプリケーション(JDBC, ODBCなど)からの接続
CLP Db2 Warehouse Clientコンテナ、Data Server Clientに含まれるDb2標準のコマンドラインインター
フェース
CLPPlus Db2 Warehouse Clientコンテナ、Data Server Client、Db2 Data Server Driver Packageに含まれる
Oracle DB 互換のコマンドラインインターフェース
Webコンソー
ル
Db2 Warehouse on Cloudに付属する統合WebコンソールからSQLの実⾏やDB操作が可能
開発ツール Db2 Data Server Driver Packageに含まれるJDBCドライバ等を利⽤して開発ツールか操作する。
第2章 データベース接続
© 2020 IBM Corporation46
CLIベースの代表的なクライアント種類
• Db2 Warehouse on Cloudに接続可能な代表的なCLIベースのクライアンは下記になりま
す。これらクライアントから利⽤可能CLP(コマンド⾏プロセッサー)を次ページ以降で
紹介します。
クライアントツール名 ⽤途、役割 サポートOS
Db2 Warehouse Client
Container
Db Warehouse ClientコンテナはDockerコンテナとして提供され、全てのクラ
イアントセットを含みます。
Db2 Data Server Client⼀式および PDA(Netezza) からDb2 Warehouseのマ
イグレーションツール群(dbsql、dbload、db_migrate、DHP)⼀式が提供され
ます。
必須:DockerサポートOS
- Windows 10以上
- MAC
- Linux
Db2 Data Server Client Db2 コマンド⾏プロセッサー(CLP)、CLPPlus、Db2ベースのロードユーティリ
ティ等、従来のDb2で利⽤されているクライアント⼀式を含みます。
Db2 Data Server Driver Packageに含まれる⼀連のドライバ⼀式も同時に導⼊
されます。
Windows, Linux, AIX
詳細はSoftware Product
Compatibility Reportsを
確認ください
Db2 Data Server
Driver Package
ODBC、CLI、.NET、OLE DB、PHP、Ruby、JDBC、またはSQLJを使⽤するア
プリケーションのための接続ドライバーパッケージです。SQLステートメントお
よびスクリプトを動的に作成、編集、および実⾏するためのCommand Line
Processor Plus (CLPPlus)も含まれます。
主にアプリケーション、開発ツールから接続するために必要なドライバを導⼊す
る際に、クライアント環境へ導⼊します。
Windows, Linux, AIX
詳細はSoftware Product
Compatibility Reportsを
確認ください
第2章 データベース接続
© 2020 IBM Corporation47
CLP(コマンド⾏プロセッサー)とは
• CLP
− SQL実⾏、オブジェクトの作成・削除、データベースの管理などの管理操作を実⾏することがで
きる対話式CUIツール(dbsqlと同様)
− IBM Db2のコマンドインターフェース互換コマンドラインツール
− Db2 Warehouse Clientコンテナをクライアントに導⼊し、コンテナ上で実⾏する
- Db2 Warehouse Clientコンテナを導⼊する場合はDockerの導⼊が必要
− IBM Data Server Clientをクライアントに導⼊し、クライアント上で実⾏する。
- クライアントから実⾏する場合は、予めノード、データベースのカタログをクライアントから実施
• 構⽂
$ db2 [option-flag] [ [db2 command] or [sql-statement] ]
CLPコマンドマニュアルリンク先
https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.admin.cmd.doc/com.ibm.db2.luw.admin.cmd.doc-gentopic2.html
第2章 データベース接続
© 2020 IBM Corporation48
CLPの呼び出し
• 対話式⼊⼒モード
− CLPを起動し、⼊⼒プロンプトから直接コマンドを⼊⼒する⽅法
• コマンドモード
− CLPの引数に実⾏コマンドを⼊⼒する⽅法
• バッチモード
− CLPのファイル⼊⼒オプションを使⽤してファイルからコマンド⼊⼒する⽅法
$ db2
(c) Copyright IBM Corporation 1993,2007
DB2 クライアント 11.1.4.5 コマンド⾏プロセッサー
コマンド・プロンプトからデータベース・マネージャーのコマンド、および SQL
ステートメントを呼び出せます。 例:
db2 => connect to sample
db2 => bind sample.bnd
$ db2 =>
$ db2 "connect to BLUDB user <username> using <password>"
$ db2 "select * from CLP.T1"
$ db2 “terminate”
$ db2 –tvf select_T1.sql
以後、対話式にSQLを実⾏可能
第2章 データベース接続
© 2020 IBM Corporation49
ノード、データベースのカタログ (SSL接続)
• クライアントからDb2 Warehouse on CloudにSSL接続するために、サーバーの証明書
(DigiCertGlobalRootCA.crt)をダウンロードし、GSKitを使って鍵ストアへ証明書を
追加し、SSLをサポートするようにクライアントをセットアップ *1
− 証明書を鍵ストアへ追加 *2
− SSLをサポートするようセットアップ
$gsk8capicmd_64 -keydb -create -db keystore.kdb -pw password -stash
$ls
DigiCertGlobalRootCA.crt keystore.kdb keystore.sth keystore.crl keystore.rdb
$gsk8capicmd_64 -cert -add -db keystore.kdb -pw db2inst1 -label BLUDB_SSL -file
DigiCertGlobalRootCA.crt
*1 SSLによってクライアント/サーバー間の通信を暗号化する⽅法 - [SSLサポートの構成 (クライアント側)]
https://www.ibm.com/support/pages/db2-luw-ssl-
%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E9%96%93%E3%81%
AE%E9%80%9A%E4%BF%A1%E3%82%92%E6%9A%97%E5%8F%B7%E5%8C%96%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95
*2 2つ以上のDb2 Warehouse on CloudにSSL接続する場合、異なるLabel名と証明書名を使って鍵ストアに2つ⽬の証明書を追加してください。
コマンド例︓$gsk8capicmd_64 -cert -add -db keystore.kdb -pw db2inst1 -label BLUDB_SSL2 -file DigiCertGlobalRootCA2.crt
$db2 update dbm cfg using SSL_CLNT_KEYDB C:¥SSL¥keystore.kdb
DB20000I UPDATE DATABASE MANAGER CONFIGURATION コマンドが正常に完了しました。
$db2 update dbm cfg using SSL_CLNT_STASH C:¥SSL¥keystore.sth
DB20000I UPDATE DATABASE MANAGER CONFIGURATION コマンドが正常に完了しました。
第2章 データベース接続
© 2020 IBM Corporation50
ノード、データベースのカタログ (SSL接続)
• クライアントからDb2 Warehouse on CloudにSSL接続するために、ノード、データ
ベースのカタログを実施
− クライアントからノードのカタログを実施する
− クライアントからデータベースのカタログを実施する
− 実施例
db2 catalog tcpip node <カタログノード名> remote <ホスト名/IP> server <ポート番号> security ssl
db2 catalog database <データベース名> as <カタログデータベース名> at node <カタログノード名>
$ db2 catalog tcpip node DB2WOC remote db2whoc-xxxxx.xxxx.net server 50001 security ssl
DB20000I CATALOG TCPIP NODE コマンドが正常に完了しました。
DB21056W ディレクトリーの変更は、ディレクトリー・キャッシュがリフレッシュされるまで反映されません。
$ db2 terminate
DB20000I TERMINATE コマンドが正常に完了しました。
$
$ db2 catalog database BLUDB as BLUDB at node DB2WOC
DB20000I CATALOG DATABASE コマンドが正常に完了しました。
DB21056W ディレクトリーの変更はディレクトリー・キャッシュがリフレッシュされるまで反映されません。
$ db2 terminate
DB20000I TERMINATE コマンドが正常に完了しました。
第2章 データベース接続
© 2020 IBM Corporation51
ノード、データベースのカタログ (⾮SSL接続)
• クライアントからDb2 Warehouse on Cloudに⾮SSL接続するために、ノード、データ
ベースのカタログを実施
− クライアントからノードのカタログを実施する
− クライアントからデータベースのカタログを実施する
− 実施例
db2 catalog tcpip node <カタログノード名> remote <ホスト名/IP> server <ポート番号>
db2 catalog database <データベース名> as <カタログデータベース名> at node <カタログノード名>
$ db2 catalog tcpip node DB2WOC remote db2whoc-xxxxx.xxxx.net server 50000
DB20000I CATALOG TCPIP NODE コマンドが正常に完了しました。
DB21056W ディレクトリーの変更は、ディレクトリー・キャッシュがリフレッシュされるまで反映されません。
$ db2 terminate
DB20000I TERMINATE コマンドが正常に完了しました。
$
$ db2 catalog database BLUDB as BLUDB at node DB2WOC
DB20000I CATALOG DATABASE コマンドが正常に完了しました。
DB21056W ディレクトリーの変更はディレクトリー・キャッシュがリフレッシュされるまで反映されません。
$ db2 terminate
DB20000I TERMINATE コマンドが正常に完了しました。
第2章 データベース接続
© 2020 IBM Corporation52
ノード、データベースのカタログ (共通)
• カタログの操作
− カタログしたデータベースによる接続
− カタログの削除
− カタログの⼀覧
db2 connect to BLUDB user bluadmin user xxxxx
db2 uncatalog database bludb ・・・カタログデータベースの削除
db2 uncatalog node db2woc ・・・カタログノードの削除
db2 list node directory show detail
db2 list db directory
第2章 データベース接続
© 2020 IBM Corporation53
CLPの呼び出し (Windowsクライアント)
• CLPの呼び出し
− スタートメニューから IBM Data Server Clientのコマンド⾏プロセッサーから起動
− またはdb2cmdコマンドを実⾏
− 起動したDB2COPYからCLPコマンドを実⾏する
スタートメニュー db2cmd
第2章 データベース接続
© 2020 IBM Corporation54
CLPの呼び出し (Linuxクライアント)
• CLPの呼び出し⽅法
− IBM Data Server Clientを導⼊したユーザにて実⾏
- サーバと同様にコマンドプロンプトから実⾏可能
− 別ユーザで実⾏する場合はdb2profileを読み込むことで実⾏可能
- 導⼊ユーザの.bashrcファイルからdb2profileの読み込み部分を取得する
Linuxクライアントからログイン
# The following three lines have been added by UDB DB2.
if [ -f /home/db2inst1/sqllib/db2profile ]; then
. /home/db2inst1/sqllib/db2profile
fi
※上記をCLPを使⽤したいユーザーの.bashrcに追記することで、CLPを使⽤できるようになる
第2章 データベース接続
© 2020 IBM Corporation55
CLPの停⽌
• CLPの停⽌⽅法
− quitコマンド
- CLPを停⽌する
− terminateコマンド
- CLPの停⽌に加え、関連付けられたバックエンド・プロセスを除去する
- 使⽤しているメモリーをすべて解放する。
- (STOP DATABASE MANAGERやdb2stop実⾏前はterminateを発⾏する必要がある)
$db2 terminate
DB20000I TERMINATE コマンドが正常に完了しました。
第2章 データベース接続
© 2020 IBM Corporation56
CLPのリターンコマンド
• コマンドモード、バッチモードではCLPからリターンコードが返される
• 正常終了を判定するスクリプトサンプル(Bシェル)
• 複数のSQLを発⾏した場合、リターンコードは論理和で返される
− 4つのSQLが「0(成功)」「1(結果なし)」 「1(結果なし)」 「4(エラー)」の場合は「5」が返却
される
#!bin/sh
db2 "select * from SCHM1.T1" ;
if [ "$?" = "0" ]
then echo "OK"
else
echo "NG"
fi
コード 説明
0 Db2 コマンド、 SQLステートメントが正常に実⾏
1 SELECT または FETCHステートメントが⾏を戻さない
2 Db2コマンド、 SQLステートメントが警告終了
4 Db2コマンド、 SQLステートメントがエラー終了
8 CLPのシステムエラー
第2章 データベース接続
© 2020 IBM Corporation57
CLPオプション1
• デフォルトのCLPオプション
− list command optionsコマンドにて確認が可能
$db2 "list command options"
Command Line Processor Option Settings
Backend process wait time (seconds) (DB2BQTIME) = 1
No. of retries to connect to backend (DB2BQTRY) = 60
Request queue wait time (seconds) (DB2RQTIME) = 5
Input queue wait time (seconds) (DB2IQTIME) = 5
Command options (DB2OPTIONS) =
Option Description Current Setting
------ ---------------------------------------- ---------------
-a Display SQLCA OFF
-b Auto-Bind ON
-c Auto-Commit ON
-d Retrieve and display XML declarations OFF
〜(省略)〜
-v Echo current command OFF
-w Display FETCH/SELECT warning messages ON
-x Suppress printing of column headings OFF
-y Get SQL message text from server ON
-z Save all output to output file OFF
$
※CLPコマンドオプション リンク先
https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0010410.html
第2章 データベース接続
© 2020 IBM Corporation58
CLPオプション2
• 環境変数からオプションを変更
− 「DB2OPTIONS」によりデフォルトのオプションを変更できる
− ONにする場合はオプションの前に不符号(-)、OFFにする場合はオプションの前に正符号(+)を
つける
#デフォルトのAuto-Commitの設定は「ON」
$db2 “list command options” | grep Auto-Commit
-c Auto-Commit ON
#環境変数DB2OPTIONにAuto-Commit=OFF を設定
$export DB2OPTIONS='+c'
$env | grep DB2OPTIONS
DB2OPTIONS=+c
#環境変数によりAuto-Commitの設定が「OFF」になる
$db2 “list command options” | grep Auto-Commit
-c Auto-Commit OFF
(例)Auto-Commit( -c ) オプションの変更
第2章 データベース接続
© 2020 IBM Corporation59
CLPオプション3
• CLP起動オプションから指定
− Db2コマンドの起動オプションにより指定する
− ONにする場合はオプションの前に不符号(-)、OFFにする場合はオプションの前に正符号(+)を
つける
#デフォルトの Auto-Commit の設定は「ON」
$db2 “list command options” | grep Auto-Commit
-c Auto-Commit ON
#db2コマンドによる CLP 起動時に Auto-Commit=OFF を設定
$db2 +c "list command options" | grep Auto-Commit ;
-c Auto-Commit OFF
(例)Auto-Commit( -c ) オプションの変更
第2章 データベース接続
© 2020 IBM Corporation60
CLPオプション4
• update command optionsコマンドにより変更
− CLPからオプションを変更するコマンドを実⾏する
− update command options using <option> <ON/OFF>
(例)Auto-Commit( -c ) オプションの変更
#デフォルトの Auto-Commit の設定は「ON」
db2 => list command options
〜(省略)〜
-c Auto-Commit ON
〜(省略)〜
db2 =>
#CLP から update command option により Auto-Commit を「OFF」に変更
db2 => update command options using c OFF
DB20000I The UPDATE COMMAND OPTIONS command completed successfully.
db2 =>
#コマンドによる変更後の Auto-Commit の設定は「OFF」
db2 => list command options
〜(省略)〜
-c Auto-Commit OFF
〜(省略)〜
db2 =>
第2章 データベース接続
© 2020 IBM Corporation61
CLPオプション5
• CLPオプションは以下の順で処理されます。(優先度︓4.>3.>2.>1.)
− 1.デフォルトの設定
− 2.環境変数「DB2OPTIONS」による設定
− 3.CLP起動時のオプションによる設定
− 4.update command optionsによる設定
第2章 データベース接続
© 2020 IBM Corporation62
CLPオプション⼀覧(1/2)
Option Description Default
-a コマンド⾏プロセッサーはSQLCAデータを表⽰します。 OFF
-b このオプションは、SQLステートメントの実⾏に必要なすべての⽋落パッケージや無効パッケージを⾃動作成するよ
うコマンド⾏プロセッサーに通知します。
ON
-c コマンド⾏プロセッサーはSQLステートメントを⾃動的にコミットします。 ON
-d このオプションは、コマンド⾏プロセッサーがXMLデータのXML宣⾔を検索して表⽰するよう指⽰します。 OFF
-e{c|s} コマンド⾏プロセッサーはSQLCODEまたはSQLSTATEを表⽰します。この2つのオプションは相互に排他的です。 OFF
-f filename コマンド⾏プロセッサーは、 コマンド⼊⼒を標準⼊⼒ではなくファイルから読み取ります。 OFF
-I このオプションは、コマンド⾏プロセッサーが、適切な字下げを使ってXMLデータを「整形印刷」するよう指⽰しま
す。このオプションは、XQueryステートメントの結果セットにのみ影響を与えます。
OFF
-l filename コマンド⾏プロセッサーはコマンドを履歴ファイルに記録します。 OFF
-m このオプションは、ステートメントINSERT、DELETE、UPDATE、およびMERGEの影響を受ける⾏数を表⽰するよ
うにコマンド⾏プロセッサーに指⽰します。
OFF
-n 単⼀の区切りトークン内の改⾏⽂字を除去します。 このオプションを指定しない場合、改⾏⽂字はスペースで置換さ
れます。 このオプションは、-t オプションと共に使⽤する必要があります。
OFF
-o コマンド⾏プロセッサーは、出⼒データおよびメッセージを標準出⼒に表⽰します。 ON
-p コマンド⾏プロセッサーは、対話型⼊⼒モードのときにコマンド⾏プロセッサー・プロンプトを表⽰します。 ON
-q このオプションは、コマンド⾏プロセッサーが、単⼀または⼆重引⽤符で区切られているストリング内の空⽩⽂字お
よび改⾏⽂字を保持するよう指⽰します。オプション q がONのとき、オプション n は無視されます。
OFF
-r filename コマンド⾏プロセッサーは、コマンドが⽣成したレポートをファイルに書き込みます。 OFF
第2章 データベース接続
© 2020 IBM Corporation63
CLPオプション⼀覧(2/2)
Option Description Default
-s コマンド⾏プロセッサーは、バッチ・ファイルまたは対話式モードでコマンドを実⾏中にエラーが発⽣した場合、 実
⾏を停⽌します。
OFF
-t コマンド⾏プロセッサーはセミコロン (;) をステートメント終了⽂字として使⽤します。 OFF
-tdx または
–tdxx
このオプションは、コマンド⾏プロセッサーが x または xx をステートメント終了⽂字 (⻑さは1⽂字または2⽂字)
として定義し、使⽤するよう指⽰します。
OFF
-v コマンド⾏プロセッサーはコマンド・テキストを標準出⼒にエコーさせます。 OFF
-w このオプションは、FETCHおよびSELECTの警告メッセージを表⽰するようにコマンド⾏プロセッサーに指⽰します。ON
-x コマンド⾏プロセッサーは列名などのヘッダーなしでデータを戻します。 このフラグは、すべてのコマンドには影響
を与えません。 これは、SQLステートメント、およびSQLステートメントに基づくいくつかのコマンド (LIST
TABLES など) に適⽤されます。
OFF
-y このオプションを指定すると、コマンド⾏プロセッサー (CLP) は、SQLCODEに対応するメッセージ・テキストを
ローカル・メッセージ・ファイルで検出できなかった場合は、接続されたデータベース・サーバーからSQLメッセー
ジ・テキストを取得するようになります。
ON
-z filename コマンド⾏プロセッサーはすべての出⼒をファイルにリダイレクトします。 これは -r オプションと似ていますが、
出⼒の他にメッセージやエラー・コードも含まれます。
OFF
第2章 データベース接続
© 2020 IBM Corporation64
GUIベースの代表的なクライアント種類
• Db2 Warehouse on Cloudに接続可能な代表的なGUIベースのクライアントを紹介します。
No.
ツール 製品価格
(無償/有償)
特徴
ツール名 提供元 サポート ⽇本語
1 Webコンソール IBM ○
△
(⽇本語マニュ
アルあり)
Db2 Warehouse on
Cloudサポートに含む
・クライアント、追加作業・費⽤不要
・ユーザー管理やバックアップなどの作業も可能
・英語インターフェース
2
IBM Data
Server Manager
IBM ○ ○
Db2 Warehouse on
Cloudサポートに含む
・クライアントへの導⼊が必要 (Win,Lin,AIX)
・Webブラウザベースで⽇本語GUI
・⽇本語マニュアルあり
・標準的な開発機能を網羅
・DBベンダーによる開発・保守あり
・チューニング⽀援機能含め⾮常に多機能
・各種リソース監視とレポート化
3 Dbeaver
PremiumSof
t
○
(有償)
○
無償(Community)
有償(Enterprise)
・外部サポートツールであるが多機能
・Db2の実⾏計画の取得と確認可能
・ER図の作成可能
・接続先ごとに⾊を分けられる
・Db2に正式に対応した製品
・有償サポートがある
・⽇本語サポート
4
Agnity
Workbench
Agnity
○
(有償)
×
無償(Pro)
有償(Team,
Enterprise)
・動作が軽い
・Db2に正式に対応した製品 (Enterpriseは⾮対
応)
・今後の実装により機能拡張される模様
第2章 データベース接続
© 2020 IBM Corporation65
1. Webコンソール
• 概要
− WebコンソールはDb2 Warehouse on Cloudに標準で実装
− 対応ブラウザを⽤意し、Webコンソールに接続するだけで利⽤可能
• ⼊⼿⽅法
− Webブラウザを起動し、Db2 Warehouse on Cloudに接続
• 特徴
− SQLの実⾏だけではなく、テーブル定義の変更やユーザー管理、バックアップ・リストアも可
第2章 データベース接続
© 2020 IBM Corporation66
1. Webコンソール
• 利⽤イメージ
66
SQL実⾏画⾯ – syntaxチェックやSQL⽣成サポートあり ユーザー管理画⾯ - パスワードポリシーの設定も可能
定期的なバックアップの設定とリストアが可能ブラウザからデータのロードが可能
第2章 データベース接続
© 2020 IBM Corporation67
2. IBM Data Server Manager
• 概要
− IBM Data Studioの後継ツールで無料利⽤可(IBMのサポートあり)
− 機能制限の解除は、接続先のデータベースに依存
- Db2 Warehouse on Cloudの場合、Enterprise機能を利⽤可能
• ⼊⼿⽅法
1. IBMのFix CentralもしくはDeveloper Worksからダウンロード
https://www-945.ibm.com/support/fixcentral/
https://www-01.ibm.com/marketing/iwm/iwm/web/dispatcher.do?source=swg-rddsm
2. インストール (& サービス起動) ※ドライバの導⼊などは不要
3. ブラウザを起動し、DSMサービスに接続
https://localhost:11080/
4. (オプション)Enterprise機能を利⽤したヒストリカルデータの保管など ※別途Db2データ
ベースの⽤意が必要
• 特徴
− SQLの実⾏だけでなく、リソース利⽤率の確認やレポート出⼒も可能
第2章 データベース接続
© 2020 IBM Corporation68
2. IBM Data Server Manager
• 利⽤イメージ
期間データのレポート作成が可能
(出⼒可能形式は、HTML,PDF,CSV)各種リソース利⽤率なども確認可能
ヒストリカルモニターデータは間引きされながら保管
第2章 データベース接続
© 2020 IBM Corporation69
3. DBeaver
• 概要
− 各種データベースに対応した、多機能なデータベース操作ツール
− Communityエディションは無料で利⽤可能
• ⼊⼿⽅法
1. DBeaverのホームページからダウンロード
https://dbeaver.io/
2. インストール
3. 必要に応じてDb2のドライバーをダウンロード
https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads
4. 起動後データベース接続情報を登録して接続
• 特徴
− 複数のデータベースへの接続に対応していながら多機能が特徴
ü アクセスプランの取得
ü ER図の作成、等
第2章 データベース接続
© 2020 IBM Corporation70
3. DBeaver
• 利⽤イメージ
複数の接続先の登録と操作画⾯、接続先は⾊分けが可能
アクセスプランの取得やER図の作成など機能も充実
SQLの補完機能あり
第2章 データベース接続
© 2020 IBM Corporation71
4. Aginity Workbench
• 概要
− 各種データベースに対応したデータベース操作ツール
− 全⾯的にリニューアルされ、以前のAginity WorkbenchはLegacyバージョンとな
り今後サポートされない
− データベース毎に機能実装されており、今後の機能拡張が待たれる
• ⼊⼿⽅法
1. Aginityのホームページからダウンロード
https://www.aginity.com/products/aginity-workbench/
2. インストール
3. 必要に応じてDb2のドライバーをダウンロード
https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads
4. 起動後にデータベース接続情報を登録して接続
• 特徴
− SQLの実⾏が可能(今後の機能拡張に期待)
第2章 データベース接続
© 2020 IBM Corporation72
4. Aginity Workbench
• 利⽤イメージ
SQLの実⾏と結果の表⽰画⾯ SQLの補完機能あり
第2章 データベース接続
73
3
セキュリティ
© 2020 IBM Corporation74
ユーザーセキュリティ
第3章 セキュリティ
© 2020 IBM Corporation75
ユーザーの役割、⽤途について
• Db2 Warehouse on Cloudのユーザーは⼤きく管理者ユーザーと⼀般ユーザーに分類されます。
− 管理者ユーザー(bluadmin or 任意ユーザー)
− ⼀般ユーザー(適宜作成)
※Db2 WarehouseコンテナOSのログインユーザーとDb2ユーザーは同⼀となります。
bluadmin ユーザーの位置づけ
− Db2の最も強い管理者権限(DBADM)が付与されているため、バックアップ・リストア、モニタ
リングなど運⽤管理操作を実施することができます
− Webコンソールで管理者権限を付与されたユーザーはbluadminと同等の権限を保有します
− Db2 Warehouse on Cloudサービスの起動・停⽌は、サポートチームにチケットをオープンして
⾏います
第3章 セキュリティ
© 2020 IBM Corporation76
ユーザーの役割、⽤途について
ユーザー 役割(ロール) できること 備考
DB⼀般ユー
ザー
DB利⽤者(User) ・DB接続
・SQL実⾏
・テーブル作成/権限設定
・LOAD
・BIND
・外部ルーチン作成
・WebコンソールからのSQL/アプリケーションのリアル
タイムモニタリング
・Webコンソール/REST APIにて作成可能
・ユーザー作成画⾯で
User Privilege ”User” を指定する
・他のユーザー/スキーマのデータを参照する
よう構成可能(権限付与)
DB管理ユー
ザー
DB管理者
(Administrator)
・⼀般ユーザーで可能な全ての操作
・DBデータアクセス
・ワークロード作成、再編成、DBバックアップ/リスト
ア、モニタリングなどDB関連の運⽤管理操作
・Webコンソール/REST APIにて作成可能
・User Privilege ”Administrator”
を指定する
新規に作成するユーザー
ユーザー 役割 できること 備考
bluadmin DB管理者 ・DB接続
・DBデータアクセス
(全スキーマデータの参照・更新可)
・テーブル作成や権限設定
・ワークロード作成、LOAD、再編成、DBバックアップ/
リストア、モニタリングなどのDb2関連の運⽤操作
・ノードOSへ接続不可
・以下の環境でDB管理作業を実⾏
- Webコンソール
- REST APIコマンド
予め作成されている管理ユーザー
第3章 セキュリティ
© 2020 IBM Corporation77
データベース・ユーザー・グループについて
• 新規ユーザーは、下記のいずれかのグループに属する必要があります。
− グループを追加作成することはできません ※Db2 Warehouse on Cloudの制約
− Db2 Warehouse on Cloudにおける権限グループ割り当ては、ユーザー・ロールを作成して権限
を割り当て、ユーザーにユーザー・ロールをアサインすることで権限を制御します
グループ 属するユーザー このグループに属するユーザー
が出来ること
備考
bluadmin bluadmin
Webコンソールで作成した
Administratorロールの
ユーザー
DB管理者権限/データアクセス権限/ス
キーマ作成権限/セキュリティ管理権限
を付与されたグループ
“Administrator”ロールのユーザーは
bluadminグループに属するため、左記
のデータベース管理操作が可能となる
bluusers Webコンソールで作成した
Userロールのユーザー
DBの接続/権限を付与されたグループ ”User”ロールのユーザーはbluusersグ
ループに属するため、左記のDB関連操
作が可能となる
第3章 セキュリティ
© 2020 IBM Corporation78
ユーザー作成⽅法
• DBユーザーの追加作成
− Db2 Warehouse on Cloud内部ユーザーを作成すると、DBアクセスユーザーとして利⽤するこ
とができます。
− ユーザー作成するだけで、DB操作コマンドの実⾏/シェルスクリプト開発・実⾏などが実施可能
な状態となます。
• DBユーザー作成⽅法
− Webコンソールからの作成
− REST API
• 次ページから、Webコンソールを⽤いて、管理者権限を持たないDBアクセスユーザーを作
成する⼿順を紹介します。
第3章 セキュリティ
© 2020 IBM Corporation79
Webコンソールからのユーザー作成⽅法(1/3)
• 1. Webコンソールにログイン
(ポート番号:8443 を指定)
− 管理者であるbluadminでログイン
− パスワードは管理者に確認
第3章 セキュリティ
© 2020 IBM Corporation80
Webコンソールからのユーザー作成⽅法(2/2)
• 2. ユーザー管理画⾯
− サイドメニュー「SETTINGS」>「Manage Users」
第3章 セキュリティ
© 2020 IBM Corporation81
Webコンソールからのユーザー作成⽅法(3/3)
• 3. ユーザー追加
− 左上の「Add」押下
− ユーザーID、⽒名、emailアドレス、
パスワードを⼊⼒
- パスワードは12⽂字以上、
アルファベット⼩⽂字、⼤⽂字、
数字、記号の全てを指定する
− 「User Privilege」はデフォルト
のまま変更しない
- 管理者権限なしの⼀般ユーザー
(User)として作成
- “Administrator”チェックを⼊れて
管理者権限を付与すると、Db2の
バックアップ・リストア、再編成等
のDb2運⽤操作を実施できるように
なる
− 最後に右下の「Create」押下
第3章 セキュリティ
© 2020 IBM Corporation82
REST API を使⽤したユーザー作成⽅法
• REST APIを使⽤したユーザー作成コマンドは以下の通りです。REST APIを使⽤する場合
は、最初に認証トークンを取得します。
− 構⽂
− 実⾏例
- REST APIでコマンドを実⾏するために必要な認証トークンを取得する場合の実⾏例
- 取得した認証トークンを使⽤して、ユーザー”testuser0”を作成する場合の実⾏例
curl -X POST "https://[Host Name]/dbapi/v3/users" -H "accept: application/json" -H "Content-Type: application/json" -
d "{ ¥"id¥": ¥"string¥", ¥"name¥": ¥"string¥", ¥"password¥": ¥"string¥", ¥"role¥": ¥"bluuser¥", ¥"email¥": ¥"string¥",
¥"locked¥": ¥"yes¥", ¥"authentication¥": { ¥"method¥": ¥"internal¥", ¥"policy_id¥": ¥"string¥"}, ¥"metadata¥":
{ ¥"guid¥": ¥"string¥", ¥"url¥": ¥"string¥", ¥"created_at¥": ¥"string¥", ¥"updated_at¥": ¥"string¥"}}"
curl -X POST "https://db2whoc-xxxx.xxx.xxx/dbapi/v3/users" -H "accept: application/json" -H "Content-Type:
application/json" -d "{ ¥"id¥": ¥"testuser0¥", ¥"name¥": ¥"testuser0¥", ¥"password¥": ¥“passw0rd", ¥"role¥":
¥"bluuser¥", ¥"email¥": ¥"testuser0@xxxxxx.com¥"}" -H "Authorization: Bearer eyJraWQiOiJ…"
{"password":"","metadata":{"updated_at":"20200227065916Z","guid":“xxxxxxxxxxxx-xxxx-xxxx-xxxx-
xxxxxxxxxxxx","created_at":"20200227065916Z","url":""},"role":"bluuser","iam":false,"name":"testuser0","allClean":fal
se,"ibmid":null,"id":"testuser0","locked":"no","email":"testuser0@xxxxxx.com","authentication":{"method":"internal","p
olicy_id":"Default"}}
curl -X POST "https://db2whoc-xxx.xxx.xxx/dbapi/v3/auth/tokens" -H "accept: application/json" -H "Content-Type:
application/json" -d "{ ¥"userid¥": ¥“bluadmin¥", ¥"password¥": ¥“passw0rd¥"}"
{“userid”:“bluadmin”,“token”:“eyJraWQiOiJ…"}
第3章 セキュリティ
© 2020 IBM Corporation83
参考︓REST API の利⽤
• REST APIを使⽤すると、ユーザー作成以外にも様々な操作を実施することができます。コ
マンド実⾏例は、REST APIコマンドリファレンスをご参照ください。
− IBM Db2 Warehouse on Cloud REST API
− https://developer.ibm.com/static/site-id/85/api/db2whc-v3/
APIコマンドの構⽂例
利⽤可能なAPIコマンドの引数
セクションを展開
APIの種類
第3章 セキュリティ
© 2020 IBM Corporation84
ユーザーに対するアクセス権限の付与
• データアクセス権追加
− 前⾴で作成したユーザーからは⾃スキーマのDBオブジェクト(例︓XXX.TABLE1)は参照可能
− 他スキーマの表(例︓YYY.TABLE101)は参照できない
− 他スキーマの表を参照させるには、表に対するアクセス権を明⽰的に付与する
− (参考) データアクセス権の付与単位
- データベースオブジェクト(表、ビューなど)への権限は、ロール/ユーザ/グループの
いずれかに対して付与することができる
- 付与の⽅法は、Webコンソール、もしくは、Db2コマンドのいずれかが選択できる
0 .1 1
第3章 セキュリティ
© 2020 IBM Corporation85
ユーザーに対するアクセス権限の付与⽅法(1/4)
• データアクセス権追加(オプション)
− Webコンソールで「Authorizations」画⾯へアクセス
- サイドメニュー「EXPLORE」>「Authorization」
- (次ページへ続く)
第3章 セキュリティ
© 2020 IBM Corporation86
ユーザーに対するアクセス権限の付与⽅法(2/4)
• データアクセス権追加(オプション)
− 権限を付与したいユーザーを選択
- 「Object Privileges」を押下
- 対象オブジェクトの種類を選択して「Add Objects」を押下
- 対象スキーマ、オブジェクト名、付与する権限を選択して「OK」を押下
(次ページへつづく)
第3章 セキュリティ
© 2020 IBM Corporation87
ユーザーに対するアクセス権限の付与⽅法(3/4)
• データアクセス権追加(オプション)
− ロールに権限を付与したいDBオブジェクトを選択
(全ページからのつづき)
- 追加したオブジェクトを確認したら「Run」を押下
- (オプション)「Generate DDL」を押下すると、実⾏されるSQL操作を確認可
変更内容が図⽰される
(なし→チェックあり)
実⾏結果「Success」 が出⼒
第3章 セキュリティ
© 2020 IBM Corporation88
ユーザーに対するアクセス権限の付与⽅法(4/4)
• データアクセス権追加(オプション)
− コマンドラインでの権限付与も可能
- ⼤量にテーブルがあるなどWebコンソールでの操作が⾼負荷となる場合に推奨
- 詳細は製品マニュアルを参照のこと
- (参考) DBオブジェクトに対するアクセス権限の付与
- Knowledge Center - GRANT (table, view, or nickname privileges) statement
- https://www.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r
0000966.html
第3章 セキュリティ
© 2020 IBM Corporation89
ユーザー定義のユーザー・ロールの作成
• データアクセス権の制御
− DBオブジェクト(表、ビューなど)に対するデータアクセス権をユーザー・ロールによって制御
- 複数ユーザに対してつど権限付与を⾏うのではなく、ユーザー・ロールに対してオブジェクトへのアク
セス権を付与し、そのオブジェクトへのアクセスが必要なユーザーをユーザー・ロールのメンバーとす
ることで権限管理を簡易化します。
• ユーザー・ロールの作成⽅法
− Webコンソールからの作成
− REST API
− 次ページから、Webコンソールを⽤いて、ユーザー・ロールを作成・付与する⼿順を紹介
- ロールを割り当てたいユーザーの数が多い場合など、コマンドラインから実施することも可能
- Knowledge Center - GRANT (role) statement
- https://www.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r
0050616.html
第3章 セキュリティ
© 2020 IBM Corporation90
ユーザー・ロールの作成⽅法
• 独⾃のユーザー・ロールを作成する
− Web コンソールで新規ロールを作成
- サイドメニュー「EXPLORE」>「Authorization」
- Name︓
- ロール名を指定
- 例︓「DB2WOC1」を指定
- 「Add role」を押下
- (次ページへ続く)
第3章 セキュリティ
© 2020 IBM Corporation91
ユーザー・ロールに対するアクセス権限の付与(1/2)
• ユーザー・ロールに付与するDBオブジェクトと権限を選択
− Webコンソールで対象となるユーザー・ロールを選択
- サイドメニュー「EXPLORE」>「Authorization」
− 「Object Privileges」を押下
− 対象オブジェクトの種類を選択して「Add Objects」を押下
− 対象スキーマ、オブジェクト名、付与する権限を選択して「OK」を押下
第3章 セキュリティ
© 2020 IBM Corporation92
ユーザー・ロールに対するアクセス権限の付与(2/2)
• ユーザー・ロールへのアクセス権の付与を実⾏
− 追加されたアクセス権限を確認して「Run」を押下
− (オプション)「Generate DDL」を押下すると、実⾏されるSQL操作を確認可
変更内容が図⽰される
(なし→チェックあり)
第3章 セキュリティ
© 2020 IBM Corporation93
ユーザーに対するユーザー・ロールの付与⽅法(1/2)
• ユーザーに付与するユーザー・ロールを選択する
− Webコンソールで対象ユーザーを選択し、メニューから「Role」を押下
- サイドメニュー「EXPLORE」>「Authorization」
− 「Grant Role」を押下
− 付与するロールを選択して「OK」を押下
第3章 セキュリティ
© 2020 IBM Corporation94
ユーザーに対するユーザー・ロールの付与⽅法(2/2)
• 選択したユーザー・ロールを割り当てる
− 選択したユーザー・ロールが⼀覧に追加されたことを確認したら「Run」を押下
− (オプション)「Generate DDL」を押下すると、実⾏されるSQL操作を確認可
第3章 セキュリティ
© 2020 IBM Corporation95
SQLステートメントでユーザー定義のユーザー・ロール作成
• SQLステートメントでユーザー定義のユーザー・ロールを作成する⼿順を記載します。
【⼿順】
− Step1. ロールの作成
- CREATE ROLE ロール名;
− Step2. ロールへのユーザー(または、ユーザーグループ)割当て
- GRANT ROLE ロール名 TO USER ユーザー名;
- GRANT ROLE ロール名 TO GROUP ユーザーグループ名;
− Step3. ロールへの特権付与
- 特権の種類によりSQLステートメントが変わる
【参考】アクセス権限について
− 認証されたユーザーがデータベース内のオブジェクトに対して何ができるかを制御する。
- Knowledge Center - 許可、特権、およびオブジェクト所有権
- https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.admin
.sec.doc/doc/c0005478.html
第3章 セキュリティ
© 2020 IBM Corporation96
よく使われる権限⼀覧
権限・特権 概要
データベース権限
データベース内の特定オブジェクトではなく、データベース全体に適⽤される権限。(データベースに対して表などのオブジェクト
の追加、データロードを実⾏するなど)
CONNECT︓データベースに接続
・CREATETAB︓データベースに新規表を作成
・BINDADD︓データベースに新規パッケージを作成
・CREATE_NOT_FENCED︓UDF、ストアドプロシージャーの作成
・LOAD︓表にデータをロード
https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000958.html
スキーマ特権
スキーマに対する特権。(オブジェクトの作成・変更・削除など)
・CREATEIN︓スキーマ内にオブジェクトを作成
・ALTERIN︓スキーマ内のオブジェクトを変更
・DROPIN︓スキーマ内のオブジェクトを削除
https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000964.html
表、ビュー、または
ニックネーム特権
データベース内の表・ビュー・ニックネームに対する特権。
・CONTROL︓表に対するすべての特権
・ALTER︓列の追加、コメントの追加/変更、主キー、制約の追加/削除、表チェック制約の作成/削除
・DELETE︓⾏の削除
・INDEX︓索引を作成
・INSERT︓⾏の挿⼊、IMPORTユーティリティーの実⾏
・REFERENCES︓表を参照保全性の親として指定、外部キーの作成/削除
・SELECT︓⾏の取り出し、表での視点の作成、EXPORTユーティリティーの実⾏
・UPDATE︓列データを変更
https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000966.html
第3章 セキュリティ
© 2020 IBM Corporation97
よく使われる権限
• データベース権限(抜粋) :user,group,roleに対して付与
権限 説明
データベース データベース全体に対するアクセスを制御
CONNECT データベースに接続
CREATETAB データベースに新規の表作成
BINDADD データベースに新規のパッケージ作成
EXPLAIN データにアクセスすることなくステートメントの EXPLAIN 情報の取り出しを
⾏う権限
CREATE_NOT_FENCED_TOUTINE ⾮分離ユーザー定義関数、ストアードプロシージャーの作成
IMPLICIT_SCHEMA 存在していないスキーマ名を指定してCREATE ステートメント実⾏→暗黙的な
スキーマ作成
LOAD 表にデータをロード
CREATE_EXTERNAL_ROUTINE アプリケーションによって、またデータベースの他のユーザーによって使⽤さ
れるプロシージャーを作成
QUIESCE_CONNECT 静⽌中のデータベースにアクセス
(参考)Knowledge Center - Grant(データベース権限)ステートメント︓
https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000958.html
第3章 セキュリティ
© 2020 IBM Corporation98
よく使われる特権
• 各オブジェクトに対する特権(抜粋)その1
− スキーマ特権︓user,group,role,publicに対して付与可能
(参考)Knowledge Center - Grant(スキーマ特権)ステートメント︓
https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000964.html
特権 説明
スキーマ スキーマに対する権限
CREATEIN スキーマ内にオブジェクトを作成
ALTERIN スキーマ内にオブジェクトを変更
DROPIN スキーマ内にオブジェクトを削除
DELETEIN スキーマ内の表オブジェクトに含まれているデータを削除する権限
INSERTIN
スキーマで定義される表やビューすべてに対して⾏を挿⼊したりIMPORTユーティリティーを実⾏す
る権限
LOAD このスキーマでLOADを実⾏する権限
SELECTIN スキーマで定義される表やビューから選択する権限
UPDATEIN スキーマで定義される表または更新可能なビューに対してUPDATEステートメントを使⽤する権限
第3章 セキュリティ
© 2020 IBM Corporation99
よく使われる特権
• 各オブジェクトに対する特権(抜粋)その2
− 表またはビュー特権︓user,group,role,publicに対して付与可能
(参考)Knowledge Center - Grant(表またはビュー特権)ステートメント︓
https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000966.html
特権 説明
表またはビュー 表作成者には⾃動的にCONTROL特権
CONTROL
以下のALTERからUPDATEまでのすべての特権が付与
その他に、表をDROPする権限やRUNSTATSやREORGを実⾏する権限が付与
個別に付与/取り消しが可能
ALL PRIVILEGES
(ALL)
以下のALTERからUPDATEまでのすべての特権が付与
ALTER 表への列の追加、主キー、制約の追加/削除
DELETE 表またはビューから⾏を削除
INDEX 索引を作成
INSERT 表に⾏の挿⼊、IMPORTユーティリティを実⾏
REFERENCES 表を参照保全の親表として指定、外部キーの作成/削除
SELECT 表またはビューから⾏の取り出し、表からビューを作成、EXPORTユーティリティーの実⾏
UPDATE 表またはビューの列データを変更
第3章 セキュリティ
© 2020 IBM Corporation100
よく使われる特権
• 各オブジェクトに対する特権 その3
− パッケージ特権、索引特権、表スペース特権︓user,group,role,publicに対して付与可能
(参考)Knowledge Center – Grant ステートメント︓
(パッケージ特権)
https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000962.html
(索引特権)
https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000961.html
(表スペース特権)
https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0003304.html
特権 説明
パッケージ パッケージの作成と操作
CONTROL
パッケージの再バインド/削除/実⾏、他ユーザにこれらの特権を付与
パッケージ作成者には⾃動的に付与
BIND 既存のパッケージの再バインド
EXECUTE パッケージの実⾏
索引
索引の作成者には⾃動的にCONTROL特権が付与
索引を使うための特別な特権はない
CONTROL 索引の削除、索引の作成者には⾃動的にCONTROL特権が付与
表スペース 表スペース作成者には⾃動的にUSE特権が付与
USE その表スペース内で表を作成
第3章 セキュリティ
© 2020 IBM Corporation101
データベースオブジェクトの管理
第3章 セキュリティ
© 2020 IBM Corporation102
スキーマについて
• Db2 Warehouseにおける”スキーマ”
− 実体としてDb2であるため、1DBに複数スキーマを保持できる.
− スキーマは各種業務⽤途ごとにDBオブジェクト(表、ビュー、エイリアス等)をまとめる単位
− Db2 Warehouse on CloudはシングルDB、マルチスキーマによるDB管理体型
− ユーザーから、1DB内で同⼀名称のテーブルを複数操作したい要件がある場合は、スキーマを
分けることで対応することができる
IIAS
A
TB1 TB2
B
TB1 TB2
select < 1>,< 2> from A.TB1
select < 1>,< 2> from B.TB1
DB
Db2 Warehouse on Cloud
第3章 セキュリティ
© 2020 IBM Corporation103
スキーマについて
• スキーマを指定する⽅法
− 以下の⽅法いずれも、スキーマAのTABLE1(A.TABLE1)へのアクセスとなる
- 1. set current schemaコマンドで、以後のセッションで使⽤するスキーマを指定する
- 2. スキーマ名を接続ユーザーに指定してデータベースに接続する
- 3. スキーマ名.表名でアクセスする
CONNECT TO BLUDB USER TESTUSR;
SET CURRENT SCHEMA A;
SELECT C1,C2 FROM TABLE1;
CONNECT TO BLUDB USER A;
SELECT C1,C2 FROM TABLE1;
CONNECT TO BLUDB USER TESTUSR;
SELECT C1,C2 FROM A.TABLE1;
第3章 セキュリティ
© 2020 IBM Corporation104
DBオブジェクトについて
• Db2 WarehouseのDBオブジェクト種類は以下の通りです。以下のオブジェクトがDBス
キーマごとに管理されます。
• また個別のDBオブジェクト単位で権限割り当てが可能です。
主なDBオブジェクト種類 ⽤途、役割
スキーマ DBオブジェクトをグループ化する際の単位
表 データを格納するオブジェクト。各種データタイプを備えた列と⾏で構成される
・制約 表、列に対する制約オブジェクト。Not Null制約、主キー、ユニークキー、外部キー制約等が該当する
・索引 1つ以上のキーの値で論理的に順序付けられている⼀連のポインター。主に⾏表のみ利⽤可能。
外部表 DB外に保存されたファイルに対して表定義を⾏い、SQLでアクセスできるようにした表オブジェクト
ビュー 実データを持たず、既存表に対して参照するために定義された仮想表
エイリアス(シノニム) DBオブジェクト別名
リモート表 異種RDBMS上の表と定義づけされた表。リモートにある別DB上にある表に対して紐づけられた仮想表
マテリアライズドキュー表 実データを持ったビュー表。定期的に実表との差分を反映させる等の処理が必要
シーケンス ⼀意の番号を⽣成するためのオブジェクト
ユーザー定義タイプ ユーザーがカスタムで定義したデータ型オブジェクト
ユーザー定義関数 ユーザーがカスタムで定義した関数オブジェクト
ストアド・プロシージャ ⼀連のDB処理をプログラム化したパッケージDBオブジェクト
第3章 セキュリティ
© 2020 IBM Corporation105
⾏および列レベルのアクセス制御
第3章 セキュリティ
© 2020 IBM Corporation106
Db2 Warehouse on Cloud のDBユーザーとセキュリティ
• Db2 Warehouse on Cloudは、データベース・ユーザーが各⾃の業務に必要なデータベー
ス・テーブルにのみアクセスできるようにすることができます。
• このアクセス制御は「RCAC(⾏および列のアクセス制御)」と呼ばれ、RCACはユー
ザー・ロールと共に機能して⾏および列のレベルでセキュリティーを管理するのに役⽴ち
ます。 USER
user1
PASSWORD
a@x?s
①DBユーザー認証
②DB認可(特権・権限)
------------------
--------
-----------
-------------
---------
-----------------
⑥DB監査
④クライアント制限/通信暗号化
③アクセス制御
(RCAC)
⑦暗号化
(データ暗号化・コンテナファ
イル暗号化)
Db2 Warehouse
on Cloud
BLUDB
第3章 セキュリティ
© 2020 IBM Corporation107
ユーザー・ロールとは
• ユーザー、権限や特権をグループ化したもの
• ユーザー・ロールを付与できる対象
− ユーザー、グループ、ロール、Trusted Context
• ユーザー・ロールで付与できる権限
− SECADM権限やインスタンスレベルの権限(SYSADMなど)以外の全ての権限
• ユーザー・ロールとグループの違い
− グループはOSのシステム設定、ロールはデータベースオブジェクト
− グループに対して付与された権限は、即時有効ではない
- データベースへの再接続が必要
− ユーザー・ロールの付与は即時有効
- データベースへの再接続が不要
− グループに対して付与された権限は以下の操作を⾏うときDb2によりチェックされない
- View、トリガー、MQT、静的SQL、SQLルーチン作成時
- グループのメンバーが変更されたことにDb2は気づくことが出来ない
− ユーザー・ロールはDb2により即時・適宜チェックされる
- View、トリガー、MQT、静的SQL、SQLルーチン作成時にも対応
- ただし、ユーザー・ロールがグループに対して許可されている場合は例外
第3章 セキュリティ
© 2020 IBM Corporation108
⾏・列レベルアクセスコントロール(RCAC)
• RCAC (Row and Column Access Control) もしくは、FGAC(Fine-Grained Access Control)
• 対象はテーブル (表)
• あるデータベースユーザーが所属しているロール、TrustedContextにより、該当表の
データ・アクセスを制限する機能 *1
• アクセス制御する単位が、⾏ and/or 列 単位
• 例えば、以下のような制約がある場合に効果的に活⽤可能
− 政府の規制により、医師は⾃分の患者のカルテを⾒ることはできても、それ以外の患者のカルテを⾒る
ことはできない場合があります。(⾏レベルでのコントロール)
− また、患者が同意しない限り、医療サービスの提供者は、患者の個⼈情報 (例えば、⾃宅の電話番号) に
アクセスできない場合もありえます。(列レベルでのコントロール)
• 基本的に全てのユーザーが制限を受ける
− DB管理者でもアクセス不可能にすることが可能
以下は対象外
• ニックネーム
• 作成済み⼀時表 • 宣⾔済み⼀時表 • ビュー
• シノニム
• 型付き表
• 別名
• カタログ表
第3章 セキュリティ
© 2020 IBM Corporation109
⾏・列レベルアクセスコントロール(RCAC)
• RCACを利⽤するまでの流れ
1. ユーザー・ロール/Trusted Contextを作成
command: create role …
2. 表に対して⾏・列コントロールの設定を⾏う
command: create permission …
3. 表に対して⾏・列コントロールの有効化
command: alter table …
• デフォルトではテーブルに対しての⾏・列レベルアクセスコントロール機能はoffになって
います。⼿順3を実⾏することでテーブル毎に機能の有効化を⾏います。
第3章 セキュリティ
© 2020 IBM Corporation110
参考:3つのアクセス制御と設定例
ベースとなるロールベースのアクセス・コントロール、⾏および列のアクセス・コントロールについて説明します。
第3章 セキュリティ
© 2020 IBM Corporation111
1. ロールベースのアクセス制御
• 基本となるユーザー単位でのアクセス制御をする場合、テーブルとユーザーの数の
増加に伴い必要となる操作や管理は⾮常に煩わしくなります。
表︓T1 表︓T4表︓T2
表︓T3
表︓T5
✘削除○追加
$ GRANT SELECT ON TABLE T1 TO user1;
$ GRANT SELECT ON T…..
$ GRANT SELECT ON T…..
$ GRANT SELECT ON TABLE T1 TO user40;
$ REVOKE ALL ON TABLE T5 FROM userA;
$ REVOKE ALL ON TABLE T5 FROM userB;
$ REVOKE ALL ON TABLE T5…..
第3章 セキュリティ
© 2020 IBM Corporation112
1. ロールベースのアクセス制御
•複数のユーザーをまとめたユーザー・ロールを作成することで、個別のユーザー
ではなく、ユーザー・ロールに対してアクセス権を割り当てることが可能になりま
す。
T1 T4T2
T3
T5
✘削除○追加
$ CREATE ROLE Dept2
$ GRANT ROLE Dept2 to USER userA, USER userB, USER ….
$ GRANT SELECT ON T1 TO ROLE …
ロール
Dept1
ロール
Dept2
$ REVOKE ROLE Dept2 FROM T5
第3章 セキュリティ
© 2020 IBM Corporation113
参考︓ユーザー・ロールによるアクセス制御の設定例(1/2)
Role1(⼀般) Role2(⼀般) Role3(特権)
GRANT ROLE ROLE1
TO USER Alan;
GRANT ROLE ROLE2
TO USER Bob;
GRANT ROLE ROLE3
TO USER Charles;
第3章 セキュリティ
© 2020 IBM Corporation114
参考︓ユーザー・ロールによるアクセス制御の設定例(2/2)
Role1 Role2 Role3
REVOKE ROLE ROLE1
FROM USER Alan;
GRANT ROLE ROLE2
TO USER Bob;
GRANT ROLE ROLE3
TO USER Charles;
ユーザーのロール変更
GRANT ROLE ROLE2
TO USER Alan;
ユーザーのプロフィール変更時には、ユーザー単位の
アクセス権変更操作不要
ユーザーの所属するロールの変更を⾏うことで割り当
てたロールに設定されているアクセス権が適⽤される
変更
第3章 セキュリティ
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版

Contenu connexe

Tendances

Tendances (20)

Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートOracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
 
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
 
AWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon AuroraAWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon Aurora
 
Oracle Analytics Cloud のご紹介【2021年3月版】
Oracle Analytics Cloud のご紹介【2021年3月版】Oracle Analytics Cloud のご紹介【2021年3月版】
Oracle Analytics Cloud のご紹介【2021年3月版】
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
 
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
 
IBM Cloudのアカウント管理を学ぶ。リソースグループってなに?
IBM Cloudのアカウント管理を学ぶ。リソースグループってなに?IBM Cloudのアカウント管理を学ぶ。リソースグループってなに?
IBM Cloudのアカウント管理を学ぶ。リソースグループってなに?
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
 
IT エンジニアのための 流し読み Windows 10 - Microsoft の更新プログラム管理インフラ比較 ~ WU / WSUS / SCCM ...
IT エンジニアのための 流し読み Windows 10 - Microsoft の更新プログラム管理インフラ比較 ~ WU / WSUS / SCCM ...IT エンジニアのための 流し読み Windows 10 - Microsoft の更新プログラム管理インフラ比較 ~ WU / WSUS / SCCM ...
IT エンジニアのための 流し読み Windows 10 - Microsoft の更新プログラム管理インフラ比較 ~ WU / WSUS / SCCM ...
 
「カラム型」が実現するビッグデータの高速処理
「カラム型」が実現するビッグデータの高速処理「カラム型」が実現するビッグデータの高速処理
「カラム型」が実現するビッグデータの高速処理
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Hiveを高速化するLLAP
Hiveを高速化するLLAPHiveを高速化するLLAP
Hiveを高速化するLLAP
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 

Similaire à Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版

20111026 switch on福岡(クラウドコンピューティング)
20111026 switch on福岡(クラウドコンピューティング)20111026 switch on福岡(クラウドコンピューティング)
20111026 switch on福岡(クラウドコンピューティング)
dekakin
 

Similaire à Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版 (20)

クラウド検討の進め方
クラウド検討の進め方クラウド検討の進め方
クラウド検討の進め方
 
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
 
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送
 
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
 
IBM Cloud Availability Zoneで実現するHAなアーキテクチャの作り方
IBM Cloud Availability Zoneで実現するHAなアーキテクチャの作り方IBM Cloud Availability Zoneで実現するHAなアーキテクチャの作り方
IBM Cloud Availability Zoneで実現するHAなアーキテクチャの作り方
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
 
ビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDBビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDB
 
Data x AI x API で考えるビジネスインフラ
Data x AI x API で考えるビジネスインフラData x AI x API で考えるビジネスインフラ
Data x AI x API で考えるビジネスインフラ
 
Bluemixの概要とアプリの作り方
Bluemixの概要とアプリの作り方Bluemixの概要とアプリの作り方
Bluemixの概要とアプリの作り方
 
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
 
Cloudianを利用したプラットフォームソリューション (Cloudian Summit 2012)
Cloudianを利用したプラットフォームソリューション (Cloudian Summit 2012)Cloudianを利用したプラットフォームソリューション (Cloudian Summit 2012)
Cloudianを利用したプラットフォームソリューション (Cloudian Summit 2012)
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
 
20111026 switch on福岡(クラウドコンピューティング)
20111026 switch on福岡(クラウドコンピューティング)20111026 switch on福岡(クラウドコンピューティング)
20111026 switch on福岡(クラウドコンピューティング)
 
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
 
Cloudian meets CloudStack
Cloudian meets CloudStackCloudian meets CloudStack
Cloudian meets CloudStack
 
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~ IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
 
Google Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdfGoogle Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdf
 
Decode2017 dell emc_v1.4-a
Decode2017 dell emc_v1.4-aDecode2017 dell emc_v1.4-a
Decode2017 dell emc_v1.4-a
 
IBM cloud 冬の勉強会 google の視点も織り交ぜ理解するkubernetes , istio , grafeas とibm cloud pr...
IBM cloud 冬の勉強会 google の視点も織り交ぜ理解するkubernetes , istio , grafeas とibm cloud pr...IBM cloud 冬の勉強会 google の視点も織り交ぜ理解するkubernetes , istio , grafeas とibm cloud pr...
IBM cloud 冬の勉強会 google の視点も織り交ぜ理解するkubernetes , istio , grafeas とibm cloud pr...
 
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会
 

Plus de IBM Analytics Japan

Plus de IBM Analytics Japan (20)

Db2 Warehouse v3.0 運用管理ガイド 基礎編 20190104 Db2 Warehouse v3.0 Basic Operation G...
Db2 Warehouse v3.0 運用管理ガイド 基礎編 20190104  Db2 Warehouse v3.0 Basic Operation G...Db2 Warehouse v3.0 運用管理ガイド 基礎編 20190104  Db2 Warehouse v3.0 Basic Operation G...
Db2 Warehouse v3.0 運用管理ガイド 基礎編 20190104 Db2 Warehouse v3.0 Basic Operation G...
 
Db2 Warehouse v3.0 SMP 導入ガイド 20190104 Db2 Warehouse SMP v3.0 configration Ins...
Db2 Warehouse v3.0 SMP 導入ガイド 20190104 Db2 Warehouse SMP v3.0 configration Ins...Db2 Warehouse v3.0 SMP 導入ガイド 20190104 Db2 Warehouse SMP v3.0 configration Ins...
Db2 Warehouse v3.0 SMP 導入ガイド 20190104 Db2 Warehouse SMP v3.0 configration Ins...
 
【jena X IBM】ビーコンを活用した働き方改革とは?
 【jena X IBM】ビーコンを活用した働き方改革とは? 【jena X IBM】ビーコンを活用した働き方改革とは?
【jena X IBM】ビーコンを活用した働き方改革とは?
 
IBM Integrated Analytics System DSX R Studio 利用ガイド
IBM Integrated Analytics System DSX R Studio 利用ガイドIBM Integrated Analytics System DSX R Studio 利用ガイド
IBM Integrated Analytics System DSX R Studio 利用ガイド
 
IBM Integrated Analytics System Webコンソール利用ガイド 20180213
IBM Integrated Analytics System Webコンソール利用ガイド 20180213IBM Integrated Analytics System Webコンソール利用ガイド 20180213
IBM Integrated Analytics System Webコンソール利用ガイド 20180213
 
IBM Cloud を利用したデータ分析ことはじめ
IBM Cloud を利用したデータ分析ことはじめIBM Cloud を利用したデータ分析ことはじめ
IBM Cloud を利用したデータ分析ことはじめ
 
Db2 V11 GUIツール
Db2 V11 GUIツールDb2 V11 GUIツール
Db2 V11 GUIツール
 
Db2リブランディングと製品動向 201707
Db2リブランディングと製品動向 201707Db2リブランディングと製品動向 201707
Db2リブランディングと製品動向 201707
 
Dockerとdb2
Dockerとdb2Dockerとdb2
Dockerとdb2
 
IBM Cloudのデータベース
IBM CloudのデータベースIBM Cloudのデータベース
IBM Cloudのデータベース
 
【株式会社ラック様】ハイブリッド・クラウド時代の データベース活用 ~事例・スタートアップ・メニューご紹介~
【株式会社ラック様】ハイブリッド・クラウド時代の データベース活用 ~事例・スタートアップ・メニューご紹介~【株式会社ラック様】ハイブリッド・クラウド時代の データベース活用 ~事例・スタートアップ・メニューご紹介~
【株式会社ラック様】ハイブリッド・クラウド時代の データベース活用 ~事例・スタートアップ・メニューご紹介~
 
Db2 Warehouse Spark利用ガイド チュートリアル編
Db2 Warehouse Spark利用ガイド チュートリアル編Db2 Warehouse Spark利用ガイド チュートリアル編
Db2 Warehouse Spark利用ガイド チュートリアル編
 
Db2 Warehouse Spark利用ガイド データ操作編
Db2 Warehouse Spark利用ガイド データ操作編Db2 Warehouse Spark利用ガイド データ操作編
Db2 Warehouse Spark利用ガイド データ操作編
 
データを集めて貯めて分析する… 最先端のテクノロジーが詰まったIBMクラウドのご紹介
データを集めて貯めて分析する…  最先端のテクノロジーが詰まったIBMクラウドのご紹介データを集めて貯めて分析する…  最先端のテクノロジーが詰まったIBMクラウドのご紹介
データを集めて貯めて分析する… 最先端のテクノロジーが詰まったIBMクラウドのご紹介
 
中古車販売の価格予測モデル(2)
中古車販売の価格予測モデル(2)中古車販売の価格予測モデル(2)
中古車販売の価格予測モデル(2)
 
中古車販売の価格予測モデル(1)
中古車販売の価格予測モデル(1)中古車販売の価格予測モデル(1)
中古車販売の価格予測モデル(1)
 
融資業務における顧客の信用度分析
融資業務における顧客の信用度分析融資業務における顧客の信用度分析
融資業務における顧客の信用度分析
 
銀行の融資業務における人工知能を利用したデータマイニング活用例
銀行の融資業務における人工知能を利用したデータマイニング活用例銀行の融資業務における人工知能を利用したデータマイニング活用例
銀行の融資業務における人工知能を利用したデータマイニング活用例
 
安全在庫を確保するための売上予測
安全在庫を確保するための売上予測安全在庫を確保するための売上予測
安全在庫を確保するための売上予測
 
アンケート分析に統計的な手法を取り入れる(2)
アンケート分析に統計的な手法を取り入れる(2)アンケート分析に統計的な手法を取り入れる(2)
アンケート分析に統計的な手法を取り入れる(2)
 

Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版

  • 1. 2020年 3⽉13⽇(⾦) ⽇本アイ・ビー・エム株式会社 Data and AI 事業部 運⽤管理からの開放「使う」事への最⼤集中 ハイパフォーマンス・クラウドデータウェアハウスサービス Db2 Warehouse on Cloud Flex テクニカルハンドブック
  • 2. © 2020 IBM Corporation2 ⽬次 1. Db2 Warehouse on Cloud 概要 2. データベース接続 3. セキュリティ 4. テーブル設計 5. データロード&アンロード 6. バックアップ&リストア 7. データベース監査 8. モニタリング 9. テクニカルサポート 10.プライベートネットワーク接続 Db2 Warehouse on Cloud テクニカルハンドブック
  • 3. © 2020 IBM Corporation3 本資料の⽬的 クラウドサービスが、ITの選択肢の⼀つとして当然ながら検討されるようになった現在、クラウド上のサービ スを組み合わせてデータ分析業務を⾏う企業が増えてきました。その⼀⽅で分析対象データ量の増加と分析⽅ 法(BI、機械学習、AI)の多様化により、データ分析基盤に求められる要件も⼤きく変化しています。 本資料では、クラウドデータウェアハウスサービス(Db2 Warehouse on Cloud)を活⽤するユーザー(開発者、 管理者)向けに必要なテクニカル⾯でのガイドをまとめた内容となっております。 本書は、IBMクラウドデータウェアハウスサービスであるDb2 Warehouse on Cloudを中⼼にIBMクラウド データサービス概要からDb2 Warehouse on Cloudを利⽤するにあたって必要となる前提知識や注意事項をま とめたガイドとなっています。 Db2 Warehouse on Cloud テクニカルハンドブック
  • 4. 4 1 Db2 Warehouse on Cloud 概要
  • 5. © 2020 IBM Corporation5 IBM クラウドデータサービス概要 -2020年3⽉時点- IBMデータストア戦略はハイブリッドクラウド戦略を軸としており、オンプレミスからクラウドまで共通のSQLエンジンをご利 ⽤頂くことで共通のスキルセット、機能を提供することを可能としています。以下はIBMデータストア製品、クラウドデータ サービスの主要ラインナップとなります。 Db2 Warehouse on Cloud DWH & Analytics クラウドサービス IBM Cloud AWS Db2 on Cloud OLTP DB クラウドサービス IBM Cloud AWS Analytics Engine Hadoop & Spark サービス IBM Cloud Postgres SQL MongoDB (Cloud Database) オープンソースDB クラウドサービス (RDB & NoSQL) IBM Cloud Cloud Object Storage オブジェクト ストレージサービス IBM Cloud Db2 Warehouse DWH & Analytics コンテナ Db2 OLTP DB ソフトウェア/コンテナ オンプレミス/クラウド EDB Postgres MongoDB オープンソースDB ソフトウェア/コンテナ (RDB & NoSQL) オンプレミス/クラウド Cloudera BigSQL Hadoop & Spark サービス Cloud Object Storage オブジェクト ストレージサービス Integrated Analytics System DWH & Analytics アプライアンス IBM Cloud IBM Cloudオンプレミス/クラウドオンプレミス 第1章 Db2 Warehouse on Cloud 概要
  • 6. © 2020 IBM Corporation6 オンプレミスからクラウドサービスまで ”1つの技術”と”同⼀の顧客体験”を提供 フルマネージド クラウドDWHサービス Db2 Warehouse on Cloud 運⽤管理からの開放 「使う」事への最⼤集中 IBM Cloud 各種クラウドベンダー オンプレミス プライベート・クラウド ICP Kubernetes Azure AWS GCP IBMが提供するデータベースは、お客様データセンター、IBM Cloud、他社クラウドなどのあらゆる環境で稼働するために、 クラウドサービス・オンプレミスまでそれぞれの形態で共通のSQLエンジンを提供しています。データウェアハウスに特化し たデータストア製品についても、お客様にプラットフォーム選択の⾃由とマイグレーション容易なDBを提供します。 IBM クラウドデータサービス概要 (ハイブリッドデータマネージメント) 汎⽤データベース ソフトウェア Db2 オールラウンド対応 カスタムデータベース フルマネージド クラウドデータサービス Db2 on Cloud ハイパフォーマンス & ⾼可⽤性 トランザクションデータベース 第1章 Db2 Warehouse on Cloud 概要
  • 7. © 2020 IBM Corporation7 製品・サービス名 Integrated Analytics System Db2 Warehouse Db2 Warehouse on Cloud Db2 on Cloud (*) Db2 主な ⽤途 OLTP ※ OLTPに強い⾏表も作成可能 ※ OLTPに強い⾏表も作成可能 ※ OLTPに強い⾏表も作成可能 ◎ OLTP⽤に最適化 ◎ ※構築設計設定が必要 DWH ◎DWH、分析⽤に最適化 ◎DWH、分析⽤に最適化 ◎DWH、分析⽤に最適化 ※ OLAPに強い列表作成可能 ◎ ※構築設計設定が必要。 提供形態 アプライアンス (HW+SW) コンテナ (Dockerコンテナベース) クラウドデータサービス クラウドデータサービス ソフトウェア Dockerコンテナ 課⾦ ソフトウェア・ライセンス(HW含) +保守 ソフトウェア・ライセンス +保守 従量課⾦ 従量課⾦ ソフトウェア・ライセンス +保守 インフラ •IBM提供のHW/SW •お客様DC •お客様準備のHW •クラウド(IBM, AWS,MS等あ らゆるクラウド) IBM Cloud AWS IBM Cloud •お客様準備のHW •クラウド(IBM, AWS,MS等 あらゆるクラウド) 運⽤ HW IBM お客様 IBM IBM お客様 OS IBM お客様 IBM IBM お客様 DB IBM お客様 IBM IBM お客様 アプリ お客様 お客様 お客様 お客様 お客様 (*) IBM Cloud 上ではDb2というサービス名で提供中ですが、SW版との区別をするために本資料ではDb2 on Cloudと表記します。 IBM クラウドデータサービス概要 (ハイブリッドデータマネージメント) 以下はDb2系データストア製品の⼀覧およびその特徴を記した資料となります。共通SQLエンジンをワークロードに特化した 設定で予め提供を⾏うことで構築や運⽤に関わるコストや負荷をオンプレ、クラウド関わらず削減でき、プラットフォーム変更 を容易とすることでベンダーロックインやプラットフォームに依存せずに共通DBを利⽤することが可能です。 < オンプレミスからクラウド 共通のSQLエンジンを利⽤可能 > 第1章 Db2 Warehouse on Cloud 概要
  • 8. © 2020 IBM Corporation8 IBM Cloudに加えてマルチクラウドでのサービス展開を積極的に実施 様々なクラウドサービス、アプリケーションとのシナジー、連携を強化 2019年10⽉より、AWS 東京リージョン上でのフルマネージドクラウドサービス開始 完全⾃動運⽤(フルマネージドサービス) Db2 Warehouse on Cloud Flexモデル マルチクラウド対応 2019年リリース済み 2019年リリース済み IBM クラウドデータサービス概要 (マルチクラウド対応) 第1章 Db2 Warehouse on Cloud 概要
  • 9. © 2020 IBM Corporation9 Db2 Warehouse on Cloud Flexモデル特徴 (主要な特徴のサマリー) Object Object Object ObjectObject ハイパフォーマンス ⾼可⽤性、運⽤容易性の実現 データレイクへの拡張 フルマネージサービス HW OS DB UP 1 2 3 4 N5 ( ) ⾃由に構成を変更可能1 2 4 5 6In-DB分析処理による⾼速化 ⼤量データを利⽤したSPSS Modeler,R Python/Data Stageを処理をDB内で⾼速化 ⼤規模DWHとして利⽤する上で 必要な⾼可⽤性、運⽤管理機能を搭載 構築不要、インフラ運⽤管理からの解放 各種運⽤作業を⾃動化によるコスト削減 並列処理(MPP) & インメモリカラムナー技術 同時実⾏分析性能⾼速化 コンピューティング資源とディスク資源 を柔軟かつ迅速に拡張 オブジェクトストレージ上のファイルを DB上にある表として透過的に利⽤ アーカイブ 過去履歴 SQLデータアクセス IBM Cloud Object Storage AWS S3 ロード/アンロード SPSS Modeler Python/Jupyter R / R Studio Db2 Warehouse ⾼可⽤性(HA)構成 運⽤監視管理コンソール ⾃動バックアップ(7世代無料) エンタープライズセキュリティ 災害対策(DR) ⾃動ワークロード管理 データ加⼯/機械学習 をDB内で処理 Data StageIn-DB ML 3 第1章 Db2 Warehouse on Cloud 概要
  • 10. © 2020 IBM Corporation10 Db2 Warehouse on Cloud 特徴 (フルマネージドクラウドサービス) 10 + IBMの運⽤管理チームがデータベースを24時間運⽤監視 • OSの更新やパッチの適⽤ • 新機能の適⽤やWebコンソールの更新 • 予期しない障害への対応 • バックアップデータの取得・保管 • DB統計情報更新 / 表再編処理 ユーザーは⽇常のデータベース運⽤から解放され、 業務に集中する事が出来ます。 フルマネージド サービス IBMによる 24時間365⽇の 運⽤監視 運⽤から解放され データ分析に集中 1 第1章 Db2 Warehouse on Cloud 概要
  • 11. © 2020 IBM Corporation11 Db2 Warehouse on Cloud 特徴 (フルマネージドクラウドサービス) 作業項⽬ 作業主体 環境構築 (ハードウエア, OS, ネットワーク) IBM 24時間のモニタリング IBM ⽇次バックアップ IBM 新機能の適⽤ (kernel updates, Webコンソールの新機能など) IBM OSやデータベースのパッチ適⽤ IBM データモデル作成やユーザー管理 Customer BIツールやETLツールからの接続 Customer データのロード Customer アプリケーション開発 Customer セキュリティ管理 Customer セキュリティが企業のガイドラインを 遵守しているかの確認 Customer 11 フルマネージド サービス IBMによる 24時間365⽇の 運⽤監視 運⽤から解放され データ分析に集中 1 第1章 Db2 Warehouse on Cloud 概要
  • 12. © 2020 IBM Corporation12 ⾼速ストレージネットワーク ※ 複数ノード構成(MPP)以外にもスモールスタート構成であるシングル構成(SMP構成)も選択可能 並列分散処理(MPP) x インメモリカラムナーアクセラレーション 表データ DBノード#1 DBノード#2 DBノード#3 DBノード#4 DBノード#5 DBノード#6 DBノード#7 Db2 Warehouse on Cloud 特徴 (ハイパフォーマンス 超並列処理アーキテクチャー) 超並列並列技術(MPP) とインメモリカラムナー処理を融合により ⼤量データに対する複雑な分析処理に加え、同時実⾏分析処理をも⾼速化 コンピュートノードとストレージノードを柔軟に拡張可能 ⾼速性、簡易性、柔軟性を備えたクラウドデータウェアハウスサービス 超並列処理アーキテクチャー x インメモリカラムナ技術 により、全論理DBノード (データスライス)上で、 完全な分散並列処理を実⾏ 圧倒的な分析 パフォーマンス をシンプルに実現 超並列処理 & インメモリカ ラムナーDB処理により チューニング作業を削減 しながら、分析処理を 圧倒的に⾼速化 2 第1章 Db2 Warehouse on Cloud 概要
  • 13. © 2020 IBM Corporation13 Db2 Warehouse on Cloud 特徴 (インメモリカラムナーアクセラレーション) データ分析処理を⼿間をかけずに圧倒的に⾼速化 - 超並列処理 x インメモリカラムナアクセラレーション - ①.列圧縮化技術によるデータ圧縮 ②.⾃動列フィルタリング(列表) ③.⾃動⾏フィルタリング(データスキップ) ④.SIMD並列処理 (単体論理DBノード内) ⑤.MPP並列処理 (複数論理DBノード並列実⾏) DBチューニングを排除、 圧倒的な⾼速化を実現 圧倒的な分析 パフォーマンス をシンプルに実現 超並列処理 & インメモリカ ラムナーDB処理により チューニング作業を削減 しながら、分析処理を 圧倒的に⾼速化 2 第1章 Db2 Warehouse on Cloud 概要
  • 14. © 2020 IBM Corporation14 ⾃由に構成 を変更可能 利⽤状況に応じCPU,RAM リソースおよびデータ量増加 に合わせてディスクサイズを 別々に変更可能 利⽤のピーク時間に合わせて CPUリソースを増強・縮⼩ -アプリケーション内のスライド機能を使⽤して、ストレージ (オンライン) あるいはコンピューティング能⼒をスケール -スケーリング操作により、即時もしくは事前設定した⽇時で変更が可能 ⼩規模構成から、⼤規模構成まで伸縮拡張 (IBM Cloudケース) ビジネスの要件に合わせてシステム構成を柔軟に変更 Db2 Warehouse on Cloud 特徴 (柔軟にシステム構成を変更可能) ※ モデルアップグレード時はデータ移⾏をIBMサービスチームが実施します。 3 第1章 Db2 Warehouse on Cloud 概要
  • 15. © 2020 IBM Corporation15 15 ⾃由に構成 を変更可能 利⽤状況に応じCPU,RAM リソースおよびデータ量増加 に合わせてディスクサイズを 別々に変更可能 利⽤のピーク時間に合わせて CPUリソースを増強・縮⼩ -アプリケーション内のスライド機能を使⽤して、ストレージ (オンライン) あるいはコンピューティング能⼒をスケール -スケーリング操作により、即時もしくは事前設定した⽇時で変更が可能 ⼩規模構成から、⼤規模構成まで伸縮拡張 (AWSケース) ビジネスの要件に合わせてシステム構成を柔軟に変更 Db2 Warehouse on Cloud 特徴 (柔軟にシステム構成を変更可能) ※ AWSではFlex One モデルのリリース提供はありません。 3 第1章 Db2 Warehouse on Cloud 概要
  • 16. © 2020 IBM Corporation16 16 コンテナー化アプローチでデプロイメントおよび障害復旧に対応 KubernetesベースのIBM Container Service上に構築されているため、 MPPクラスターでワーカー・ノードを管理・デプロイできます。 ⾼可⽤性コンピューティング: ノードを無駄なく使⽤ コンテナー・サービスは、ノード障害を即座に検出します。障害ノードは 使⽤が停⽌され、スタンバイ・プールにある新規ノードの稼働を開始します。 ⾼可⽤性ストレージ 「RAID6」 冗⻑性、⾼性能、⾼可⽤性を備えたSSDによるブロック・ストレージを採⽤。 ネットワーク︓ネットワークスイッチの⼆重化で信頼性を確保 Db2 Warehouse on Cloud 特徴 (⾼可⽤性アーキテクチャーによるビジネス継続性) 1 2 3 ⾼可⽤性 & ⾼信頼性 耐障害性を考慮した HAアーキテクチャ 予期せぬノード障害時にも、 データ・ワークロード、照会、 ダッシュボード、レポートの 実⾏の停⽌時間を最⼩化します。 4 第1章 Db2 Warehouse on Cloud 概要
  • 17. © 2020 IBM Corporation17 セルフサービス バックアップ& DR対応 最⼤7世代のスナップショッ ト バックアップを保持 必要な場合、バックアップ を⾼速でリストア バックアップストレージの コストは標準⾦額に含む ⾃動および任意のバックアップ バックアップは⾃動的に⽇次取得。ユーザー任意のタイミングでのバックアップ も可能。取得したバックアップイメージを⽤いた復旧も任意のタイミングで1時間 以内での復旧が可能 バックアップの冗⻑化 バックアップイメージはIBM Cloud Object Storageに保管され⾃動的に複数の データセンターにコピーされる(DCサイト障害時はリモートサイトバックアップ を利⽤可能) 17 4 第1章 Db2 Warehouse on Cloud 概要 Db2 Warehouse on Cloud 特徴 (⾼可⽤性アーキテクチャーによるビジネス継続性)
  • 18. © 2020 IBM Corporation18 ハイブリッド ワークロード への対応 ワークロードや応じて最適な 表形式を選択して利⽤可能 ワークロードに合わせたカスタム化 により単⼀DB内で複数のワーク ロードを効率的に処理 ⾃動もしくはカスタムで ワークロードごとにリソース制御 ワークロード、利⽤⽤途に応じて最適な表形式(⾏/列形式)を選択、最適化可能 ⾃動もしくはカスタマイズ化されたワークロード管理により、必要なリソースを制御 アダプティブワークロード管理 ユーザー・モデルアダプティブワークロード⾃動管理 4 第1章 Db2 Warehouse on Cloud 概要 Db2 Warehouse on Cloud 特徴 (ハイブリッドワークロードへの対応 : ⾏/列対応)
  • 19. © 2020 IBM Corporation19 SPSS Modeler Data Stage R,Python 連携 In-DB処理による⼤量データ の分析処理の⾼速化 分析に必要なデータの準備 加⼯処理をDWHにオフロード 処理時間の⼤幅な短縮を実現 使い慣れたインターフェース 処理だけをDB側にオフロード 分析処理を⾼速化 不要なデータの移動が発⽣せずDBの"中"で処理を完結 ⼤量データを利⽤した分析処理の⾼速化 ⼤量データのやり取りによる遅延、クライアント側環境の制約 従来のRDBMSではクライアント環境にデータを移動させて分析処理を実施 様々なR,Python分析関数、 SPSS Modelerによる 加⼯処理をサポート Db2 Warehouse on Cloud 特徴 (In-DB Analyticsによる分析処理の⾼速化) 5 第1章 Db2 Warehouse on Cloud 概要
  • 20. © 2020 IBM Corporation20 データレイク への拡張 構造化データに加えて、⾮構造化 データをDBに格納して検索可能 オブジェクトストレージに格納さ れたデータに対して透過的に SQLで扱うことが可能 利⽤⽤途に応じたデータタイプをDBに格納して利⽤することができ、 JSONファイル、ラージテキストファイル、バイナリファイルを格納、参照可能 オブジェクトストレージに配置したデータ,ファイルに対して透過的にSQL参照 あたかも⼿元にある表のように各種データの参照、ロードを⾏うことが可能 構造化データ ・⼀般的にRDBへ格納する形式 ・CSV、TSV形式のファイル ・固定⻑ファイル ・Excel形式のファイル ⾮構造化/半構造化データ ・規則性のある⾮構造化データ ・JSONファイル /⼀部のテキストファイル ・規則性のない⾮構造化データ ・テキスト⽂書 ・画像データ 6 第1章 Db2 Warehouse on Cloud 概要 Db2 Warehouse on Cloud 特徴 (マルチデータタイプ対応 & データレイクへの拡張)
  • 21. © 2020 IBM Corporation21 Oracle DB、 Netezzaからの 移⾏容易性 Oracle DB/Netezza 互換機能 & 各種移⾏ツール を備えており、移⾏に関わる ワークロードを低減 Oracle/Netezza互換機能(SQL構⽂サポート、運⽤管理ツール対応) 移⾏ツール(移⾏性評価、⾮互換修正)による移⾏リスク低減 ⼤量データの移⾏をセキュアかつ⾼速に実現するLiftツール NW帯域を最⼤限する⼤容量データ転送ロード機能による移⾏時間短縮を実現 ( + ) +2 B B B B : A D :A LP M S S DQ N 2 B/ B ( ) / SQL/DML PL/SQL ) ( Db2 Warehouse on Cloud 特徴 (Oracle DB/Netezza互換性機能 / 移⾏ツール) 7 第1章 Db2 Warehouse on Cloud 概要
  • 22. © 2020 IBM Corporation22 & Db2 Warehouse on Cloud 活⽤シーン(1) 1 顧客データ分析基盤(機械学習/セルフサービスBI) 顧客をより深く理解し、新たな価値につなげる膨⼤なデータから顧客の⾏動やニーズを把握、 顧客が求めるものをいち早く商品やサービスに反映し、個別化されたオファーをタイムリーに提供 (例:顧客への追加販売 /リピート率向上 /離反・休眠防⽌ /新規顧客獲得) 購買履歴データ DataStage 収集/加⼯ 蓄積 データ可視化・分析 商品データ 顧客データ Lift CLI Watson Studio Data Refinery Data Replication 1.顧客情報や購買履歴など営業データをDb2 Warehouse on Cloudに集約 2.各店舗からDb2 Warehouse on Cloudにアクセスすることで複数のデータ・セットを組み合わせて、セルフサービスで 分析を⾏い、新たな洞察を得て、売上向上/顧客満⾜度向上につなげる 3.顧客動向、クロスセル、離反率、新規顧客獲得等、予測モデルを構築して分析を⾏える基盤として利⽤ 1 2 第1章 Db2 Warehouse on Cloud 概要
  • 23. © 2020 IBM Corporation23 & Db2 Warehouse on Cloud 活⽤シーン(2) 2 情報系システム(BI/DWH)のクラウド展開 企業活動や顧客データの可視化のための既存BI/DWH基盤をクラウド上で実現し、よりビジネスの変化に強み を持った情報系基盤の構築を実現。さらにパフォーマンス、運⽤管理負荷の⼤幅削減、コスト課題を解決 DataStage / Data Refinery IBM Watson Studio IBM Lift Object Storage 収集 蓄積 データの可視化・分析 1. DBに格納されている基幹系データはETLツールでDb2にロード CSV等のファイルはLiftツールでDb2にロード 2.Object Storageに格納されたデータはWEBブラウザGUIもしくはSQL経由でDb2 Warehouse on Cloudにデータロード 3. BIツールでデータの可視化 4. Watson Studio等で機械学習し分析モデル作成、API展開に業務適⽤ 1 2 3 4 各種BIツール / 分析ツール 第1章 Db2 Warehouse on Cloud 概要
  • 24. © 2020 IBM Corporation24 / / / / Db2 Warehouse on Cloud 活⽤シーン(3) 3 IoTデータをBIで可視化 & AI/機械学習で活⽤ デバイスから出⼒されるIoTデータをリアルタイム/ニアリアルタイムで分析することで新たな洞察を獲得。 異常値や故障に関わるパターンの検知、可視化、予測の実現によりビジネス上の効果的な意思決定を⽀援。 Sensors and IoT 2 3 Apache kafka IBM Watson Studio データ収集 蓄積 分析 Watson IoT Platform 1 Clickstream data 4 1. IoTデータはWatson IoT Platformで収集 2. その他、モバイルからのクリックストリームやセンサーデータはストリーミング処理 3. Cognos on CloudでIoTデータを可視化 4. Watson Studio等で機械学習し分析モデル作成、API展開に業務適⽤ 各種BIツール / 分析ツール 第1章 Db2 Warehouse on Cloud 概要
  • 25. © 2020 IBM Corporation25 参考: Db2 Warehouse on IBM Cloud 参考リンク集 Db2 Warehouse on Cloud 製品紹介ホームページ(概要、FAQ、動画) https://www.ibm.com/jp-ja/cloud/db2-warehouse-on-cloud Db2 Warehouse on Cloud Knowledge Center (マニュアル) https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.kc.doc/welcome.html Db2 Warehouse on Cloud What's New サイト (最新Update情報) https://www.ibm.com/support/pages/whats-new-ibm-db2-warehouse-cloud Db2 Warehouse on Cloud 概要紹介デモ動画 https://www.youtube.com/watch?v=JmmDLQ_ZCzU 第1章 Db2 Warehouse on Cloud 概要
  • 26. © 2020 IBM Corporation26 • Db2 on Cloud • Cloud Database • Cloud Object Storage 参考:その他の主要なクラウドデータサービス概要 (⼀部抜粋) 第1章 Db2 Warehouse on Cloud 概要
  • 27. © 2020 IBM Corporation27 Db2 on Cloud 概要 概要︓ • フルマネージドのDb2 as a Service • IBMがデータベースを 24x7x365 管理 • Db2 Enterprise Advanced Editionの機能を利⽤可能 • スモールスタートが可能なプランを提供 • Flexプラン (推奨) • メモリ、ストレージ、CPU コアを個別に拡張可能 • Precise Performanceプラン • 固定のリソースとベア・メタル・サーバーを提供 • ⾼い可⽤性と信頼性 • コンテナベースの環境を提供し復旧時間を短縮。 クラウドストレージが⾼い可⽤性を提供 • バックアップを⾃動的に取得 • HA、DRも構成可能 • 99.99のuptime SLAを提供(HA構成選択時) • 他データベースとの互換性 • Oracle互換機能を提供 • ANSI SQL準拠 • Microsoft SQL Server, Oracle, MySQL, PostgreSQL に対してのアクセスインターフェースを提供 • Cloud Service EndpointによるPrivate接続が可能 第1章 Db2 Warehouse on Cloud 概要
  • 28. © 2020 IBM Corporation28 Db2 on Cloud 概要 • Flexプランは1core/4GBメモリー、2GBストレージ の⼩規模環境からスタート • リソースはスライドバーで簡単に変更可能 • ゼロ・ダウンタイムのスケールも可能(要HA構成) • ⾃動および任意のバックアップ • バックアップは⾃動的に⽇次取得 • 14世代のイメージを保存 • バックアップの冗⻑化 • バックアップイメージはICOSに保管され ⾃動的に複数のデータセンターにコピー • 冗⻑化構成による安定したサービスを提供 • ログミラーリングによる冗⻑化構成 (HADR機能によるローカルHAを提供) • 障害時にもトランザクションをロスせず スタンバイノードへの引継を完了 • 災害構成により他のリージョンに引継可能な データベースノードを構成 • ローカルの冗⻑化に加え、万が⼀の災害時や メンテナンス時のサービス継続のために他リージョン にもデータベースを構成可能 第1章 Db2 Warehouse on Cloud 概要
  • 29. © 2020 IBM Corporation29 Db2 on Cloud の⾼可⽤性オプション Db2 on Cloud Single Node Db2 on Cloud High Availability Node Option • 1ノード構成 • ⽇次⾃動バックアップ (データベースバックアップお よびアーカイブログ) バックアップイメージを複数の データセンターに保管 • データベースの死活監視 • 障害時、IBMによるリカバリ • 2ノード構成(同⼀DC内) • Db2 HADR機能を利⽤した Active-Standby構成 • 同期レプリケーション • 引継は約3分以内 • 障害時の⾃動的なリカバリ • ローリングアップデート • ⽇次⾃動バックアップ (データベースバックアップおよび アーカイブログ) バックアップイメージを複数のデー タセンターに保管 • データベースの死活監視 • 障害時、IBMによるリカバリ Db2 on Cloud Disaster Recovery Node Option • 2または3ノード構成(リージョン間) • Db2 HADR機能を利⽤したActive- Active構成 (UR read) • ⾮同期レプリケーション • 障害時、IBMによるリカバリ • ユーザー操作によるノード引継が可能 Data Center #1 Active Data Center #1 Active Standby 同期 Data Center #1 Active Standby 同期 Data Center #2 Active ⾮同期 Data Center #1 Active Data Center #2 Active⾮同期 第1章 Db2 Warehouse on Cloud 概要
  • 30. © 2020 IBM Corporation30 IBM Cloud Object Storage (クロス・リージョナル) FollowerLeaderFollower Customer 1 Namespace Customer 2 Namespace Kubernetes cluster within a IBM Cloud Region Availability Zone B Availability Zone CAvailability Zone A バックアップ レプリケーション • IBMが管理するIKS上でサービス提供 • Uptime SLA 99.95%の ⾼可⽤性構成 • デフォルトでMZRに分散配置 (データベースの種類ごとに 2メンバーまたは3メンバーで構成) • シンプルな接続のための 1つのエンドポイント • クロス・リージョナル の Cloud Object Storageに ⾃動バックアップ • メンバー間は⾮同期レプリケーション • 障害時は⾃動でフェイルオーバー (30秒以内に切り替え) • ストレージには10 IOPS/GBの Endurance Storageを利⽤ レプリケーション MongoDBRedisPostgreSQL Elasticsearch RabbitMQetcd IBM Cloud Databasesは、オープンソースのデータベースのフルマネージド・サービス(DBaaS)です。 特徴︓ IBM Cloud Databases (PostgreSQL, MongoDB, その他) 概要 第1章 Db2 Warehouse on Cloud 概要
  • 31. © 2020 IBM Corporation31 以下の項⽬を選択可能 • デプロイするリージョン • メモリとディスクサイズ • データベースごとに最⼩ 割り当て量が決まっている • CPUコア • 共有または専有を選択 • 専有の場合はメンバーに 何コア割り当てるか選択 • バージョン • ディスクの暗号鍵 • Key Protectサービスと 組み合わせて利⽤ • エンドポイント • パブリック/プライベート を選択 • プライベートを選択する場合は CSEを有効化する必要がある IBM Cloud Databases (PostgreSQL, MongoDB, その他) 第1章 Db2 Warehouse on Cloud 概要
  • 32. © 2020 IBM Corporation32 IBM Cloud Databases (PostgreSQL, MongoDB, その他) バックアップ • ⽇次で⾃動バックアップ • 任意のタイミングで取得も可能 (IBM Cloudコンソール、API、CLI) • データはクロスリージョナルのICOSに保管 • 保存期間は30⽇ • バックアップ時にデータは圧縮 • DBインスタンス全体のサイズと同サイズまで ストレージ料⾦が無料 • バックアップは削除不可 リストア • IBM CloudコンソールまたはCLI経由でリストア • リストアすると新規インスタンスが作成される • 直近7⽇間のPITR(Point-in-Time Recovery)にも対応 (PostgreSQLのみ) • クロスリージョンのリストアも可能 第1章 Db2 Warehouse on Cloud 概要
  • 33. © 2020 IBM Corporation33 IBM Cloud Databases (PostgreSQL, MongoDB, その他) • コンソールやAPI、CLIからリソースのスケールが可能 メモリ • スケールアップ/ダウンが可能 ストレージ • スケールアップのみ • ディスク容量を少なくしたい場合は 新規インスタンスを作成して対応 CPU • 専有CPUプランを選択している場合のみ、 スケールアップ/ダウンが可能 • IPホワイトリストによるアクセス制御が可能 リソースのオートスケールは未対応です 第1章 Db2 Warehouse on Cloud 概要
  • 34. © 2020 IBM Corporation34 IBM Cloud Databases (PostgreSQL, MongoDB, その他) 読み取り専⽤のレプリカDBを作成可能(PostgreSQLのみ) 特徴︓ • ソースDBの負荷軽減 • DR⽤途としても利⽤できる • 同⼀/別 リージョンどちらでも可能 • リーダーと⾮同期レプリケーション • リーダーと同じ資格情報で操作可能 制約︓ • メジャーバージョンはリーダーと同⼀にする必要がある • リードレプリカに対するバックアップは取得されない • IPホワイトリストとの共存はできない • 東京で作成した場合、EUリージョン(eu-de)には配置でき ない • リードレプリカは5つまで • リーダーと同期してスケールしない • リードレプリカのディスク容量は作成時に⾃動で計算 第1章 Db2 Warehouse on Cloud 概要
  • 35. © 2020 IBM Corporation35 IBM Cloud Object Storage 概要 主な特⻑︓ • ⾼い回復性と可⽤性 – 保存データは3ヵ所以上で⾃動的に分散保管 – 99.9999999999999 (15 nine) の耐久性 – 保存データは⾃動的に暗号化 • コスト効率の⾼いストレージ – 1GB/⽉ を数円から使える安価な従量課⾦ – GBからEB (エクサバイト) 超の拡張性 – 最⼤25GB/⽉まで無料なライトプラン • 多様な接続性 – S3互換APIのため、資格情報およびエンドポ イントを既存ツールの連携に利⽤可能 – プライベートエンドポイントの提供により、 セキュアかつ無制限な帯域幅を利⽤可能 ⽂章、写真、PDF、動画、バックアップなど、いかなるフォーマットでも格納できる⾮定型データ⽤のストレー ジです。静的データの⻑期保管、メディア・オブジェクトの保管、メディアの配信などに利⽤されています。 Public Endpoint Private Endpoint ユーザー アプリサーバー IBM Cloud Object Storage 例 : 「Regional – 東京」における分散保管 バケット名は、全てのアカウントを通じてユニークな値を設定する必要があります。 バケット数は最⼤100ですが、バケットあたりのオブジェクト数は無制限です。1オブジェクトの最⼤サイズは、10TBです。 https://www.ibm.com/jp-ja/cloud/object-storage/faq 第1章 Db2 Warehouse on Cloud 概要
  • 36. © 2020 IBM Corporation36 IBM Cloud Object Storage 概要 (レジリエンシーとロケーション) 以下のレジリエンシーとロケーションから、データ保管場所を選択できます。 l Cross Region – 1つのGeo内の3つのリージョンにまたがって保管され、最も可⽤性と回復性に優れます。 l Regional – 1つのリージョン内の複数のゾーンにまたがって保管され、最も可⽤性とパフォーマンスに優れます。 l Single Site – 1つのデータセンター内の複数のデバイスにまたがって保管され、最も局地性に優れます。 AP Cross Region Melbourne EU Cross Region Toronto US Cross Region London Dallas Washington DC Frankfurt Chennai Amsterdam Sao Paulo Oslo Tokyo Seoul San Jose, CA Milan Hong Kong Montreal Mexico City Sydney 第1章 Db2 Warehouse on Cloud 概要
  • 37. © 2020 IBM Corporation37 IBM Cloud Object Storage 概要 (ストレージクラス) お客様のデータ利⽤パターンに合わせた多様なストレージ・モデルを提供します。 Storage Class Standard Vault Cold Vault Flex データ特性 アクセス頻度が⾼い よりアクセス頻度が低い 最⼩限のアクセスでよい アクセス頻度が動的または予測不可能 主な⽤途 コラボ、ファイル共有など バックアップ、災害対策など アーカイブ、監査ログ保管など クラウドネイティブ、AI アプリなど アクセス頻度 ⽉に複数回 ⽉に1回、またはそれ以下 3ヶ⽉に1回、またはそれ以下 使いたいときに使いたいだけ 最低保管期間 なし 30⽇ 90⽇ なし 最低オブジェクトサイズ なし 128 KB 256 KB なし データ保管料⾦ ⾼い 普通 安い 普通より安い データ読出料⾦ 無料 安い ⾼い 普通 【参考】ストレージクラスごとの課⾦イメージ 1TB 保存時の データ 保管料⾦ + データ 読出料⾦ Flex では上限値(Cap)があるので急激な読出時も安⼼︕ 読出率14%以下では、Cold Vault が最安値 全保管データ量 (1TB) に対する読出データ量の割合 それぞれの詳細な価格体系は 下記リンクをご参照ください。 https://www.ibm.com/cloud/object- storage/pricing/ 合算の上限値が 設定されています 第1章 Db2 Warehouse on Cloud 概要
  • 39. © 2020 IBM Corporation39 Webコンソールへのアクセス • Db2 Warehouse on Cloudを契約すると、アクセスに必要なクリデンシャル情報が送付さ れますので、そちらの内容を使ってWebコンソール *1 へアクセスしできます。 EXPLORE ・テーブル、ビュー 、MQT ・ストアドプロシージャー ・ロール SETTINGS ・契約内容の確認 ・ユーザーの管理 CONNECTION INFO ・接続情報の表⽰ ・Driver Packageダウンロード HELP ・Caseの確認 ・マニュアルへのリンク MONITOR ・システム状況 ・ワークロード、 等のモニター データLOAD SQL実⾏ BACKUP AND RESTORE ・バックアップの取得⽇時指定 ・バックアップ/リストアの管理 Webコンソール ログイン画⾯ *1 Webコンソールについては、「GUIベースの代表的なクライアント – 1. Webコンソール」 も合わせてご確認ください。 第2章 データベース接続
  • 40. © 2020 IBM Corporation40 データベースへの接続要件 • Db2 Warehouse on Cloudのデータベースへの接続先情報は、Webコンソールから確認すること ができます。 • Db2 Warehouse on Cloudに接続するためには、Db2 v11.1もしくはそれ以上のドライバが必要 となります。Db2 Warehouse on CloudのDb2バージョンに合わせた最新のドライバーの利⽤を 推奨します。 • JDBC、ODBCおよびDb2ネイティブでの接続をサポートします。 • 本資料では、Db2 Warehouse on Cloudに接続しデータベースを操作するためのツールを紹介し ています。⼀部IBMではないベンダーのツールを紹介をしていますが、各種確認事項は提供ベン ダーへご確認ください。 • Db2 Warehouse on Cloudは、デフォルトではSSL接続となります。SSLなしでの接続が必要な 場合はチケットのオープンが必要となります。 • ポートは SSLなしは50000、SSLありは50001が利⽤されます。クライアントとの通信経路にお いて、これらのポートが空いていることを確認してください。 第2章 データベース接続
  • 41. © 2020 IBM Corporation41 データベースへの接続先情報 • 接続先の情報(ホスト、ポート番号など) − Webコンソールに記載 - をクリックしてサイドメニュー「CONNECTION INFO」>「Connection Information」 - JDBC接続時に必要となるURL、JDBCドライバーも同画⾯で提供される SSL接続に必要な証明書を取得 第2章 データベース接続
  • 42. © 2020 IBM Corporation42 データベースへの接続先情報 • 接続先の情報(ホスト、ポート番号など) クライアントツール名称 ポート番号 実⾏例 Webコンソール REST API 8443 (443も可) https://Db2WoC ホスト:8443 DBへの接続 50001 (SSLあり) 50000 (SSLなし) DBヘ接続するアプリケーションから指定するポート番 号 SSLあり jdbc:db2://Db2 WoC ホスト 名:50001/BLUDB:user=bluadmin:password=<your _password>;sslConnection=true; SSLなし jdbc:db2://Db2 WoC ホスト 名:50000/BLUDB:user=bluadmin:password=<your _password>; 第2章 データベース接続
  • 43. © 2020 IBM Corporation43 Db2ドライバーのインストール⽅法 • ドライバのダウンロード − Db2 Warehouse on CloudのWebコンソールか らダウンロードする − IBMサポートのページよりダウンロードする - 最新版はIBMサポートのページとなります。 • インストーラーを起動しNextを押していきイン ストール − デフォルトパス:C:¥Program Files¥IBM¥IBM DATA SERVER DRIVER • 接続のためのjarファイルは¥javaディレクトリ 配下に配置 − ツールなどでjarの指定された場合は、 db2jcc.jarを指定する Windows PC向け⼿順例 第2章 データベース接続
  • 44. © 2020 IBM Corporation44 クライアント・ソフトウェア 第2章 データベース接続
  • 45. © 2020 IBM Corporation45 クライアント・ソフトウェアからSQLを実⾏ • クライアント・ツールからのDBへの接続⽅法には、以下のような⽅法があります。 − CLIベースの接続・操作 − GUIベースの接続・操作 − アプリケーション(JDBC, ODBCなど)からの接続 CLP Db2 Warehouse Clientコンテナ、Data Server Clientに含まれるDb2標準のコマンドラインインター フェース CLPPlus Db2 Warehouse Clientコンテナ、Data Server Client、Db2 Data Server Driver Packageに含まれる Oracle DB 互換のコマンドラインインターフェース Webコンソー ル Db2 Warehouse on Cloudに付属する統合WebコンソールからSQLの実⾏やDB操作が可能 開発ツール Db2 Data Server Driver Packageに含まれるJDBCドライバ等を利⽤して開発ツールか操作する。 第2章 データベース接続
  • 46. © 2020 IBM Corporation46 CLIベースの代表的なクライアント種類 • Db2 Warehouse on Cloudに接続可能な代表的なCLIベースのクライアンは下記になりま す。これらクライアントから利⽤可能CLP(コマンド⾏プロセッサー)を次ページ以降で 紹介します。 クライアントツール名 ⽤途、役割 サポートOS Db2 Warehouse Client Container Db Warehouse ClientコンテナはDockerコンテナとして提供され、全てのクラ イアントセットを含みます。 Db2 Data Server Client⼀式および PDA(Netezza) からDb2 Warehouseのマ イグレーションツール群(dbsql、dbload、db_migrate、DHP)⼀式が提供され ます。 必須:DockerサポートOS - Windows 10以上 - MAC - Linux Db2 Data Server Client Db2 コマンド⾏プロセッサー(CLP)、CLPPlus、Db2ベースのロードユーティリ ティ等、従来のDb2で利⽤されているクライアント⼀式を含みます。 Db2 Data Server Driver Packageに含まれる⼀連のドライバ⼀式も同時に導⼊ されます。 Windows, Linux, AIX 詳細はSoftware Product Compatibility Reportsを 確認ください Db2 Data Server Driver Package ODBC、CLI、.NET、OLE DB、PHP、Ruby、JDBC、またはSQLJを使⽤するア プリケーションのための接続ドライバーパッケージです。SQLステートメントお よびスクリプトを動的に作成、編集、および実⾏するためのCommand Line Processor Plus (CLPPlus)も含まれます。 主にアプリケーション、開発ツールから接続するために必要なドライバを導⼊す る際に、クライアント環境へ導⼊します。 Windows, Linux, AIX 詳細はSoftware Product Compatibility Reportsを 確認ください 第2章 データベース接続
  • 47. © 2020 IBM Corporation47 CLP(コマンド⾏プロセッサー)とは • CLP − SQL実⾏、オブジェクトの作成・削除、データベースの管理などの管理操作を実⾏することがで きる対話式CUIツール(dbsqlと同様) − IBM Db2のコマンドインターフェース互換コマンドラインツール − Db2 Warehouse Clientコンテナをクライアントに導⼊し、コンテナ上で実⾏する - Db2 Warehouse Clientコンテナを導⼊する場合はDockerの導⼊が必要 − IBM Data Server Clientをクライアントに導⼊し、クライアント上で実⾏する。 - クライアントから実⾏する場合は、予めノード、データベースのカタログをクライアントから実施 • 構⽂ $ db2 [option-flag] [ [db2 command] or [sql-statement] ] CLPコマンドマニュアルリンク先 https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.admin.cmd.doc/com.ibm.db2.luw.admin.cmd.doc-gentopic2.html 第2章 データベース接続
  • 48. © 2020 IBM Corporation48 CLPの呼び出し • 対話式⼊⼒モード − CLPを起動し、⼊⼒プロンプトから直接コマンドを⼊⼒する⽅法 • コマンドモード − CLPの引数に実⾏コマンドを⼊⼒する⽅法 • バッチモード − CLPのファイル⼊⼒オプションを使⽤してファイルからコマンド⼊⼒する⽅法 $ db2 (c) Copyright IBM Corporation 1993,2007 DB2 クライアント 11.1.4.5 コマンド⾏プロセッサー コマンド・プロンプトからデータベース・マネージャーのコマンド、および SQL ステートメントを呼び出せます。 例: db2 => connect to sample db2 => bind sample.bnd $ db2 => $ db2 "connect to BLUDB user <username> using <password>" $ db2 "select * from CLP.T1" $ db2 “terminate” $ db2 –tvf select_T1.sql 以後、対話式にSQLを実⾏可能 第2章 データベース接続
  • 49. © 2020 IBM Corporation49 ノード、データベースのカタログ (SSL接続) • クライアントからDb2 Warehouse on CloudにSSL接続するために、サーバーの証明書 (DigiCertGlobalRootCA.crt)をダウンロードし、GSKitを使って鍵ストアへ証明書を 追加し、SSLをサポートするようにクライアントをセットアップ *1 − 証明書を鍵ストアへ追加 *2 − SSLをサポートするようセットアップ $gsk8capicmd_64 -keydb -create -db keystore.kdb -pw password -stash $ls DigiCertGlobalRootCA.crt keystore.kdb keystore.sth keystore.crl keystore.rdb $gsk8capicmd_64 -cert -add -db keystore.kdb -pw db2inst1 -label BLUDB_SSL -file DigiCertGlobalRootCA.crt *1 SSLによってクライアント/サーバー間の通信を暗号化する⽅法 - [SSLサポートの構成 (クライアント側)] https://www.ibm.com/support/pages/db2-luw-ssl- %E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E9%96%93%E3%81% AE%E9%80%9A%E4%BF%A1%E3%82%92%E6%9A%97%E5%8F%B7%E5%8C%96%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95 *2 2つ以上のDb2 Warehouse on CloudにSSL接続する場合、異なるLabel名と証明書名を使って鍵ストアに2つ⽬の証明書を追加してください。 コマンド例︓$gsk8capicmd_64 -cert -add -db keystore.kdb -pw db2inst1 -label BLUDB_SSL2 -file DigiCertGlobalRootCA2.crt $db2 update dbm cfg using SSL_CLNT_KEYDB C:¥SSL¥keystore.kdb DB20000I UPDATE DATABASE MANAGER CONFIGURATION コマンドが正常に完了しました。 $db2 update dbm cfg using SSL_CLNT_STASH C:¥SSL¥keystore.sth DB20000I UPDATE DATABASE MANAGER CONFIGURATION コマンドが正常に完了しました。 第2章 データベース接続
  • 50. © 2020 IBM Corporation50 ノード、データベースのカタログ (SSL接続) • クライアントからDb2 Warehouse on CloudにSSL接続するために、ノード、データ ベースのカタログを実施 − クライアントからノードのカタログを実施する − クライアントからデータベースのカタログを実施する − 実施例 db2 catalog tcpip node <カタログノード名> remote <ホスト名/IP> server <ポート番号> security ssl db2 catalog database <データベース名> as <カタログデータベース名> at node <カタログノード名> $ db2 catalog tcpip node DB2WOC remote db2whoc-xxxxx.xxxx.net server 50001 security ssl DB20000I CATALOG TCPIP NODE コマンドが正常に完了しました。 DB21056W ディレクトリーの変更は、ディレクトリー・キャッシュがリフレッシュされるまで反映されません。 $ db2 terminate DB20000I TERMINATE コマンドが正常に完了しました。 $ $ db2 catalog database BLUDB as BLUDB at node DB2WOC DB20000I CATALOG DATABASE コマンドが正常に完了しました。 DB21056W ディレクトリーの変更はディレクトリー・キャッシュがリフレッシュされるまで反映されません。 $ db2 terminate DB20000I TERMINATE コマンドが正常に完了しました。 第2章 データベース接続
  • 51. © 2020 IBM Corporation51 ノード、データベースのカタログ (⾮SSL接続) • クライアントからDb2 Warehouse on Cloudに⾮SSL接続するために、ノード、データ ベースのカタログを実施 − クライアントからノードのカタログを実施する − クライアントからデータベースのカタログを実施する − 実施例 db2 catalog tcpip node <カタログノード名> remote <ホスト名/IP> server <ポート番号> db2 catalog database <データベース名> as <カタログデータベース名> at node <カタログノード名> $ db2 catalog tcpip node DB2WOC remote db2whoc-xxxxx.xxxx.net server 50000 DB20000I CATALOG TCPIP NODE コマンドが正常に完了しました。 DB21056W ディレクトリーの変更は、ディレクトリー・キャッシュがリフレッシュされるまで反映されません。 $ db2 terminate DB20000I TERMINATE コマンドが正常に完了しました。 $ $ db2 catalog database BLUDB as BLUDB at node DB2WOC DB20000I CATALOG DATABASE コマンドが正常に完了しました。 DB21056W ディレクトリーの変更はディレクトリー・キャッシュがリフレッシュされるまで反映されません。 $ db2 terminate DB20000I TERMINATE コマンドが正常に完了しました。 第2章 データベース接続
  • 52. © 2020 IBM Corporation52 ノード、データベースのカタログ (共通) • カタログの操作 − カタログしたデータベースによる接続 − カタログの削除 − カタログの⼀覧 db2 connect to BLUDB user bluadmin user xxxxx db2 uncatalog database bludb ・・・カタログデータベースの削除 db2 uncatalog node db2woc ・・・カタログノードの削除 db2 list node directory show detail db2 list db directory 第2章 データベース接続
  • 53. © 2020 IBM Corporation53 CLPの呼び出し (Windowsクライアント) • CLPの呼び出し − スタートメニューから IBM Data Server Clientのコマンド⾏プロセッサーから起動 − またはdb2cmdコマンドを実⾏ − 起動したDB2COPYからCLPコマンドを実⾏する スタートメニュー db2cmd 第2章 データベース接続
  • 54. © 2020 IBM Corporation54 CLPの呼び出し (Linuxクライアント) • CLPの呼び出し⽅法 − IBM Data Server Clientを導⼊したユーザにて実⾏ - サーバと同様にコマンドプロンプトから実⾏可能 − 別ユーザで実⾏する場合はdb2profileを読み込むことで実⾏可能 - 導⼊ユーザの.bashrcファイルからdb2profileの読み込み部分を取得する Linuxクライアントからログイン # The following three lines have been added by UDB DB2. if [ -f /home/db2inst1/sqllib/db2profile ]; then . /home/db2inst1/sqllib/db2profile fi ※上記をCLPを使⽤したいユーザーの.bashrcに追記することで、CLPを使⽤できるようになる 第2章 データベース接続
  • 55. © 2020 IBM Corporation55 CLPの停⽌ • CLPの停⽌⽅法 − quitコマンド - CLPを停⽌する − terminateコマンド - CLPの停⽌に加え、関連付けられたバックエンド・プロセスを除去する - 使⽤しているメモリーをすべて解放する。 - (STOP DATABASE MANAGERやdb2stop実⾏前はterminateを発⾏する必要がある) $db2 terminate DB20000I TERMINATE コマンドが正常に完了しました。 第2章 データベース接続
  • 56. © 2020 IBM Corporation56 CLPのリターンコマンド • コマンドモード、バッチモードではCLPからリターンコードが返される • 正常終了を判定するスクリプトサンプル(Bシェル) • 複数のSQLを発⾏した場合、リターンコードは論理和で返される − 4つのSQLが「0(成功)」「1(結果なし)」 「1(結果なし)」 「4(エラー)」の場合は「5」が返却 される #!bin/sh db2 "select * from SCHM1.T1" ; if [ "$?" = "0" ] then echo "OK" else echo "NG" fi コード 説明 0 Db2 コマンド、 SQLステートメントが正常に実⾏ 1 SELECT または FETCHステートメントが⾏を戻さない 2 Db2コマンド、 SQLステートメントが警告終了 4 Db2コマンド、 SQLステートメントがエラー終了 8 CLPのシステムエラー 第2章 データベース接続
  • 57. © 2020 IBM Corporation57 CLPオプション1 • デフォルトのCLPオプション − list command optionsコマンドにて確認が可能 $db2 "list command options" Command Line Processor Option Settings Backend process wait time (seconds) (DB2BQTIME) = 1 No. of retries to connect to backend (DB2BQTRY) = 60 Request queue wait time (seconds) (DB2RQTIME) = 5 Input queue wait time (seconds) (DB2IQTIME) = 5 Command options (DB2OPTIONS) = Option Description Current Setting ------ ---------------------------------------- --------------- -a Display SQLCA OFF -b Auto-Bind ON -c Auto-Commit ON -d Retrieve and display XML declarations OFF 〜(省略)〜 -v Echo current command OFF -w Display FETCH/SELECT warning messages ON -x Suppress printing of column headings OFF -y Get SQL message text from server ON -z Save all output to output file OFF $ ※CLPコマンドオプション リンク先 https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0010410.html 第2章 データベース接続
  • 58. © 2020 IBM Corporation58 CLPオプション2 • 環境変数からオプションを変更 − 「DB2OPTIONS」によりデフォルトのオプションを変更できる − ONにする場合はオプションの前に不符号(-)、OFFにする場合はオプションの前に正符号(+)を つける #デフォルトのAuto-Commitの設定は「ON」 $db2 “list command options” | grep Auto-Commit -c Auto-Commit ON #環境変数DB2OPTIONにAuto-Commit=OFF を設定 $export DB2OPTIONS='+c' $env | grep DB2OPTIONS DB2OPTIONS=+c #環境変数によりAuto-Commitの設定が「OFF」になる $db2 “list command options” | grep Auto-Commit -c Auto-Commit OFF (例)Auto-Commit( -c ) オプションの変更 第2章 データベース接続
  • 59. © 2020 IBM Corporation59 CLPオプション3 • CLP起動オプションから指定 − Db2コマンドの起動オプションにより指定する − ONにする場合はオプションの前に不符号(-)、OFFにする場合はオプションの前に正符号(+)を つける #デフォルトの Auto-Commit の設定は「ON」 $db2 “list command options” | grep Auto-Commit -c Auto-Commit ON #db2コマンドによる CLP 起動時に Auto-Commit=OFF を設定 $db2 +c "list command options" | grep Auto-Commit ; -c Auto-Commit OFF (例)Auto-Commit( -c ) オプションの変更 第2章 データベース接続
  • 60. © 2020 IBM Corporation60 CLPオプション4 • update command optionsコマンドにより変更 − CLPからオプションを変更するコマンドを実⾏する − update command options using <option> <ON/OFF> (例)Auto-Commit( -c ) オプションの変更 #デフォルトの Auto-Commit の設定は「ON」 db2 => list command options 〜(省略)〜 -c Auto-Commit ON 〜(省略)〜 db2 => #CLP から update command option により Auto-Commit を「OFF」に変更 db2 => update command options using c OFF DB20000I The UPDATE COMMAND OPTIONS command completed successfully. db2 => #コマンドによる変更後の Auto-Commit の設定は「OFF」 db2 => list command options 〜(省略)〜 -c Auto-Commit OFF 〜(省略)〜 db2 => 第2章 データベース接続
  • 61. © 2020 IBM Corporation61 CLPオプション5 • CLPオプションは以下の順で処理されます。(優先度︓4.>3.>2.>1.) − 1.デフォルトの設定 − 2.環境変数「DB2OPTIONS」による設定 − 3.CLP起動時のオプションによる設定 − 4.update command optionsによる設定 第2章 データベース接続
  • 62. © 2020 IBM Corporation62 CLPオプション⼀覧(1/2) Option Description Default -a コマンド⾏プロセッサーはSQLCAデータを表⽰します。 OFF -b このオプションは、SQLステートメントの実⾏に必要なすべての⽋落パッケージや無効パッケージを⾃動作成するよ うコマンド⾏プロセッサーに通知します。 ON -c コマンド⾏プロセッサーはSQLステートメントを⾃動的にコミットします。 ON -d このオプションは、コマンド⾏プロセッサーがXMLデータのXML宣⾔を検索して表⽰するよう指⽰します。 OFF -e{c|s} コマンド⾏プロセッサーはSQLCODEまたはSQLSTATEを表⽰します。この2つのオプションは相互に排他的です。 OFF -f filename コマンド⾏プロセッサーは、 コマンド⼊⼒を標準⼊⼒ではなくファイルから読み取ります。 OFF -I このオプションは、コマンド⾏プロセッサーが、適切な字下げを使ってXMLデータを「整形印刷」するよう指⽰しま す。このオプションは、XQueryステートメントの結果セットにのみ影響を与えます。 OFF -l filename コマンド⾏プロセッサーはコマンドを履歴ファイルに記録します。 OFF -m このオプションは、ステートメントINSERT、DELETE、UPDATE、およびMERGEの影響を受ける⾏数を表⽰するよ うにコマンド⾏プロセッサーに指⽰します。 OFF -n 単⼀の区切りトークン内の改⾏⽂字を除去します。 このオプションを指定しない場合、改⾏⽂字はスペースで置換さ れます。 このオプションは、-t オプションと共に使⽤する必要があります。 OFF -o コマンド⾏プロセッサーは、出⼒データおよびメッセージを標準出⼒に表⽰します。 ON -p コマンド⾏プロセッサーは、対話型⼊⼒モードのときにコマンド⾏プロセッサー・プロンプトを表⽰します。 ON -q このオプションは、コマンド⾏プロセッサーが、単⼀または⼆重引⽤符で区切られているストリング内の空⽩⽂字お よび改⾏⽂字を保持するよう指⽰します。オプション q がONのとき、オプション n は無視されます。 OFF -r filename コマンド⾏プロセッサーは、コマンドが⽣成したレポートをファイルに書き込みます。 OFF 第2章 データベース接続
  • 63. © 2020 IBM Corporation63 CLPオプション⼀覧(2/2) Option Description Default -s コマンド⾏プロセッサーは、バッチ・ファイルまたは対話式モードでコマンドを実⾏中にエラーが発⽣した場合、 実 ⾏を停⽌します。 OFF -t コマンド⾏プロセッサーはセミコロン (;) をステートメント終了⽂字として使⽤します。 OFF -tdx または –tdxx このオプションは、コマンド⾏プロセッサーが x または xx をステートメント終了⽂字 (⻑さは1⽂字または2⽂字) として定義し、使⽤するよう指⽰します。 OFF -v コマンド⾏プロセッサーはコマンド・テキストを標準出⼒にエコーさせます。 OFF -w このオプションは、FETCHおよびSELECTの警告メッセージを表⽰するようにコマンド⾏プロセッサーに指⽰します。ON -x コマンド⾏プロセッサーは列名などのヘッダーなしでデータを戻します。 このフラグは、すべてのコマンドには影響 を与えません。 これは、SQLステートメント、およびSQLステートメントに基づくいくつかのコマンド (LIST TABLES など) に適⽤されます。 OFF -y このオプションを指定すると、コマンド⾏プロセッサー (CLP) は、SQLCODEに対応するメッセージ・テキストを ローカル・メッセージ・ファイルで検出できなかった場合は、接続されたデータベース・サーバーからSQLメッセー ジ・テキストを取得するようになります。 ON -z filename コマンド⾏プロセッサーはすべての出⼒をファイルにリダイレクトします。 これは -r オプションと似ていますが、 出⼒の他にメッセージやエラー・コードも含まれます。 OFF 第2章 データベース接続
  • 64. © 2020 IBM Corporation64 GUIベースの代表的なクライアント種類 • Db2 Warehouse on Cloudに接続可能な代表的なGUIベースのクライアントを紹介します。 No. ツール 製品価格 (無償/有償) 特徴 ツール名 提供元 サポート ⽇本語 1 Webコンソール IBM ○ △ (⽇本語マニュ アルあり) Db2 Warehouse on Cloudサポートに含む ・クライアント、追加作業・費⽤不要 ・ユーザー管理やバックアップなどの作業も可能 ・英語インターフェース 2 IBM Data Server Manager IBM ○ ○ Db2 Warehouse on Cloudサポートに含む ・クライアントへの導⼊が必要 (Win,Lin,AIX) ・Webブラウザベースで⽇本語GUI ・⽇本語マニュアルあり ・標準的な開発機能を網羅 ・DBベンダーによる開発・保守あり ・チューニング⽀援機能含め⾮常に多機能 ・各種リソース監視とレポート化 3 Dbeaver PremiumSof t ○ (有償) ○ 無償(Community) 有償(Enterprise) ・外部サポートツールであるが多機能 ・Db2の実⾏計画の取得と確認可能 ・ER図の作成可能 ・接続先ごとに⾊を分けられる ・Db2に正式に対応した製品 ・有償サポートがある ・⽇本語サポート 4 Agnity Workbench Agnity ○ (有償) × 無償(Pro) 有償(Team, Enterprise) ・動作が軽い ・Db2に正式に対応した製品 (Enterpriseは⾮対 応) ・今後の実装により機能拡張される模様 第2章 データベース接続
  • 65. © 2020 IBM Corporation65 1. Webコンソール • 概要 − WebコンソールはDb2 Warehouse on Cloudに標準で実装 − 対応ブラウザを⽤意し、Webコンソールに接続するだけで利⽤可能 • ⼊⼿⽅法 − Webブラウザを起動し、Db2 Warehouse on Cloudに接続 • 特徴 − SQLの実⾏だけではなく、テーブル定義の変更やユーザー管理、バックアップ・リストアも可 第2章 データベース接続
  • 66. © 2020 IBM Corporation66 1. Webコンソール • 利⽤イメージ 66 SQL実⾏画⾯ – syntaxチェックやSQL⽣成サポートあり ユーザー管理画⾯ - パスワードポリシーの設定も可能 定期的なバックアップの設定とリストアが可能ブラウザからデータのロードが可能 第2章 データベース接続
  • 67. © 2020 IBM Corporation67 2. IBM Data Server Manager • 概要 − IBM Data Studioの後継ツールで無料利⽤可(IBMのサポートあり) − 機能制限の解除は、接続先のデータベースに依存 - Db2 Warehouse on Cloudの場合、Enterprise機能を利⽤可能 • ⼊⼿⽅法 1. IBMのFix CentralもしくはDeveloper Worksからダウンロード https://www-945.ibm.com/support/fixcentral/ https://www-01.ibm.com/marketing/iwm/iwm/web/dispatcher.do?source=swg-rddsm 2. インストール (& サービス起動) ※ドライバの導⼊などは不要 3. ブラウザを起動し、DSMサービスに接続 https://localhost:11080/ 4. (オプション)Enterprise機能を利⽤したヒストリカルデータの保管など ※別途Db2データ ベースの⽤意が必要 • 特徴 − SQLの実⾏だけでなく、リソース利⽤率の確認やレポート出⼒も可能 第2章 データベース接続
  • 68. © 2020 IBM Corporation68 2. IBM Data Server Manager • 利⽤イメージ 期間データのレポート作成が可能 (出⼒可能形式は、HTML,PDF,CSV)各種リソース利⽤率なども確認可能 ヒストリカルモニターデータは間引きされながら保管 第2章 データベース接続
  • 69. © 2020 IBM Corporation69 3. DBeaver • 概要 − 各種データベースに対応した、多機能なデータベース操作ツール − Communityエディションは無料で利⽤可能 • ⼊⼿⽅法 1. DBeaverのホームページからダウンロード https://dbeaver.io/ 2. インストール 3. 必要に応じてDb2のドライバーをダウンロード https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads 4. 起動後データベース接続情報を登録して接続 • 特徴 − 複数のデータベースへの接続に対応していながら多機能が特徴 ü アクセスプランの取得 ü ER図の作成、等 第2章 データベース接続
  • 70. © 2020 IBM Corporation70 3. DBeaver • 利⽤イメージ 複数の接続先の登録と操作画⾯、接続先は⾊分けが可能 アクセスプランの取得やER図の作成など機能も充実 SQLの補完機能あり 第2章 データベース接続
  • 71. © 2020 IBM Corporation71 4. Aginity Workbench • 概要 − 各種データベースに対応したデータベース操作ツール − 全⾯的にリニューアルされ、以前のAginity WorkbenchはLegacyバージョンとな り今後サポートされない − データベース毎に機能実装されており、今後の機能拡張が待たれる • ⼊⼿⽅法 1. Aginityのホームページからダウンロード https://www.aginity.com/products/aginity-workbench/ 2. インストール 3. 必要に応じてDb2のドライバーをダウンロード https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads 4. 起動後にデータベース接続情報を登録して接続 • 特徴 − SQLの実⾏が可能(今後の機能拡張に期待) 第2章 データベース接続
  • 72. © 2020 IBM Corporation72 4. Aginity Workbench • 利⽤イメージ SQLの実⾏と結果の表⽰画⾯ SQLの補完機能あり 第2章 データベース接続
  • 74. © 2020 IBM Corporation74 ユーザーセキュリティ 第3章 セキュリティ
  • 75. © 2020 IBM Corporation75 ユーザーの役割、⽤途について • Db2 Warehouse on Cloudのユーザーは⼤きく管理者ユーザーと⼀般ユーザーに分類されます。 − 管理者ユーザー(bluadmin or 任意ユーザー) − ⼀般ユーザー(適宜作成) ※Db2 WarehouseコンテナOSのログインユーザーとDb2ユーザーは同⼀となります。 bluadmin ユーザーの位置づけ − Db2の最も強い管理者権限(DBADM)が付与されているため、バックアップ・リストア、モニタ リングなど運⽤管理操作を実施することができます − Webコンソールで管理者権限を付与されたユーザーはbluadminと同等の権限を保有します − Db2 Warehouse on Cloudサービスの起動・停⽌は、サポートチームにチケットをオープンして ⾏います 第3章 セキュリティ
  • 76. © 2020 IBM Corporation76 ユーザーの役割、⽤途について ユーザー 役割(ロール) できること 備考 DB⼀般ユー ザー DB利⽤者(User) ・DB接続 ・SQL実⾏ ・テーブル作成/権限設定 ・LOAD ・BIND ・外部ルーチン作成 ・WebコンソールからのSQL/アプリケーションのリアル タイムモニタリング ・Webコンソール/REST APIにて作成可能 ・ユーザー作成画⾯で User Privilege ”User” を指定する ・他のユーザー/スキーマのデータを参照する よう構成可能(権限付与) DB管理ユー ザー DB管理者 (Administrator) ・⼀般ユーザーで可能な全ての操作 ・DBデータアクセス ・ワークロード作成、再編成、DBバックアップ/リスト ア、モニタリングなどDB関連の運⽤管理操作 ・Webコンソール/REST APIにて作成可能 ・User Privilege ”Administrator” を指定する 新規に作成するユーザー ユーザー 役割 できること 備考 bluadmin DB管理者 ・DB接続 ・DBデータアクセス (全スキーマデータの参照・更新可) ・テーブル作成や権限設定 ・ワークロード作成、LOAD、再編成、DBバックアップ/ リストア、モニタリングなどのDb2関連の運⽤操作 ・ノードOSへ接続不可 ・以下の環境でDB管理作業を実⾏ - Webコンソール - REST APIコマンド 予め作成されている管理ユーザー 第3章 セキュリティ
  • 77. © 2020 IBM Corporation77 データベース・ユーザー・グループについて • 新規ユーザーは、下記のいずれかのグループに属する必要があります。 − グループを追加作成することはできません ※Db2 Warehouse on Cloudの制約 − Db2 Warehouse on Cloudにおける権限グループ割り当ては、ユーザー・ロールを作成して権限 を割り当て、ユーザーにユーザー・ロールをアサインすることで権限を制御します グループ 属するユーザー このグループに属するユーザー が出来ること 備考 bluadmin bluadmin Webコンソールで作成した Administratorロールの ユーザー DB管理者権限/データアクセス権限/ス キーマ作成権限/セキュリティ管理権限 を付与されたグループ “Administrator”ロールのユーザーは bluadminグループに属するため、左記 のデータベース管理操作が可能となる bluusers Webコンソールで作成した Userロールのユーザー DBの接続/権限を付与されたグループ ”User”ロールのユーザーはbluusersグ ループに属するため、左記のDB関連操 作が可能となる 第3章 セキュリティ
  • 78. © 2020 IBM Corporation78 ユーザー作成⽅法 • DBユーザーの追加作成 − Db2 Warehouse on Cloud内部ユーザーを作成すると、DBアクセスユーザーとして利⽤するこ とができます。 − ユーザー作成するだけで、DB操作コマンドの実⾏/シェルスクリプト開発・実⾏などが実施可能 な状態となます。 • DBユーザー作成⽅法 − Webコンソールからの作成 − REST API • 次ページから、Webコンソールを⽤いて、管理者権限を持たないDBアクセスユーザーを作 成する⼿順を紹介します。 第3章 セキュリティ
  • 79. © 2020 IBM Corporation79 Webコンソールからのユーザー作成⽅法(1/3) • 1. Webコンソールにログイン (ポート番号:8443 を指定) − 管理者であるbluadminでログイン − パスワードは管理者に確認 第3章 セキュリティ
  • 80. © 2020 IBM Corporation80 Webコンソールからのユーザー作成⽅法(2/2) • 2. ユーザー管理画⾯ − サイドメニュー「SETTINGS」>「Manage Users」 第3章 セキュリティ
  • 81. © 2020 IBM Corporation81 Webコンソールからのユーザー作成⽅法(3/3) • 3. ユーザー追加 − 左上の「Add」押下 − ユーザーID、⽒名、emailアドレス、 パスワードを⼊⼒ - パスワードは12⽂字以上、 アルファベット⼩⽂字、⼤⽂字、 数字、記号の全てを指定する − 「User Privilege」はデフォルト のまま変更しない - 管理者権限なしの⼀般ユーザー (User)として作成 - “Administrator”チェックを⼊れて 管理者権限を付与すると、Db2の バックアップ・リストア、再編成等 のDb2運⽤操作を実施できるように なる − 最後に右下の「Create」押下 第3章 セキュリティ
  • 82. © 2020 IBM Corporation82 REST API を使⽤したユーザー作成⽅法 • REST APIを使⽤したユーザー作成コマンドは以下の通りです。REST APIを使⽤する場合 は、最初に認証トークンを取得します。 − 構⽂ − 実⾏例 - REST APIでコマンドを実⾏するために必要な認証トークンを取得する場合の実⾏例 - 取得した認証トークンを使⽤して、ユーザー”testuser0”を作成する場合の実⾏例 curl -X POST "https://[Host Name]/dbapi/v3/users" -H "accept: application/json" -H "Content-Type: application/json" - d "{ ¥"id¥": ¥"string¥", ¥"name¥": ¥"string¥", ¥"password¥": ¥"string¥", ¥"role¥": ¥"bluuser¥", ¥"email¥": ¥"string¥", ¥"locked¥": ¥"yes¥", ¥"authentication¥": { ¥"method¥": ¥"internal¥", ¥"policy_id¥": ¥"string¥"}, ¥"metadata¥": { ¥"guid¥": ¥"string¥", ¥"url¥": ¥"string¥", ¥"created_at¥": ¥"string¥", ¥"updated_at¥": ¥"string¥"}}" curl -X POST "https://db2whoc-xxxx.xxx.xxx/dbapi/v3/users" -H "accept: application/json" -H "Content-Type: application/json" -d "{ ¥"id¥": ¥"testuser0¥", ¥"name¥": ¥"testuser0¥", ¥"password¥": ¥“passw0rd", ¥"role¥": ¥"bluuser¥", ¥"email¥": ¥"testuser0@xxxxxx.com¥"}" -H "Authorization: Bearer eyJraWQiOiJ…" {"password":"","metadata":{"updated_at":"20200227065916Z","guid":“xxxxxxxxxxxx-xxxx-xxxx-xxxx- xxxxxxxxxxxx","created_at":"20200227065916Z","url":""},"role":"bluuser","iam":false,"name":"testuser0","allClean":fal se,"ibmid":null,"id":"testuser0","locked":"no","email":"testuser0@xxxxxx.com","authentication":{"method":"internal","p olicy_id":"Default"}} curl -X POST "https://db2whoc-xxx.xxx.xxx/dbapi/v3/auth/tokens" -H "accept: application/json" -H "Content-Type: application/json" -d "{ ¥"userid¥": ¥“bluadmin¥", ¥"password¥": ¥“passw0rd¥"}" {“userid”:“bluadmin”,“token”:“eyJraWQiOiJ…"} 第3章 セキュリティ
  • 83. © 2020 IBM Corporation83 参考︓REST API の利⽤ • REST APIを使⽤すると、ユーザー作成以外にも様々な操作を実施することができます。コ マンド実⾏例は、REST APIコマンドリファレンスをご参照ください。 − IBM Db2 Warehouse on Cloud REST API − https://developer.ibm.com/static/site-id/85/api/db2whc-v3/ APIコマンドの構⽂例 利⽤可能なAPIコマンドの引数 セクションを展開 APIの種類 第3章 セキュリティ
  • 84. © 2020 IBM Corporation84 ユーザーに対するアクセス権限の付与 • データアクセス権追加 − 前⾴で作成したユーザーからは⾃スキーマのDBオブジェクト(例︓XXX.TABLE1)は参照可能 − 他スキーマの表(例︓YYY.TABLE101)は参照できない − 他スキーマの表を参照させるには、表に対するアクセス権を明⽰的に付与する − (参考) データアクセス権の付与単位 - データベースオブジェクト(表、ビューなど)への権限は、ロール/ユーザ/グループの いずれかに対して付与することができる - 付与の⽅法は、Webコンソール、もしくは、Db2コマンドのいずれかが選択できる 0 .1 1 第3章 セキュリティ
  • 85. © 2020 IBM Corporation85 ユーザーに対するアクセス権限の付与⽅法(1/4) • データアクセス権追加(オプション) − Webコンソールで「Authorizations」画⾯へアクセス - サイドメニュー「EXPLORE」>「Authorization」 - (次ページへ続く) 第3章 セキュリティ
  • 86. © 2020 IBM Corporation86 ユーザーに対するアクセス権限の付与⽅法(2/4) • データアクセス権追加(オプション) − 権限を付与したいユーザーを選択 - 「Object Privileges」を押下 - 対象オブジェクトの種類を選択して「Add Objects」を押下 - 対象スキーマ、オブジェクト名、付与する権限を選択して「OK」を押下 (次ページへつづく) 第3章 セキュリティ
  • 87. © 2020 IBM Corporation87 ユーザーに対するアクセス権限の付与⽅法(3/4) • データアクセス権追加(オプション) − ロールに権限を付与したいDBオブジェクトを選択 (全ページからのつづき) - 追加したオブジェクトを確認したら「Run」を押下 - (オプション)「Generate DDL」を押下すると、実⾏されるSQL操作を確認可 変更内容が図⽰される (なし→チェックあり) 実⾏結果「Success」 が出⼒ 第3章 セキュリティ
  • 88. © 2020 IBM Corporation88 ユーザーに対するアクセス権限の付与⽅法(4/4) • データアクセス権追加(オプション) − コマンドラインでの権限付与も可能 - ⼤量にテーブルがあるなどWebコンソールでの操作が⾼負荷となる場合に推奨 - 詳細は製品マニュアルを参照のこと - (参考) DBオブジェクトに対するアクセス権限の付与 - Knowledge Center - GRANT (table, view, or nickname privileges) statement - https://www.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r 0000966.html 第3章 セキュリティ
  • 89. © 2020 IBM Corporation89 ユーザー定義のユーザー・ロールの作成 • データアクセス権の制御 − DBオブジェクト(表、ビューなど)に対するデータアクセス権をユーザー・ロールによって制御 - 複数ユーザに対してつど権限付与を⾏うのではなく、ユーザー・ロールに対してオブジェクトへのアク セス権を付与し、そのオブジェクトへのアクセスが必要なユーザーをユーザー・ロールのメンバーとす ることで権限管理を簡易化します。 • ユーザー・ロールの作成⽅法 − Webコンソールからの作成 − REST API − 次ページから、Webコンソールを⽤いて、ユーザー・ロールを作成・付与する⼿順を紹介 - ロールを割り当てたいユーザーの数が多い場合など、コマンドラインから実施することも可能 - Knowledge Center - GRANT (role) statement - https://www.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r 0050616.html 第3章 セキュリティ
  • 90. © 2020 IBM Corporation90 ユーザー・ロールの作成⽅法 • 独⾃のユーザー・ロールを作成する − Web コンソールで新規ロールを作成 - サイドメニュー「EXPLORE」>「Authorization」 - Name︓ - ロール名を指定 - 例︓「DB2WOC1」を指定 - 「Add role」を押下 - (次ページへ続く) 第3章 セキュリティ
  • 91. © 2020 IBM Corporation91 ユーザー・ロールに対するアクセス権限の付与(1/2) • ユーザー・ロールに付与するDBオブジェクトと権限を選択 − Webコンソールで対象となるユーザー・ロールを選択 - サイドメニュー「EXPLORE」>「Authorization」 − 「Object Privileges」を押下 − 対象オブジェクトの種類を選択して「Add Objects」を押下 − 対象スキーマ、オブジェクト名、付与する権限を選択して「OK」を押下 第3章 セキュリティ
  • 92. © 2020 IBM Corporation92 ユーザー・ロールに対するアクセス権限の付与(2/2) • ユーザー・ロールへのアクセス権の付与を実⾏ − 追加されたアクセス権限を確認して「Run」を押下 − (オプション)「Generate DDL」を押下すると、実⾏されるSQL操作を確認可 変更内容が図⽰される (なし→チェックあり) 第3章 セキュリティ
  • 93. © 2020 IBM Corporation93 ユーザーに対するユーザー・ロールの付与⽅法(1/2) • ユーザーに付与するユーザー・ロールを選択する − Webコンソールで対象ユーザーを選択し、メニューから「Role」を押下 - サイドメニュー「EXPLORE」>「Authorization」 − 「Grant Role」を押下 − 付与するロールを選択して「OK」を押下 第3章 セキュリティ
  • 94. © 2020 IBM Corporation94 ユーザーに対するユーザー・ロールの付与⽅法(2/2) • 選択したユーザー・ロールを割り当てる − 選択したユーザー・ロールが⼀覧に追加されたことを確認したら「Run」を押下 − (オプション)「Generate DDL」を押下すると、実⾏されるSQL操作を確認可 第3章 セキュリティ
  • 95. © 2020 IBM Corporation95 SQLステートメントでユーザー定義のユーザー・ロール作成 • SQLステートメントでユーザー定義のユーザー・ロールを作成する⼿順を記載します。 【⼿順】 − Step1. ロールの作成 - CREATE ROLE ロール名; − Step2. ロールへのユーザー(または、ユーザーグループ)割当て - GRANT ROLE ロール名 TO USER ユーザー名; - GRANT ROLE ロール名 TO GROUP ユーザーグループ名; − Step3. ロールへの特権付与 - 特権の種類によりSQLステートメントが変わる 【参考】アクセス権限について − 認証されたユーザーがデータベース内のオブジェクトに対して何ができるかを制御する。 - Knowledge Center - 許可、特権、およびオブジェクト所有権 - https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.admin .sec.doc/doc/c0005478.html 第3章 セキュリティ
  • 96. © 2020 IBM Corporation96 よく使われる権限⼀覧 権限・特権 概要 データベース権限 データベース内の特定オブジェクトではなく、データベース全体に適⽤される権限。(データベースに対して表などのオブジェクト の追加、データロードを実⾏するなど) CONNECT︓データベースに接続 ・CREATETAB︓データベースに新規表を作成 ・BINDADD︓データベースに新規パッケージを作成 ・CREATE_NOT_FENCED︓UDF、ストアドプロシージャーの作成 ・LOAD︓表にデータをロード https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000958.html スキーマ特権 スキーマに対する特権。(オブジェクトの作成・変更・削除など) ・CREATEIN︓スキーマ内にオブジェクトを作成 ・ALTERIN︓スキーマ内のオブジェクトを変更 ・DROPIN︓スキーマ内のオブジェクトを削除 https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000964.html 表、ビュー、または ニックネーム特権 データベース内の表・ビュー・ニックネームに対する特権。 ・CONTROL︓表に対するすべての特権 ・ALTER︓列の追加、コメントの追加/変更、主キー、制約の追加/削除、表チェック制約の作成/削除 ・DELETE︓⾏の削除 ・INDEX︓索引を作成 ・INSERT︓⾏の挿⼊、IMPORTユーティリティーの実⾏ ・REFERENCES︓表を参照保全性の親として指定、外部キーの作成/削除 ・SELECT︓⾏の取り出し、表での視点の作成、EXPORTユーティリティーの実⾏ ・UPDATE︓列データを変更 https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000966.html 第3章 セキュリティ
  • 97. © 2020 IBM Corporation97 よく使われる権限 • データベース権限(抜粋) :user,group,roleに対して付与 権限 説明 データベース データベース全体に対するアクセスを制御 CONNECT データベースに接続 CREATETAB データベースに新規の表作成 BINDADD データベースに新規のパッケージ作成 EXPLAIN データにアクセスすることなくステートメントの EXPLAIN 情報の取り出しを ⾏う権限 CREATE_NOT_FENCED_TOUTINE ⾮分離ユーザー定義関数、ストアードプロシージャーの作成 IMPLICIT_SCHEMA 存在していないスキーマ名を指定してCREATE ステートメント実⾏→暗黙的な スキーマ作成 LOAD 表にデータをロード CREATE_EXTERNAL_ROUTINE アプリケーションによって、またデータベースの他のユーザーによって使⽤さ れるプロシージャーを作成 QUIESCE_CONNECT 静⽌中のデータベースにアクセス (参考)Knowledge Center - Grant(データベース権限)ステートメント︓ https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000958.html 第3章 セキュリティ
  • 98. © 2020 IBM Corporation98 よく使われる特権 • 各オブジェクトに対する特権(抜粋)その1 − スキーマ特権︓user,group,role,publicに対して付与可能 (参考)Knowledge Center - Grant(スキーマ特権)ステートメント︓ https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000964.html 特権 説明 スキーマ スキーマに対する権限 CREATEIN スキーマ内にオブジェクトを作成 ALTERIN スキーマ内にオブジェクトを変更 DROPIN スキーマ内にオブジェクトを削除 DELETEIN スキーマ内の表オブジェクトに含まれているデータを削除する権限 INSERTIN スキーマで定義される表やビューすべてに対して⾏を挿⼊したりIMPORTユーティリティーを実⾏す る権限 LOAD このスキーマでLOADを実⾏する権限 SELECTIN スキーマで定義される表やビューから選択する権限 UPDATEIN スキーマで定義される表または更新可能なビューに対してUPDATEステートメントを使⽤する権限 第3章 セキュリティ
  • 99. © 2020 IBM Corporation99 よく使われる特権 • 各オブジェクトに対する特権(抜粋)その2 − 表またはビュー特権︓user,group,role,publicに対して付与可能 (参考)Knowledge Center - Grant(表またはビュー特権)ステートメント︓ https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000966.html 特権 説明 表またはビュー 表作成者には⾃動的にCONTROL特権 CONTROL 以下のALTERからUPDATEまでのすべての特権が付与 その他に、表をDROPする権限やRUNSTATSやREORGを実⾏する権限が付与 個別に付与/取り消しが可能 ALL PRIVILEGES (ALL) 以下のALTERからUPDATEまでのすべての特権が付与 ALTER 表への列の追加、主キー、制約の追加/削除 DELETE 表またはビューから⾏を削除 INDEX 索引を作成 INSERT 表に⾏の挿⼊、IMPORTユーティリティを実⾏ REFERENCES 表を参照保全の親表として指定、外部キーの作成/削除 SELECT 表またはビューから⾏の取り出し、表からビューを作成、EXPORTユーティリティーの実⾏ UPDATE 表またはビューの列データを変更 第3章 セキュリティ
  • 100. © 2020 IBM Corporation100 よく使われる特権 • 各オブジェクトに対する特権 その3 − パッケージ特権、索引特権、表スペース特権︓user,group,role,publicに対して付与可能 (参考)Knowledge Center – Grant ステートメント︓ (パッケージ特権) https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000962.html (索引特権) https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0000961.html (表スペース特権) https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.sql.ref.doc/doc/r0003304.html 特権 説明 パッケージ パッケージの作成と操作 CONTROL パッケージの再バインド/削除/実⾏、他ユーザにこれらの特権を付与 パッケージ作成者には⾃動的に付与 BIND 既存のパッケージの再バインド EXECUTE パッケージの実⾏ 索引 索引の作成者には⾃動的にCONTROL特権が付与 索引を使うための特別な特権はない CONTROL 索引の削除、索引の作成者には⾃動的にCONTROL特権が付与 表スペース 表スペース作成者には⾃動的にUSE特権が付与 USE その表スペース内で表を作成 第3章 セキュリティ
  • 101. © 2020 IBM Corporation101 データベースオブジェクトの管理 第3章 セキュリティ
  • 102. © 2020 IBM Corporation102 スキーマについて • Db2 Warehouseにおける”スキーマ” − 実体としてDb2であるため、1DBに複数スキーマを保持できる. − スキーマは各種業務⽤途ごとにDBオブジェクト(表、ビュー、エイリアス等)をまとめる単位 − Db2 Warehouse on CloudはシングルDB、マルチスキーマによるDB管理体型 − ユーザーから、1DB内で同⼀名称のテーブルを複数操作したい要件がある場合は、スキーマを 分けることで対応することができる IIAS A TB1 TB2 B TB1 TB2 select < 1>,< 2> from A.TB1 select < 1>,< 2> from B.TB1 DB Db2 Warehouse on Cloud 第3章 セキュリティ
  • 103. © 2020 IBM Corporation103 スキーマについて • スキーマを指定する⽅法 − 以下の⽅法いずれも、スキーマAのTABLE1(A.TABLE1)へのアクセスとなる - 1. set current schemaコマンドで、以後のセッションで使⽤するスキーマを指定する - 2. スキーマ名を接続ユーザーに指定してデータベースに接続する - 3. スキーマ名.表名でアクセスする CONNECT TO BLUDB USER TESTUSR; SET CURRENT SCHEMA A; SELECT C1,C2 FROM TABLE1; CONNECT TO BLUDB USER A; SELECT C1,C2 FROM TABLE1; CONNECT TO BLUDB USER TESTUSR; SELECT C1,C2 FROM A.TABLE1; 第3章 セキュリティ
  • 104. © 2020 IBM Corporation104 DBオブジェクトについて • Db2 WarehouseのDBオブジェクト種類は以下の通りです。以下のオブジェクトがDBス キーマごとに管理されます。 • また個別のDBオブジェクト単位で権限割り当てが可能です。 主なDBオブジェクト種類 ⽤途、役割 スキーマ DBオブジェクトをグループ化する際の単位 表 データを格納するオブジェクト。各種データタイプを備えた列と⾏で構成される ・制約 表、列に対する制約オブジェクト。Not Null制約、主キー、ユニークキー、外部キー制約等が該当する ・索引 1つ以上のキーの値で論理的に順序付けられている⼀連のポインター。主に⾏表のみ利⽤可能。 外部表 DB外に保存されたファイルに対して表定義を⾏い、SQLでアクセスできるようにした表オブジェクト ビュー 実データを持たず、既存表に対して参照するために定義された仮想表 エイリアス(シノニム) DBオブジェクト別名 リモート表 異種RDBMS上の表と定義づけされた表。リモートにある別DB上にある表に対して紐づけられた仮想表 マテリアライズドキュー表 実データを持ったビュー表。定期的に実表との差分を反映させる等の処理が必要 シーケンス ⼀意の番号を⽣成するためのオブジェクト ユーザー定義タイプ ユーザーがカスタムで定義したデータ型オブジェクト ユーザー定義関数 ユーザーがカスタムで定義した関数オブジェクト ストアド・プロシージャ ⼀連のDB処理をプログラム化したパッケージDBオブジェクト 第3章 セキュリティ
  • 105. © 2020 IBM Corporation105 ⾏および列レベルのアクセス制御 第3章 セキュリティ
  • 106. © 2020 IBM Corporation106 Db2 Warehouse on Cloud のDBユーザーとセキュリティ • Db2 Warehouse on Cloudは、データベース・ユーザーが各⾃の業務に必要なデータベー ス・テーブルにのみアクセスできるようにすることができます。 • このアクセス制御は「RCAC(⾏および列のアクセス制御)」と呼ばれ、RCACはユー ザー・ロールと共に機能して⾏および列のレベルでセキュリティーを管理するのに役⽴ち ます。 USER user1 PASSWORD a@x?s ①DBユーザー認証 ②DB認可(特権・権限) ------------------ -------- ----------- ------------- --------- ----------------- ⑥DB監査 ④クライアント制限/通信暗号化 ③アクセス制御 (RCAC) ⑦暗号化 (データ暗号化・コンテナファ イル暗号化) Db2 Warehouse on Cloud BLUDB 第3章 セキュリティ
  • 107. © 2020 IBM Corporation107 ユーザー・ロールとは • ユーザー、権限や特権をグループ化したもの • ユーザー・ロールを付与できる対象 − ユーザー、グループ、ロール、Trusted Context • ユーザー・ロールで付与できる権限 − SECADM権限やインスタンスレベルの権限(SYSADMなど)以外の全ての権限 • ユーザー・ロールとグループの違い − グループはOSのシステム設定、ロールはデータベースオブジェクト − グループに対して付与された権限は、即時有効ではない - データベースへの再接続が必要 − ユーザー・ロールの付与は即時有効 - データベースへの再接続が不要 − グループに対して付与された権限は以下の操作を⾏うときDb2によりチェックされない - View、トリガー、MQT、静的SQL、SQLルーチン作成時 - グループのメンバーが変更されたことにDb2は気づくことが出来ない − ユーザー・ロールはDb2により即時・適宜チェックされる - View、トリガー、MQT、静的SQL、SQLルーチン作成時にも対応 - ただし、ユーザー・ロールがグループに対して許可されている場合は例外 第3章 セキュリティ
  • 108. © 2020 IBM Corporation108 ⾏・列レベルアクセスコントロール(RCAC) • RCAC (Row and Column Access Control) もしくは、FGAC(Fine-Grained Access Control) • 対象はテーブル (表) • あるデータベースユーザーが所属しているロール、TrustedContextにより、該当表の データ・アクセスを制限する機能 *1 • アクセス制御する単位が、⾏ and/or 列 単位 • 例えば、以下のような制約がある場合に効果的に活⽤可能 − 政府の規制により、医師は⾃分の患者のカルテを⾒ることはできても、それ以外の患者のカルテを⾒る ことはできない場合があります。(⾏レベルでのコントロール) − また、患者が同意しない限り、医療サービスの提供者は、患者の個⼈情報 (例えば、⾃宅の電話番号) に アクセスできない場合もありえます。(列レベルでのコントロール) • 基本的に全てのユーザーが制限を受ける − DB管理者でもアクセス不可能にすることが可能 以下は対象外 • ニックネーム • 作成済み⼀時表 • 宣⾔済み⼀時表 • ビュー • シノニム • 型付き表 • 別名 • カタログ表 第3章 セキュリティ
  • 109. © 2020 IBM Corporation109 ⾏・列レベルアクセスコントロール(RCAC) • RCACを利⽤するまでの流れ 1. ユーザー・ロール/Trusted Contextを作成 command: create role … 2. 表に対して⾏・列コントロールの設定を⾏う command: create permission … 3. 表に対して⾏・列コントロールの有効化 command: alter table … • デフォルトではテーブルに対しての⾏・列レベルアクセスコントロール機能はoffになって います。⼿順3を実⾏することでテーブル毎に機能の有効化を⾏います。 第3章 セキュリティ
  • 110. © 2020 IBM Corporation110 参考:3つのアクセス制御と設定例 ベースとなるロールベースのアクセス・コントロール、⾏および列のアクセス・コントロールについて説明します。 第3章 セキュリティ
  • 111. © 2020 IBM Corporation111 1. ロールベースのアクセス制御 • 基本となるユーザー単位でのアクセス制御をする場合、テーブルとユーザーの数の 増加に伴い必要となる操作や管理は⾮常に煩わしくなります。 表︓T1 表︓T4表︓T2 表︓T3 表︓T5 ✘削除○追加 $ GRANT SELECT ON TABLE T1 TO user1; $ GRANT SELECT ON T….. $ GRANT SELECT ON T….. $ GRANT SELECT ON TABLE T1 TO user40; $ REVOKE ALL ON TABLE T5 FROM userA; $ REVOKE ALL ON TABLE T5 FROM userB; $ REVOKE ALL ON TABLE T5….. 第3章 セキュリティ
  • 112. © 2020 IBM Corporation112 1. ロールベースのアクセス制御 •複数のユーザーをまとめたユーザー・ロールを作成することで、個別のユーザー ではなく、ユーザー・ロールに対してアクセス権を割り当てることが可能になりま す。 T1 T4T2 T3 T5 ✘削除○追加 $ CREATE ROLE Dept2 $ GRANT ROLE Dept2 to USER userA, USER userB, USER …. $ GRANT SELECT ON T1 TO ROLE … ロール Dept1 ロール Dept2 $ REVOKE ROLE Dept2 FROM T5 第3章 セキュリティ
  • 113. © 2020 IBM Corporation113 参考︓ユーザー・ロールによるアクセス制御の設定例(1/2) Role1(⼀般) Role2(⼀般) Role3(特権) GRANT ROLE ROLE1 TO USER Alan; GRANT ROLE ROLE2 TO USER Bob; GRANT ROLE ROLE3 TO USER Charles; 第3章 セキュリティ
  • 114. © 2020 IBM Corporation114 参考︓ユーザー・ロールによるアクセス制御の設定例(2/2) Role1 Role2 Role3 REVOKE ROLE ROLE1 FROM USER Alan; GRANT ROLE ROLE2 TO USER Bob; GRANT ROLE ROLE3 TO USER Charles; ユーザーのロール変更 GRANT ROLE ROLE2 TO USER Alan; ユーザーのプロフィール変更時には、ユーザー単位の アクセス権変更操作不要 ユーザーの所属するロールの変更を⾏うことで割り当 てたロールに設定されているアクセス権が適⽤される 変更 第3章 セキュリティ