【要約】Autonomous AI Database:PL/SQLでDelta Sharing Protocolを用いたデータ共有を設定する(データ受信編) [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
データエンジニアは、異なるデータプラットフォーム間でデータを共有する際、物理的なデータ移動に伴うコストや遅延という課題に直面する。従来のETLプロセスでは、以下の問題が発生する。
- ・データの物理コピーによるストレージコストの増大。
- ・ETLパイプラインの構築・維持に伴う運用負荷の増加。
- ・データ同期の遅延による、分析データの鮮度低下。
// Approach
開発者は、物理的なデータ移動を回避するため、Delta Sharingプロトコルを利用して、ADB上で外部データを仮想的に参照する手法を採用する。具体的な設定ステップは以下の通りである。
1.ユーザー作成と権限付与:
ORDS_ADMIN.ENABLE_SCHEMA および DBMS_SHARE.ENABLE_SCHEMA を使用して、受信用ユーザーのRESTと共有機能を有効化する。2.ネットワーク制御:
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE を用い、プロバイダのエンドポイントへの通信を許可する。3.認証情報の管理:
DBMS_SHARE.CREATE_CREDENTIALS でプロファイルに基づいたクレデンシャルを作成する。4.プロバイダとリンクの登録:
DBMS_SHARE.CREATE_SHARE_PROVIDER でプロバイダを登録し、DBMS_SHARE.CREATE_OR_REPLACE_SHARE_LINK で共有データへのリンクを作成する。5.仮想ビューの構築:
DBMS_SHARE.CREATE_SHARE_LINK_VIEW を実行し、共有テーブルをローカルのビューとして定義する。// Result
データ受信側の設定により、開発者は外部プロバイダが提供するデータを、あたかもローカルのテーブルであるかのように操作可能となった。検証では以下の成果が得られている。
- ・約250万件のレコードを持つ
CUSTSALES表に対し、作成したCUSTSALES_SHARE_Vビューを通じて直接クエリを実行できた。 - ・PL/SQLのみを用いることで、外部データの参照環境をDB内で完結して構築できた。
Senior Engineer Insight
> Delta Sharingの採用は、データサイロ化を防ぐ極めて合理的な選択だ。特に、すべてをPL/SQLで制御できる点は、DBAの運用フローに適合しやすく、開発体験(DX)を向上させる。ただし、ACL設定やOAuthトークンの管理といった、ネットワーク・セキュリティ層の正確な構成が、システム全体の可用性を左右する。大規模トラフィック環境では、この「仮想的な参照」がクエリパフォーマンスに与える影響を、事前に検証しておくべきだ。