elastic-cloud-data-integration-why-its-important
Cloud Data Integration Elasticとは?
データ統合とは、ビジネス目標の達成に向けて、異なるソースのデータを接続する手法を指します。データパイプラインを作成する際は、データをどのような方法で処理し、その処理をどれくらいの頻度で行うかということを決める必要があります。
そして、データの量、処理能力、頻度に基づいてリソースを配置します。かつてはITの専門家がインフラストラクチャやリソースを年単位でプロビジョニングしていましたが、昨今では需要やAIのおすすめ機能に基づいた自動配置が主要になりつつあります。
Cloud Data Integration Elasticの基本的なコンセプトは、予測不可能なデータワークロードを壊さず自動的に処理できるシステムを構築し、必要に応じてスケールイン、スケールアウトを行い、データ主導の推奨を活用してコストや時間をコントロールできるようにすることです。
Cloud Data Integration Elasticが必要な理由
デジタル業界では、接続性と柔軟性に優れた統合アーキテクチャが求められています。
年間を通して手動でのキャパシティプランニングに頼る時代は過ぎ去りました。一方では、予想よりも早く容量不足に陥るリスクがあり、他方では、インフラストラクチャが十分に活用されていないために投資収益率(ROI)が低下する可能性があります。
そこで、どのようなきっかけでCloud Data Integration Elasticに取り掛かるのか、4つの要因をご紹介します。
予測できないデータのロード:累積的に見て、組織の生成するデータは前年度より多くなることは確かです。しかし、どの時期にどの地域でデータが増加するかといったことを予測するのは困難です。サンドボックスの環境内では正しい情報が得られない可能性があるため、本番環境で初めてシステムに入ってくる本当のデータ量がわかります。クラウドデータ統合ソリューションは、データ量、タイプ、ソースに関するあらする変化に対応できるように改善していく必要があるのです。
管理できない業務作業量:チームの中で繰り返し行われる作業の占める割合が大きいと、戦略的な業務に集中することができません。そのため、データ統合の担当者はオンプレミス環境やクラウドインフラストラクチャのプロビジョニングに時間を割きながら新規の統合要求やトラブルシューティングを行うことになります。増大する作業量に対して割り当てられた予算が見合わないため、既存のデータパイプラインは手動で最適化する方法を探すことになるのです。
その場合は手作業でコーディングを行うか、オープンソースのアプリケーションに頼ることが多いのですが、結果としてアップグレードが難解になり、セキュリティ上の脅威にさらされる可能性があります。
投資収益率(ROI)の低下:新たな統合作業を行う場合は、まずプロビジョニングを多めに行い、統合ジョブのロード増加に備えるのが一般的です。この場合、監視や調整を絶えず行わないと、利用率の低下による赤字を引き起こすことになります。逆にワークロードが閾値の容量を超えると、システムの高可用性がリスクを負い、サービスに支障をきたす恐れがあります。
システムの故障:柔軟性の低いインフラストラクチャでは、システムの効率が低下する可能性があるほか、過剰なデータ統合ジョブにより最悪の場合はシステムが故障する恐れがあります。その場合の悪影響は非常に大きく、プロジェクトの遅延、サービス品質保証(SLA)の悪化や、顧客を失望させる可能性が高まります。
Cloud Data Integration Elasticの主なメリット
拡張性:Cloud Data Integration Elasticは柔軟性の高いフレームワークを提供することから、生成される膨大な量のデータを活用し、そこからタイムリーな価値を得ることができるようになります。プロビジョニングが自動で行われるため、ワークロードの大きさに合わせたスケールアップとスケールアウトも自動化することができます。
標準化と自動化:Cloud Data Integration Elasticは過去の値からデータパイプラインの構成詳細を学習し、推奨を行います。これにより、データ統合ジョブの標準を設定することができるようになります。一度標準を設定すれば、それをテンプレート化して反復的なパターンに使用できます。また、調整のルールをツールに任せることで、プロセス全体を自動化することも可能です。
パフォーマンスの最適化:Cloud Data Integration Elasticは、時間管理にも役立ちます。ビッグデータの処理に必要な馬力が自動的に調整されるほか、大規模な並列処理が行えることで、データ量を問わず納期を守ることができます。
コスト管理:オンデマンドのデータ処理では、Cloud Data Integration Elasticが行われている時間のみコストが発生します。そのため、リソースを前もって割り当てる必要がなく、アイドルタイムにかかるコストを節約することができます。
変化するデータ統合パターンのサポート:Cloud Data Integration Elasticは、いかなるデータ量にも対応できるだけでなく、ETLからELT、データウェアハウスからデータファブリックなど、さまざまなデータ統合パターンをサポートできる柔軟性を備えています。
クラウドデータ統合をよりエラスティックにする方法
Cloud Data Integration Elasticを行うためのポイントを3つご説明します
リソースの自動配置:ここで重要となるのが、インフラストラクチャです。基盤であるインフラストラクチャの柔軟性によって、変動するワークロードにどれだけ対応できるかが左右されます。そして、オンデマンドのインスタンスを提供する最初のステップとなるのがクラウドです。まずは小規模なところから始めますが、データ処理の増加に合わせて仮想マシンをスピンオフすることができるようになります。Dockerなどのコンテナを使えば、すべてのパーツと共に処理エンジンをパッケージ化し、選択したクラウドに出すことも可能です。こういった作業はマルチクラウド環境で大変役立つものであり、単一のクラウドベンダーに縛られることがなくなります。しかしこのままでは、インスタンスのアイドルタイムにかかるコストを削減することはできません。リソースの管理やプロビジョニングの責任を軽減したい程度に応じて、クラウド、仮想マシン、コンテナを選択します。インフラストラクチャの管理をゼロにする場合は、サーバーレスを選択します。そうすることで、インフラストラクチャの管理を気に掛ける必要がなくなり、データパイプラインやアプリケーションの構築に集中することができます。
大規模な並行処理:大規模なデータを扱う際は、並行処理をサポートできるフレームワークが必要です。大量のデータ処理での混乱を最小限に抑えるためには、論理的に集中管理され、物理的には分配、分割されているシステムが求められます。入力されたデータは小さく分割され、並行かつ個別に処理されます。ビッグデータに関しては、並行処理を可能にしたHadoopの信頼性が高く、非構造化データはHadoop MapReduceで処理されます。そして、処理能力の速度に優れ、レイテンシが低いのがSparkです。クラスタ構成のサーバーにおけるストレージと処理能力が、コストと時間という点でデータをどれだけ効率的に処理できるかを決定づけるものとなります。
AIによる処理の反復:AIと機械学習を実装すると、データをソースから目的の場所に移動させる際の変更処理が自動的に行われます。ソーススキーマの変更やメタデータの更新などは、システムを破壊する恐れがあります。こういった変更に対処するには、インテリジェントな自動化を用いてプロセスの動的な再編成を行います。自動化で混乱した状況が避けられるほか、データパイプラインの敏捷性とパフォーマンス向上にもつながります。さらに、ログのパターンを分析する機械学習を活用することで、問題をより早く解決することもできます。
インフォマティカがCloud Data Integration Elasticをサポート
インフォマティカの提供するCloud Data Integration Elasticは、高性能なデータパイプラインを大規模に構築、維持するサポートを行います。これによって、ITチームはエラスティックなクラスタを大量のデータ処理に使うことができるようになります。PCクラスタは安全なエージェントによって維持され、ワークロードに応じて動的にスケールアップ、スケールダウンすることが可能です。
設計時に関してCloud Data Integration Elasticが提供するものは以下の通りです。
階層データとリレーショナルデータを統一するウィザード:ビッグデータの時代では、構造、非構造、半構造のデータタイプを同期し、一貫した情報を生成することが不可欠です。階層型からリレーショナル型(H2R)、階層型から階層型(H2H)、リレーショナル型から階層型(R2H)への変換ウィザードを使用すると、異なるデータタイプを標準出力へと容易に変換することができます。さまざまなデータタイプや機能を取り入れることで、データ統合環境の汎用性と柔軟性を高めることができます。
増分ロードと変更データキャプチャ(CDC):新たな情報の速度に対応するためには、効率や時間を浪費しない状態でシームレスかつ継続的にデータ統合を行う必要があります。CDCや増分ロードの機能は、新たに取り込んだデータのみを処理し、それに応じて対象となるアプリケーションを更新するのに役立ちます。増分ロードはCloud Data Integration Elasticの機能であり、新たなファイルだけが処理され、既存のファイルは再処理されないようにすることができます。
ゼロコードの統合設計:ノーコード/ローコードのインターフェースによって、データマッピングの構築と実行を活発に行います。また、マッピングを可視化するデザイナーとパラメーター化によってデータのアーティファクトを再利用し、拡張のスピードを速めることができます。
動的なマッピング:動的なマッピングを使用し、頻繁に変更が発生するスキーマやメタデータの管理や、異なるスキーマを持つデータソースに関してマッピングロジックを再利用することに役立てます。
実行時に関してCloud Data Integration Elasticが提供するものは以下の通りです。
KubernetesクラスタでのSpark処理:Cloud Data Integration ElasticはSparkで大規模なデータ処理を、Kubernetesで編成を行います。Sparkを使うことで、並行性を高く保った状態で大量のデータを処理することができます。Cloud Data Integration Elasticでは、Sparkを管理する必要はありません。Sparkエンジンは、Kubernetesで管理されたコンテナに入れて、選択したクラウドに出荷されます。これによって、データ統合ジョブを複数のクラウドで実行することができます。Sparkには元々、高度な変換機能が備わっていることから、高速なデータ処理が行えるのです。
サーバーレスなデータ統合:サーバーレスを導入することで、インフラストラクチャを配置、構成する必要がなくなり、データパイプラインの計画、作成に集中することが可能になります。データ統合ジョブの実行が合理化されるほか、費用は機能を実際に使っている時のみ発生するため、コスト削減にもつながります。
運用に関してCloud Data Integration Elasticが提供するものは以下の通りです。
自動的な拡張とチューニング:Cloud Data Integration Elasticは、インフォマティカのCLAIREを用いてクラスタの拡張とSparkパラメータのチューニングを自動的に行い、生産性を向上させます。また、ランタイム環境を分析してSparkエンジンのパフォーマンスを最適化し、推奨に基づいた反復処理を行います。
動的データパーティショニング:Cloud Data Integration Elasticは、動的データパーティショニングをサポートします。パーティションの情報を設定すると、データのロードに基づき、サービスレベル契約を満たすパーティションの数が自動的に決まります。たとえデータのロードが変動したとしても、セッション実行時間の制限を守ることができます。
Cloud Data Integration Elasticは、完全に管理された環境でいかなる量のデータ処理ジョブにも対応し、必要とされる拡張性や柔軟性を提供します。
より詳しい情報については、Cloud Data Integration Elasticに関するこちらの動画での使用事例をご覧ください。
本ブログは2021年10月8日のSUDIPTA DATTAによるElastic Cloud Data Integration: Why It’s Importantの翻訳です。