大塚紳一郎, 2020年5月
2003年、株式会社野村総合研究所に新卒で入社。ミッションクリティカルシステムにおけるOracle Databaseの構築、運用、コンサルティングに関して15年以上の経験を持つ。毎年サンフランシスコで開催される世界最大のテクノロジーイベント「Oracle OpenWorld」を含む各種イベントでの講演多数。Autonomous DatabaseがGAされた年にOracle ACE Associateになれたことに運命を感じており、Oracleデータベース管理者の今後のロールモデルの構築に携わりたいと考え日々活動中。最新の登壇タイトルは「Boosting your career through Oracle Cloud Infrastructure 2018 Certified Architect Associate.」
こんにちは、NRIの大塚です。今回からBIG DATA領域になります(連載1回目)
Oracle GoldenGate (Microservices Architecture) on OCI Marketplaceに取り組んでいきたいと思います。
近年の大きなトレンドであるBIG DATA解析とAI/機械学習。その根幹を支えていくためのOracle Cloud InfrastructureにおけるData PlatformのVisionがOracle OpenWorld2019で示されました。
このセッションで語られたOracle Modern Data Platformの実際のスライドを掲載します。
データを活用する「Analyze」とデータを「Manage」する層の間のOCI Data Catalogにて「Govern」。つまりガバナンスを行うことがポイントであり、統制されたデータを適切に活用していくべきであるとの解説がありました。これはとても美しいプラットフォームであると感じ、心が動きました。
そしてこのクラウドを舞台にした今後のデータ活用を推進する組織とメンバのロールおよびケイパビリティが解説されました。
本稿をお読みになられているOracleデータベース管理者である皆さまや私は、オンプレや他クラウドに点在するデータを効率的にクラウド環境へマイグレーション、つまり「集約」し、マネージしていくことが求められます。
そこで今回の連載のテーマは私達に求められ、かつOracle Modern Data Platformのコア(下図赤枠)を実装・体験することを目的としたいと思います。
「OCI Database Migration」→「Autonomous Database」→「OCI Data Catalog」を体験していくのですが、 「OCI Database Migration」については、Oracle GoldenGate (Microservices Architecture) on OCI Marketplaceで実装したいと思います(OOW2019でプレビューされたOracle Database Migration Serivceは本寄稿時点ではGA前であることと、本連載ではMarketplaceの活用の仕方をまだご紹介できていませんでしたので、Oracle GoldenGateを題材に、今回ご紹介したいと思います)
余談となりますが、本連載ではデータを中心に3つの領域に分けてお話しを進めています(MICRO DATA編、CURRENT DATA編、BIG DATA編)。MICRO DATA編から連載をはじめ、BIG DATA編を最後にした理由は、大好きなOracle GoldenGateのご紹介をまとめとして、最後にお伝えしたかったからです。Oracle GoldenGateは私のエンジニア人生のターニングポイントなのです。そのOracle GoldenGateがクラウド時代においても重要なKeyとなっていることを、とても嬉しく思います。
日本オラクルでGoldenGateやData Platform に関する事業開発を担当されている谷川様は、セッションでいつも以下のことについて語られています。
これはOracleデータベース管理者である皆さまや私が進んでいくべき方向性であると思います。
それを具現化するOracle Modern Data Platform。そのコアに触れていきましょう。
「With Cloud Data Gravity is shifting」。私達の実装の舞台は今、クラウドなのです。
それでは、長かった連載の最終章をはじめていきたいと思います。
説明に際しては、いきなり実装から入るのではなく、MICRO DATA編集、CURRENT DATA編の時と同様にシステムデザインからご紹介したいと思います。そして次回から数回に分けて、そのシステムデザインを実装していきます。
従来のシステムがオンプレミスと呼ばれ、クラウド時代という名詞の違和感が無くなった今、オンプレミスで稼動中のエンタープライズシステムの要件がスポイルされたかのような錯覚がありますが、それは違います。むしろ、よりシビアに環境を選ぶ方向に進んでいると思っています。
高い可用性と、パフォーマンスが求められるエンタープライズ領域の中心はクラウド時代においてもOracle Databaseであり、Engineered Systemsです。Oracle Cloudはそれに最適化されたクラウドというだけでなく、高いアジリティ、拡張性、セキュリティそして、デザインした通りの実装を実現できる機能性を兼ね備えています。これらの点に関して、デザインの説明や実装を通じてお伝えしていきたいと考えています。
今回はOracle GoldenGate (Microservices Architecture) on OCI Marketplaceを中心に配置し、下図のようにデザインしました。
この内容であれば、Oracleデータベース管理者である皆さま各自がご所属の企業から、同様の検証を検討していただけるのではないかと思っております。しかも、良好な検証結果を得られたあとは、商用システムとしての基礎となれるようなグランドデザインにしたいと考え、作成いたしました。
それでは図中①~⑧のそれぞれに関して説明をしていきたいと思います。
① VCN-PROXY
VCNはVirtual Cloud Network(仮想クラウド・ネットワーク)の略です。
つまり、Oracleデータセンタ―内で設定したプライベートネットワークを指します。VCNへはファイヤ・ウォール ルールを適用することが出来ます。また、各種ゲートウェイ・サービスに接続することが出来ます(図中ではインターネット・ゲートウェイが登場していることが確認できると思います)
この作業用の経路構築はMICRO DATA(Blockchain)の章で作成したものを再利用したいと思います。
構築に関する詳細はMICRO DATA(Blockchain)の章をご参照ください。
VCN-PROXYは特定企業からの通信のみ許可し、また、他のVCNへのアクセスへの基点に位置付けました。他のVCNは、VCN-PROXY経由のみの経路だけが作業用の通信として許可されます。
そのような役割を持つネットワーク区画をプロキシエリア(もしくはBastion)と呼ぶことがありますので、「VCN-PROXY」と名付けました。
※VCNに関するマニュアル:
https://docs.oracle.com/cd/E97706_01/Content/Network/Concepts/overview.htm
② インターネット・ゲートウェイおよびセキュリティ・リスト
インターネット・ゲートウェイは、VCNに追加するとインターネットに直接接続できる仮想ルーターです。
Oracleデータベース管理者である皆さま各自がご所属の企業からインターネット経由で検証作業用の通信を接続するデザインとしました。検証のために専用線や、Internet VPN環境を構築するのは大変だと考え、このようにしています。そのかわりに、しっかりとファイヤ・ウォール ルールを設定し、接続元の制限を実装します。
それを実現するのがセキュリティ・リストです。セキュリティ・リストは仮想ファイヤ・ウォールを提供します。
おそらく皆さま各自がご所属の企業は、インターネットに直接通信する際には社内プロキシサーバ経由であることが想定されます。その社内プロキシサーバが外部に公開するIPアドレスが送信元であること。かつ、通信プロトコルがSSH(鍵ファイルを用いる)であることを条件としたファイヤ・ウォール ルールを設定することでセキュリティと、俊敏な検証環境の立ち上げを両立したデザインとしたいと思います。
こちらもMICRO DATA(Blockchain)の章で作成したものを再利用したいと思います。
構築に関する詳細はMICRO DATA(Blockchain)の章をご参照ください。
※インターネット・ゲートウェイに関するマニュアル:
③ VCN- Oracle GoldenGate Microservices Edition for Oracle 19.1.0.0.4 VCN
構成図において、VCN- Oracle GoldenGate Microservices Edition for Oracle 19.1.0.0.4 VCNを囲むCOMPARTMENT OGGの存在にお気づきの方も多いと思います。
コンパートメントは、クラウド・リソースを整理して、隔離するための概念(機能)です。
他テナントからアクセスされることなく、また、同一テナント内においては、ユーザー毎の統制を行うことができます。
いままでお話ししてきたクラウド・リソースは、必ずどこかのコンパートメントに所属することになります。
コンパートメント化する単位はプロジェクト単位であったり、リソース種別単位であったり、組織単位であったりと様々なユースケースが考えられます。今回はOracle GoldenGate Microservices Edition for Oracle 19.1.0.0.4サーバおよび、Autonomous Data Warehouseを収容するコンパートメントを実装します。それが「COMPARTMENT OGG」です。
次に「VCN- Oracle GoldenGate Microservices Edition for Oracle 19.1.0.0.4 VCN」です。
これはOracle GoldenGate Microservices Edition for Oracle 19.1.0.0.4サーバを内包する仮想クラウド・ネットワークです。このVCNはネットワーキングのHUBとなり、ソースDBからターゲットDBへのデータ・マイグレーションを中継します。また、このVCNはOracle GoldenGate (Microservices Architecture) on OCI Marketplaceのデプロイ時に自動作成を行うことができます。今回は自動構築を活用して実装したいと思います。
また、構成図に記載されている可用性ドメイン(Availability Domain1,2,3)は、いわゆる近距離間で建設されたデータセンタそのもの。と、ご理解頂いて差し支えないかと思います。可用性ドメインに関する紹介のURLを掲載しておきますので、そちらの図をご参照頂くと非常に分かりやすいかと思います。
Oracle Cloudが、いかにミッションクリティカルを考え抜いて作りこまれているか、とても良く伝わってきます。
※コンパートメントに関するマニュアル:
https://docs.oracle.com/cd/E97706_01/Content/Identity/Tasks/managingcompartments.htm
※可用性ドメインに関する紹介:
https://www.oracle.com/jp/cloud/platform/iaas/overview/
④ Oracle GoldenGate Microservices Edition for Oracle 19.1.0.0.4サーバ
Oracle GoldenGateは、Oracle Database間、バージョンの違うOracle Database間、そして異機種Database間で、データをほぼリアルタイムでデータ連携/レプリケーションするための製品です。ソースデータベースからターゲットデータベースへデータ変更を伝播する際、ソースデータベースにほとんど負荷をかけずに高速に転送することが知られています。Oracle GoldenGateは多彩なトポロジを構成することが出来ます。例えば片方向データ反映の代表的な2つのトポロジを図示します。「移行」と「集約」です。他には双方向のデータ反映パタンもあるのです。
今回テーマにするのは「集約」です。Autonomous Data Warehouseへリアルタイムでのデータ集約を実装したいと思います。OCI Marketplaceを活用することで、プリ・セットアップされた最新のOracle GoldenGateを展開することが出来ます。それを活用して構築していきます。
Oracle GoldenGateのアーキテクチャを図示します。大きく5つのポイントがあり、BIG DATA編の第5回目で詳細に実装していきます。
[a] Oracle GoldenGate Microservices Edition for Oracle 19.1.0.0.4サーバからソースDB(DBaaS)へ接続するためのCredential
[b] Extract:ソースDBの差分データ抽出プロセス
[c] Path:ソースDBの差分データTrailをReplicatに連携するプロセス
[d] Oracle GoldenGate Microservices Edition for Oracle 19.1.0.0.4サーバからターゲットDB(Autonomous Data Warehouse)へ接続するためのCredential
[e] Replicat:ターゲットDBへの差分データ反映プロセス
これらを実装したあとに動作確認としてソースDB(DBaaS)で発生したデータの差分をAutonomous Data Warehouseへ反映・集約します。
ぜひ一緒に実装してみてデータ集約の速度を体感してみてください。
※Oracle GoldenGate マニュアル
https://docs.oracle.com/en/middleware/goldengate/core/19.1/index.html
⑤ ターゲットDB(Autonomous Data Warehouse)
データのManage層に位置するAutonomous Database。データを集約し、分析に注力していくには、データ・マネジメントの自動化がかかせません。
Autonomous Databaseは、データ・マネジメントの象徴的なソリューションです。セキュリティの確保、監視、バックアップ、復旧、トラブルシューティング、チューニングといった保守作業が、サービスとして享受できるのです。
これはData Management as a Serviceと呼ぶべきものであり、大きな潮流となっています。
Self-Driving | User defines workloads and policies, database makes them happen. Automates all database and infrastructure management, monitoring, tuning. |
||
Self–Securing | Protection from both external attacks and internal users. | ||
Self–Repairing | Automated protection from all downtime including planned maintenance. |
この3つのキーワードに代表されるAutonomous DatabaseはOLTPとリアルタイムDWHの2種類から選択することができます。
・高速なトランザクション処理を目的としたAutonomous Transaction Processing(ATP)
・高速に複雑なデータ分析をするAutonomous Data Warehouse(ADW)
双方ともにExadataプラットフォーム上で稼働し、Smart Flash Cache、Flash Cache上でのColumnarフォーマット、スマートスキャン、超高速のInfiniBandネットワークを活用したExafusion通信、Storage IndexなどのExadata機能が、その処理を高次元のパフォーマンスで約束してくれるのです。
今回はリアルタイムDWHであるAutonomous Data Warehouse(ADW)を選択したいと思います。
そして、もう一つのメッセージ「Always Free」。なんと無料でAutonomous Data Warehouseを試用することができます。ぜひこの機会にSelf-Driving, Self–Securing, Self–Repairingを体験してみてください。
※Autonomous Data Warehouseマニュアル
https://docs.oracle.com/cd/E83857_01/paas/autonomous-data-warehouse-cloud/books.html
⑥ ソースDB(DBaaS = Database as a Service)
アジリティ高く、スモールスタートで新ビジネスにチャレンジしていく潮流はますます加速しています。それだけでなく、そのデータの一部をDWHにリアルタイムに反映・集約し、分析に活用するという、もう一つの潮流があります。
今回は、「DBaaSを活用した新規のサブ・システムが作られた。」という仮定のもと、それだけでなく、「そのデータの一部をリアルタイムに反映・集約する。」という構成を実際に実装してみたいと思います。
そのソースDBとなるOracle Database Cloud ServiceはOracle Databaseの完全な稼働デプロイメントをすばやく簡単に作成する機能を提供する非常に魅力的なサービスです。実装を通じて、こちらにも触れていきましょう。
※Oracle Database Cloud Serviceの管理
https://docs.oracle.com/cd/E83857_01/paas/database-dbaas-cloud/csdbi/create-db-deployment-overview.html
⑦ Oracle Cloud Infrastructure Data Catalog
Data Catalogはその名のとおり「データ」を「カタログ化」するサービスです。
データを統合し、そのデータ品質の維持、効率的な活用の促進、そしてガバナンスを実現します。
Oracle Cloud InfrastructureにおけるData PlatformのVision 「Oracle Modern Data Platform」。
データを活用する「Analyze」とデータを「Manage」する層の橋渡しとなる層に位置するOracle Cloud Infrastructure Data Catalogにて、どのようにデータ統制し、活用にむけた整備をするか、
その機能を見ていきたいと思います。
※Oracle Cloud Infrastructure Data Catalog
https://www.oracle.com/big-data/data-catalog/
今回は以上となります。次回から実装に関してお話ししていきたいと思います。