はじめに
Oracle Autonomous Database Cloud 2021 Specialistの取得を目指して勉強したメモです。
ADB概要
ラインナップ
- Autonomous Data Warehouse(ADW)
- 分析ワークロードまたはデータレイクの一部として最適化
- Autonomous Transaction Processing(ATP)
- トランザクション処理、混合ワークロード環境に最適化
- Autonomous JSON Database(AJD)
- JSONドキュメントを使用するNoSQLデータベース
- AJDをATPにプロモートできる。ATPから派生したサービス
ADW | ATP | |
---|---|---|
用途 | 複雑な分析に最適化 | トランザクション処理に最適化 |
データフォーマット | Columnar(列) | Row(行) |
データアクセス | ストレージインデックスなどのデータサマリを使用し、必要なデータのみにアクセス | インデックスを作成し、トランザクションに必要な行またはレコードにのみアクセス |
メモリ使用 | メモリ上で結合、集約 | I/O削減のためにデータキャッシュ |
プラットフォーム | Exadata(共有/専有) | ← |
ライセンス
- OCPU(物理コア)数、ストレージ容量に対して課金
- オートスケーリングが有効の場合、1時間あたりのOCPU数の平均値で課金
- ストレージの課金は終了しないと止まらない。
- BYOL
- オンプレでOracle DB EE、マルチテナントオプションのライセンスが必要
- 16 OCPU以上の時は、RACも必要
- Always Free
- 1 OCPU/20GBストレージのADBを2つまで作れる
ADB on Shared Infrastructure
プロビジョニング
ADBをプロビジョニングしたら、バックグラウンドで作成されるもの
- 19c PDB
- Private SDN
- 暗号化したDB
- RACクラスタ
- バックアップなどの自動化プロセス
設定項目
- 「表示名」は他のADBと同じでもよいが、「データベース名」は一意である必要がある
- OCPU数、ストレージサイズを指定する。
- メモリはOCPU数によって決まる。(指定はできない)
- その他設定項目
- コンパートメント
- ワークロードタイプ(ADW/ATP/JSON/APEX)
- 共有/専有
- ADMINパスワード
- ネットワークアクセス
- ライセンスタイプ
スケーリング
- 128 OCPUまではOCIコンソールでスケールできる
- 129 OCPU以上にしたい場合は、Oracleアカウントチームに連絡して、しきい値を変更してもらう必要がある。
- ADB稼働中に手動でスケーリングできる
- OCPUとストレージは独立してスケーリングできる
- Auto Scalingを有効にすると、設定したOCPU数の3倍まで自動でスケールする
- プロビジョニング時だけでなく、プロビジョニング後にも有効にできる
- ストレージもAuto Scaleする
Clone
- クローンのタイプ
- フルクローン
- リフレッシュ可能クローン
- ReadOnly
- 7日以内にソースDBとリフレッシュ(同期)する必要がある
- 7日を過ぎてリフレッシュしない場合、スタンドアロンの読み取り専用コピーになる
- バックアップからは作成できない
- APEXのURLは機能しない
- メタデータクローン
- ソースDBのスキーマ、メタデータをコピー
- データは空
- ソースDB
- 稼働中のDBインスタンス
- バックアップ
- リフレッシュ可能クローンを除く
- 2時間以上経過したバックアップからクローンを作成できる
- 別のコンパートメントにもクローンできる
- ソースDBよりも新しいバージョンのクローンを作成できる
User management
- ADMINユーザはADBをデプロイするときに作成される
- DWROLEという開発者、DWHユーザ向けの事前定義されたデータベースロールがある
- 以下のコマンドで使える
- SQL Developer Web Consoleでも設定できる
SQL> create user <ユーザ名> identified by <パスワード>;
SQL> Grant dwrole to <ユーザ名>;
バックアップ
- 自動でバックアップされる
- 保持期間は60日
- 手動でもバックアップ可能
- オブジェクトストレージに保存される
- 手動でバックアップする場合は、事前にバケットを作成する
- バケット名はすべて小文字
- バケット名は「backup_データベース名」
- 一意のデータベース名。表示名じゃない。
- 手動でバックアップする場合は、事前にバケットを作成する
Autonomous Data Guard
- Autonomuous Data Guardはプライマリーデータベースを監視している
- 何らかの理由でプライマリーデータベースが停止した場合、スタンバイインスタンスが自動でプライマリになる
- 新しいウォレットのダウンロードやURLの変更はない
- 手動での切り替えも可能
- フェイルオーバーしたあと、新しいスタンバイインスタンスがプロビジョニングされる
- 自動フェイルオーバーはデータロストがない場合にできる。
- データロストがある場合は、手動でフェイルオーバーしないといけない。
- 自動フェイルオーバー
- RTO:2分
- RPO:0分
- 手動フェイルオーバー
- RTO:2分
- RPO:5分
- プライマリとスタンバイが同一リージョン内(の別AD/別FD)にあるローカル・スタンバイと別リージョンにあるリージョン間スタンバイ
- リージョン間スタンバイの場合、以下の制約がある
- 自動フェイルオーバーができない
- スタンバイを読み取り専用で利用できない
- リモートリージョンからのウォレットのダウンロードが必要
- Autonomous Data Guardを無効にすると、スタンバイデータベースは終了(Terminated)する
ADB on Dedicated Infrastructure
Workflow
Fleet Administrator
- Exadataのプロビジョニング
- サイズ、AD、リージョンを指定
- クラスタをプロビジョニング
- クラスタ名、CPU数、ソフトウェアライセンス、VCN、ライセンスモデル
- コンテナ・データベースをプロビジョニング
- DB名、コア数、バージョン、DataGuard、バックアップ
Develper, DBA
- コンテナデータベースにデータベースをプロビジョニング
- Data Pump、GGでADBへの移行が可能
課金
- プロビジョニングしたExadataのサイズ(CPU数)に基づく
- BYOL可能
- 最小48時間のExadataサブスクライブが必要
サポートするExadata
- X7/X8/X8M
- それぞれフルラック、ハーフラック、クォータラック可能
- 最大12VMクラスタを作成できる
- High Availability SLAを満たす場合は、最大100DBにすることを推奨
- Extreme Availabilityの場合は、最大25DB
Getting Start
- サービスリミットの制限引き上げ申請
- Fleet、DBAユーザロールの作成
- ネットワーク、VMクラスタ、コンテナデータベースのプロビジョニング
- データベースの作成、エンドユーザへのアクセス権設定
DedicatedとSharedの比較
Dedicated | Shared | |
---|---|---|
Autonomous Resources |
Autonomous DB Autonomous CDB Autonomous VM Cluster Autonomous Exadata Infrastructure |
Autonomous DB |
Private Single Tenant | Yes | No |
ADの選択 | Yes | No |
開発、テスト、本番のライフサイクル分離 | Yes | No |
メンテナンススケジュールの管理 | Yes | No |
更新、パッチ適用のスキップ | Yes | No |
専用インフラでのバックアップ保持 | Yes | No |
Customer‐Managed TDE Key | OCI Vault Oracle Key Vault |
No |
Data Guard Replication Mode |
Sync(max availability) Async(Max performance) |
Async |
Data Guard Active Standby |
Yes | No |
SQL Create/Drop Tablespace | Yes | No |
Java in Database | Yes | No |
プロビジョニング
- 専用のExadataのプロビジョニング(Network含む)
- OCIのコンソールから「Autonomous Exadata Infrastructureの作成」をクリック
- AD、Exadataのシェイプ、VCN、サブネット、ライセンスタイプなどを設定
- VCNのセキュリティリストは、Exadata用サブネット、アプリケーション用サブネット2つを設定する
- アプリケーション用サブネットにはIGWへのルートテーブルを設定する(オプション)
- OCIのコンソールから「Autonomous Exadata Infrastructureの作成」をクリック
- コンテナデータベースのプロビジョニング
- OCIのコンソールから「Autonomous Container Databaseの作成」をクリック
- Exadata、Data Guardなどを設定
- OCIのコンソールから「Autonomous Container Databaseの作成」をクリック
- ADBのプロビジョニング
- OCIのコンソールから「Autonomous Databaseの作成をクリック」
- DB名、ワークロードタイプ、専用インフラなどを設定
- OCIのコンソールから「Autonomous Databaseの作成をクリック」
Monitoring
Tools
- OEM
- Performance Hub
- OCI Console
Patch
- 四半期ごとにパッチ適用ウィンドウを指定できる
- FW/OS/Storage/Network/Hypervisor/Clusterware/Database
- 変更もダイナミックに可能
- 四半期ごとに更新がコンソールに表示され、通知される
- 更新のスキップが可能
暗号化
- TDE:Transparent Data Encryption によってテーブル、テーブルスペースを暗号化している。
- 暗号化されたデータは、権限のあるユーザまたはアプリケーションがアクセスすると自動的に複合化される。
- Oracle Key VaultでTDEウォレットを集中管理できる
- Master Encryption Keyを外部のHSMデバイスに保存できる
- 顧客はキー生成とローテーションをコントロールできる
Managing and Monitoring
Metrics
OCIコンソールで確認できる。
-
Storage
- すべての表領域の割り当て済み領域の合計
-
CPU
- すべてのコンシューマーグループの値を集計
- データベースで使用可能なCPU数(OCPU数の2倍)に対してレポートする
-
Session
- データベース内のセッション数
-
Execute Count(実行数)
- SQLを実行したユーザーコース数および再帰コール数
-
Running Statement(実行中のステートメント)
- すべてのコンシューマーグループで実行したSQLの数
-
Queued Statement(キュー済みのステートメント)
- すべてのコンシューマーグループのキュー済みのSQLの数
-
Alarmのベストプラクティス
- 各メトリックに対して一つのアラームを設定する
- 適切なインターバルを設定する
- 調査中のアラームを抑制する
サービスコンソール
OCIコンソールの追加情報を確認できる
- コンシューマーグループごとのCPU使用率、実行中、キュー済みのステートメント
- 実行したSQLが時系列で表示
- 実行中のSQLをキャンセルすることも可能
- レポートのダウンロード
ACL(Access Control List)
- デフォルト無効
- 任意のIPアドレスからアクセス
- ACLを設定したら、設定したアドレスからのみアクセスできる
- ACLに登録されていないとSQL Developer Webなどのツール類もアクセスできなくなる
- プロビジョニング時に設定、またはプロビジョニング後に追加、変更できる
- IPアドレス
- CIDRブロック
- VCN を設定できる。複数設定可能
- DBのリストアでは、既存のACLはOverwriteされない
Private Endpoint
- ADBをパブリックにルーティングできない場合に使用する
- VCNのプライベートエンドポイントを指定する
- プライベートサブネットのプライベートIPを持つ
- 新規プロビジョニング、クローニングするときに指定可能
- VCNを事前に作成する必要がある。
- デフォルトDHCPオプションを持つプライベートサブネット
- 1つ以上のNetwork Security Group
- 1522ポートのイングレスTCPを開ける
- 5つまで設定可能
- Always Freeでは利用できない
Auto Indexing
- 手動でIndexを作成するには、データモデル、アプリケーション、データの配布方法などの高度な知識が必要
- 改善には手間がかかるので、不要なIndexがパフォーマンスに影響を与える。
- Auto Indexing機能により、データベースがアプリケーションワークロードを監視し、Indexを自動で作成、管理する
- 一定の間隔で実行する自動タスクとして実装される
- 機械学習アルゴリズムを使用
- 自動的にチューニングされる
- 自動Index作成プロセス
- Capture 取得
- SQL文と実行時間、プラン、バインド値、実行統計などを定期的にリポジトリに取得
- Identify 識別
- 候補となるIndexを識別する
- Verify
- 候補となるIndexを実際に使用するかどうかをオプティマイザに確認する
- 使用しない場合は、オプティマイザによって自動的に削除される
- 使用された場合、Indexの作成が完了し、パフォーマンスが改善されたことが確認される
- 候補となるIndexを実際に使用するかどうかをオプティマイザに確認する
- Decide
- パフォーマンスが向上すると、Indexが表示可能としてマークされる
- パフォーマンスが悪い場合は、Indexが削除される
- 古い実行計画がリストアされる
- Monitor
- Indexの使用状況を継続的に監視する
- 長時間使用されていないIndexは削除される
- Indexの使用状況を継続的に監視する
- Capture 取得
- Auto Indexingはデフォルトで無効
- DBMS自動Indexの構成プロシージャを使用して、有効化できる
SQL> EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','IMPLEMENT');
- 無効化、Indexの保存期間の設定も可能
- デフォルトの保存期間は373日
- スキーマー単位でも有効/無効を指定可能
- データベース全体で有効になっている場合は、すべてのスキーマーで有効
- DBMS自動Indexの構成プロシージャを使用して、有効化できる
Data Safe
- Oracle Data SafeはOCI上のDBサービスの統合コントロールセンター
- ダッシュボード
- すべてのDBサービスのセキュリティの管理、評価
- ADB以外でも使える。オンプレも
- データマスキングツール
- レポート
- ユーザ評価、ユーザアクティビティ
- 基本無料
- ターゲット(DB?)あたり、毎月100万ドルの監査ベクターを超えた場合に課金される。
- 1万件あたり0.08ドル
- ターゲット(DB?)あたり、毎月100万ドルの監査ベクターを超えた場合に課金される。
- 有効化方法
- デフォルト無効
- OCIコンソールから「データ・セーフ」を有効化する
- ADBのコンソールからデータ・セーフに登録する
Patch / Upgrade (Shared)
- ADBプロビジョニング/クローニング時に「Regular」「Early」の2つからパッチレベルを選択する
- パッチレベルの変更はできない
- Earlyを選択すると、定期的なスケジュール済パッチの1週間前にパッチが適用される
- インスタンスごとに次回のメンテナンススケジュールがコンソールに表示される
- スケジュールの変更はできない
- メンテナンスウィンドウは通常2時間以内
- パッチ適用時もDBは利用可能
Connecting to ADB
-
ADBのデータやネットワーク通信はデフォルトで暗号化される
- 無効化はできない
-
デフォルトでは、ADBがすべてのマスターキーを作成、管理する
- ADBがデプロイされているExadata上のセキュアなキーストアに格納される
- 必要に応じて、客がキーを作成、管理することもできる
-
ADBに接続するには、Wallet Credential Fileをダウンロードする必要がある
- コンソールからダウンロード
- API Callでもダウンロードできる
-
事前定義済データベースサービス名
- tpurgent
- ATP専用
- Time-criticalトランザクション処理のための最も優先度の高いアプリケーション接続サービス
- 手動による並列処理をサポート
- tp
- ATP専用
- トランザクション処理用の一般的なアプリケーション接続サービス
- 並列処理はできない
- high
- レポート、バッチ操作用
- すべての操作は並列実行され、キューイングされる
- medium
- レポート、バッチ操作用
- 並列実行され、キューイングされる
- 4パラまで
- low
- レポート、バッチ処理用
- 並列処理できない
- tpurgent
-
証明書のzipファイル内にあるtnsnames.oraファイルには上記5つのデータベースサービス名が含まれている
-
ADB Sharedの場合、インスタンスウォレットとリージョナルウォレットがある
- インスタンスウォレット
- 一つのADBの証明書とKeyが含まれる
- リージョナルウォレット
- 指定したリージョン内のすべてのADBの証明書とKeyが含まれる
- DBAのみが使用する
- インスタンスウォレット
-
ADB Dedicatedの場合、リージョナルウォレットはない。インスタンスウォレットのみ
SQL Developerからの接続
- Connection
- admin user/passwordを入力
- Connection Type:「Cloud Wallet」を選択
- ダウンロードしたWalletファイルを指定
- Serviceに使用できるサービス名が表示されるので、選択する
SQL Developer Webへの接続
- OCIコンソール → ツール → データベース・アクション
- admin user/passwordでログイン
- SQLを選択
- 新しいユーザにアクセス権を付与するには、
ords_admin.enable_schema
パッケージを実行し、接続先URLのアクセス権をユーザに割り当てる。
ApplicationとのConnectivity
- ツール、言語
- SQL*Net
- JDBC/ODBC
- Python
- Node.js など
- クライアントはCredential Walletが必要
- Listener Port:1522
- 経路
- Public Internet
- Private Endpoint
- FastConnect with Pbulic peering
- Oracle Call Interface
Oracle Call Interface / JDBC / ODBC
- Oracle Net ServiccesがZipファイルのままだと読み取れないので、解凍する必要がある
- sqlnet.oraファイルのWALLET_LOCATION変数に場所を指定する
- TNS_ADMIN変数にWalletファイルの場所を指定する
- Oracle Client 11.2.0.4以降が必要
.NETアプリケーション
-
Visual Studioを使用している場合
- ODTファイルとマネージドODP.NETファイルをダウンロード、インストールする
-
NuGetを使用している場合
- NuGet Package Managerを使用して、マネージドODTファイルとODT.NETファイルをダウンロード、インストールする
-
アンマネージODP.NETまたはOracle Universal InstallerバージョンのOracle Data Access Components(ODAC)を使用している場合
- ODTファイルの代わりにODACファイルをダウンロードする
-
ファイルがインストールされたら、sqlnet.oraファイルのWALLET_LOCATION変数に場所を指定する
-
TLS 1.2をEnableにする
Proxy経由の接続が必要な場合
- tnsnames.oraにhttps_proxyとhttps_proxy_portを追加する必要がある
- JDBC Thin Client 18.1以降が必要
AD(MS Active Directory)連携
- ADがDBユーザの認証認可データを保持する
- パスワード、Kerberos、PKI認証をサポートする
- ADのユーザ/グループは排他的ユーザとしてスキーマーにマッピングすることが可能。
- 共有スキーマーにマッピングすることも可能
- ADのアカウントポリシーで一元管理可能
Autonomous Data Guard
- RAC, Active DataGuard, Transparent Application Continuityが含まれている
- SLA:99.995%
通知
- スケジューリングされたADBのシャットダウンを通知するには、DBMS_SNMPパッケージを使ってNotification Alertを設定する
ADB Tools
ADBには、Webベースの開発ツールが用意されており、別途購入するものはない。
Database Action
- SQL Developer、データモデラー、RestAPI、JSONドキュメントなどのツールがある
- SQL Developer
- SQL、PL/SQL文を入力、実行し、データベースオブジェクトを作成できる
- テーブル作成、データ挿入、トリガー作成、ファイルへの保存
- ハイライト表示、エラー検出
- SQL、PL/SQL文を入力、実行し、データベースオブジェクトを作成できる
- データモデラー
- データベースオブジェクトのリレーショナルダイアグラムを作成
- スキーマからのダイアグラム作成、データディクショナリ情報の取得、DDL文の生成
- データベースオブジェクトのリレーショナルダイアグラムを作成
- REST API
- 公開鍵のフィンガープリント、テナンシーOCID、ユーザOCIDが必要
- JSON
- JSONドキュメント・データベースの管理
- チャート
- データベースのデータをビジュアル化
- APEX
- データポンプ
- データロード
- ロカールファイルまたはリモートデータベースからデータのロードやアクセスを行う
- カタログ
- データ依存および変更の影響を理解する
- データインサイト
- データ内の異常や外れ値、非表示のパターンを検出
- ビジネスモデル
- パフォーマンスおよび分析のビジネスモデルを作成
- データベースユーザー
- ユーザの作成、権限、パラメータの編集
- RESTの有効化
- パフォーマンスハブ
- 統合パフォーマンスデータを表示
- SQL Developer
APEX(Oracle Application Express)
- スケーラブルでセキュアなエンタープライズアプリケーションを開発できるローコード開発プラットフォーム
- 利用するユーザ数に制限はない
Oracle Machine Learning
Auto ML
- 自動モデルチューニングによる自動アルゴリズム
- データサイエンティストの生産性を向上させながら、コンピューティング時間を削減する。また、専門家以外でも機械学習を活用できるようにする
- 3つの主要な関数で構成されている
- Auto Algorithm Selection
- 最も高品質なモデルを実現できるアルゴリズムを識別
- Auto Feature Selection
- モデルに付加価値を与えない機能を排除することで、データのノイズを除去する
- モデルの精度向上、モデルの構築やスコアリングの高速化
- Auto Model Tuning
- アルゴリズムのハイパーパラメータ(アルゴリズムの動作を決定するパラメータ)を調整する。
- Auto Algorithm Selection
OML4Py
- 機械学習アルゴリズムにネイティブSQLでアクセスするほかに、PythonやRでもアクセスできるようにする
Data Insights
- 隠れたパターン、異常値、外れ値を自動的に発見する
- ダッシュボードに表示され、ドリルダウンすると、期待値と異なる値がハイライトされる
Developing on ADB
AJD
- AJDはATPだが、JSONドキュメントを使用するNoSQLアプリケーションを開発するために設計されている。
- AJDをATPに昇格させることが可能
- SODA APIを使用してJSONドキュメントを保存、取得するアプリケーションやSQLを使用してJSON形式で保存されたデータを取得するアプリケーションをサポート
- Simple Oracle Document Access (SODA)はNoSQL形式のAPIセットであり、これを使用すると、Oracle Databaseのドキュメント(特にJSON)のコレクションを作成および格納でき、Structured Query Language (SQL)や、ドキュメントがどのようにデータベースに格納されているかを理解していなくても、そのコレクションの取得や問合せを行うことができます。
- データをリレーショナルテーブルに正規化する必要はない。
- SQLの知識がなくてもドキュメントAPIを使用してアプリケーション開発が可能
- ADBなので、データベースを管理するDBAは不要
- スキーマレス
- Oracle DB 12c以降、JSONドキュメントをサポート
- JSONをRDBのように操作できる
- JSONの保存単位は「Document」
- Documentにはキーが関連付けられていて、このキーを使って作成、読み取り、更新、削除などの操作を行う
- Documentの集まりが「Collection」
- Collectionは「Name」で識別する
- Collectionの集まりが「Database」
- ドキュメントアプリケーションは、データベースに接続し、そのDB内の任意のコレクションにアクセス可能
- ストレージの制限はない。
- Documentはテーブルの「Raw」で表される。Collectionは「Table」に格納されている。Databaseは「Schema」
Oracle Text
- Oracle Textは標準的なSQLを使用して、Oracle DBに格納されたテキストやドキュメントをインデックス、検索、分析する。
- SQLインターフェイスを持つすべてのプログラミング言語で使用可能
- Oracle TextはADBで自動的に有効になる。
- テキスト、XML、HTML、JSONに対するフルテキスト検索機能が提供される
- データベース外のデータも扱うことができる
- ファイルシステム上、Web上のデータ
- Word、PDFなど150種類以上扱える
- ADBがフォーマットインデックスとして処理する
- ファイルシステム上、Web上のデータ
- Indexing Pipeline
- Data Store
- Filter
- バイナリ文章をインデックス可能なテキストに変換する
- Sectioner
- 段落や文章などを識別する
- Lexer
- テキストをインデックス可能な単語に分割する
- Index Engine
Spatial Data on ADB
Spatial Data(空間データ)とは
サポートされているジオメトリックデータタイプの保存、構文、セマンティクスを規定するスキーマ(MDSYS)で構成されている。
-
場所を表すあらゆるビジネスデータ
- GPS、住所、郵便番号など
-
Raster Data
- 衛星画像、LiDARデータ、DARデータなど
-
ネットワークデータ、ネットワーク空間データ
- 公共施設や交通機関など
-
Spatial Dataはユニバーサルキーとして機能する。
- 同じ場所で起こったことを除いて、他には何の共通点がないデータセット間の関係を作り出すことができる。
ADBによるデータマネージメント
- ADBはPoint、Line、Polygon、ImageryなどのSpatial Dataをネイティブタイプで保存できる
- Spatial Dataへのアクセス
- APIやライブラリを使用
- SQL、PL/SQL、JavaScript、Node.js、Python、REST
- APIやライブラリを使用
Loading Spatial Data
- Data Pump、GoldenGateはSpatial Dataをサポートしている
- ETLツールとして、FME、GDAL/OGRを使用できる
Spatial Studio
- ノーコード型セルフサービスアプリケーション
- ADBに付属しており、追加コスト不要
- 稼働するためのコンピュートインスタンスは必要。これのコストは必要
- テスト目的だったらPCで実行できるQuickstartバージョンがある
- OCI Marketplaceにある
- ADBだけでなく、Oracle DBにもアクセスできる
- データのアップロードも可能
- マップなどのGUIでデータを可視化
- SQLを生成することもできる
- GeoJSONエンドポイントにアプリケーションからアクセスすると、JSONで結果を取得できる
Graph
- Use Case
- Financial
- グラフ化することで、異常なパターンを検出して、不正行為を検知する
- Retail
- ターゲットマーケティング
- Law Enforcement
- データの隠れた関連性の見つけ出す
- Manufacturing
- 部品表をモデル化し、依存関係の分析
- Pattern Matching
- Clustering
- Financial
Create Graph
- ADBの自動モデリング機能は、グラフに含めたいテーブルを選択するだけで、モデラーがグラフを作成してくれる。
- property graph query language (PGQL)
- SQLに似た言語でselect文とfrom文を持つ
Graph Studio
- ADBコンソールの「ツール」配下にある
- 機械学習アルゴリズム、Python API、Java APIを追加予定
- オンプレのOracle DBでも利用可能
- 12.2以降
- グラフサーバ/クライアントパッケージはMarketplace、Software Edeliveryからダウンロードできる
- グラフを作成する場合、「ADBインスタンスのテーブル」オプションを使用する
Object Storage
- ADBは様々なデータにアクセスするためのセルフサービスツールを提供している
- ドラックアンドドロップでオブジェクトストレージからDBにデータをロードできる
- 対応しているファイル形式
- AVRO
- JSON
- CSV
- Parquet
- 対応しているファイル形式
- 外部テーブルを作成して、オブジェクトストレージのデータに動的にアクセスできる
- 外部テーブルはユーザーからは他のテーブルと同じように見える
- SQLでクエリ可能
- DB全体で単一のセキュリティポリシー
- Partitioningで1つのテーブルをより小さなコンポーネントに分割可能
- ハイブリッドパーティションテーブルはデータをどこに保存するかをパーティションレベルで指定可能
- 最新データはADBに保存し、過去データはオブジェクトストレージに保存とか
- オブジェクトストレージにCSVなどのオープンフォーマットで保存すると、データレイクで分析しているSPARKなどの他のプロセスとデータを共用できる。
- ドラックアンドドロップでオブジェクトストレージからDBにデータをロードできる
- ADBからObject Storageへの認証で使用できるもの
- API Singning Key(API署名キー)
- PEMフォーマットのRSAキーペア
- OCI APIとSDK/CLIを併用する際に必要
- リソース・プリンシパル
- ユーザ名/パスワード
- API Singning Key(API署名キー)
Migration
-
SQL DeveloperはデータをADBに直接ロードできる。
- テキストやXLSなど
-
Object Storageを介してデータをロードする方が効率的。S3 Azure Blobストレージでもよい。
- Object StorageにあるデータならADBは直接アクセスできる
- 任意のデータ形式を扱える
-
オンプレDBをADBに移行する場合、以下が必要。
- PDBへの変換
- 19cへのアップグレード
- 暗号化
- 出荷時のStored procedureやviewを変更していたら、元に戻す
- CDB Admin権限の削除
- レガシーLOBなどのサポートされていない機能の削除
-
DBMS_CLOUD
- ADBに組み込まれている機能
- オブジェクトストレージからのデータ移行が可能
- S3、Blob Storageも利用可能
- ソースからのデータはCSVまたはJSONでエクスポートされる
- REST API対応
-
SQL*Loader
- クライアントのローカルファイルシステムにあるデータをADBに読み込むために使用できる
-
Data Pump
- DBの全部または一部をADBに移行するのに最適
- Export/Importプロセスの一部でアップグレードする
- ソースDBが10g以降
- クロスエンディアン
- 指定したViewをテーブルとしてエクスポートできる
- 既存ダンプファイルの上書きが可能
- スキーマやデータファイルの再マッピングができる
結果
スコア83%で合格できました。