ホームページ  >  記事  >  コンピューターのチュートリアル  >  変更データ キャプチャ: 概要、理由、ベスト プラクティス

変更データ キャプチャ: 概要、理由、ベスト プラクティス

WBOY
WBOY転載
2024-02-19 15:42:18539ブラウズ

変更データ キャプチャ: 概要、理由、ベスト プラクティス

今日のビジネス、特にデジタル変革を優先する企業は、リアルタイム データを緊急に必要としています。従来の毎週および毎月のバッチ処理では、需要を満たすことができなくなりました。ただし、複数のソースからリアルタイム データを取得し、それを使用してプロセスを自動化し、意思決定を動的に最適化することは簡単ではありません。

最近、お客様のレガシー システムを再構築し、モノリシック アーキテクチャをマイクロサービスに分割する際に課題に直面しました。私たちはデータベースに変更を加え、モジュールごとにシステムを最新化することに着手しました。この段階では、異なるモジュールが同じデータを必要とする可能性があるため、両方のデータベースが同期していることを確認する必要があります。つまり、古いシステムは新しいデータベースで新しいシステムによって生成されたデータを必要とし、その逆も同様です。

私たちは、Change Data Capture (CDC) テクノロジーを調査して、それがニーズに合うかどうかを判断しました。この記事では、CDC の定義、テストしたツール、その仕組みとその利点について詳しく説明します。同時に、他の技術者が特定の状況で適切な CDC ツールを選択できるようにするために、いくつかの事例と提案を共有しました。

変更データ キャプチャとは何ですか?

データ キャプチャとは、ソース システムの変更を検出してキャプチャし、これらの変更をほぼリアルタイムでターゲット システムに配信するプロセスを指します。これらの変更には、挿入、削除、更新操作、およびデータベース構造に対する DDL 変更が含まれる場合があります。

変更データ キャプチャ ツールの仕組み

CDC ツールは、ソース システムのデータ変更を監視することによって機能を実装します。変更が検出されると、CDC ツールは変更をキャプチャし、データベースやログ ファイルなどの指定された場所に記録します。処理および変換されたデータは、データ ウェアハウスや分析プラットフォームなどのターゲット システムにロードされます。

データベースの変更をキャプチャする方法はたくさんあります。そのうちのいくつかを見てみましょう:

1. タイムスタンプ/クエリベース

この方法では、ソース内の CREATED_AT、LAST_UPDATED、または DATE_MODIFIED に​​類似した監査列をいくつか維持し、ソース内のデータをクエリしてデータ変更をキャプチャすることで、これらの列の変更を検出します。この方法では削除操作が記録されないことに注意してください。

2. トリガーベースの

トリガーは、特定のイベントに基づいて操作を実行するデータベース内の関数です。削除操作などの変更をキャプチャするのには便利ですが、各イベントで複数の書き込みが必要になるため、データベースのパフォーマンスが低下します。

3. ログベース

データベースには、クラッシュ時の回復用のトランザクション ログが含まれており、すべてのイベントが保存されます。ログベースの CDC を使用すると、新しいデータベース トランザクションがネイティブ ログから直接読み取られるため、ソース テーブルをスキャンせずに変更をキャプチャできるため、より効率的になります。

このアプローチは、イベント駆動型アーキテクチャにおけるイベント ソーシングに似ており、システムの状態が変化するたびに、それをイベントとして記録します。記録されたイベントは、いつでも同じ順序で再生してシステム状態を再構築できます。

CDC を使用する理由

CDC は、状況、アプリケーション、アーキテクチャ、ビジネス ニーズに応じて、多くのシナリオで重要です。 CDC がエンジニアリング プロセスを支援する方法の一部を以下に示します:

  • リアルタイムのデータの可用性: CDC ツールはほぼリアルタイムで変更をキャプチャし、分析、レポート、またはさらなる処理に最新のデータを確実に利用できるようにします。
  • より迅速な意思決定: CDC は、キャプチャからデータの利用可能性までの遅延を短縮し、より迅速な分析と意思決定を可能にします。
  • 効率的なデータ統合: CDC ツールは、複数の運用ソースからデータを取得し、単一のターゲット データベースまたはデータ レイクで共通の形式に変換するのに役立ちます。
  • ターゲット データベースのカスタム設計: CDC は、CQRS システムでの読み取り専用の検索データベースやクエリ データベースの作成、監査データベースの作成、データ ウェアハウスでのデータのキャプチャなど、機能横断的な利点を提供します。これにより、非機能要件とアーキテクチャ要件をプライマリ データ ストアから切り離すことができます。
  • データ移行の簡素化: 私たちの場合、CDC は、最新化フェーズ中にレガシー データベースと新しいデータベースの間でデータの一貫性を維持するのに役立ちます。これは、他のさまざまなデータ移行シナリオにも当てはまります。

適切な CDC ツールを選択するにはどうすればよいですか?

市場には、Oracle Golden Gate、Debezium、IBM Infosphere、Striim、StreamSets、Qlik Replicate など、いくつかの CDC ツールがあります。これらのツールはオープンソースまたは有料の場合があります。通常、オンプレミス環境とクラウド環境をサポートし、さまざまなデータ ソースを処理できます。選択するときは、次の点を考慮してください:

  • データ ソースとの互換性: 選択するツールは少なくとも、変更をキャプチャするすべてのデータ ソースと互換性がある必要があります。
  • リアルタイム データ キャプチャ: 最新のデータを操作できるように、ツールはほぼリアルタイムで変更をキャプチャする必要があります。
  • データ変換と統合: CDC ツールは、ソース データ型からターゲット データ型へのデータ変換を処理できる必要があります。
  • 価格: CDC ツールは、ユースケースに対してコスト効率が高くなければなりません。オープンソース製品、有料製品、ライセンス製品が利用可能です。
  • 使いやすさとサポート: このツールはチームにとって使いやすく、包括的なドキュメントや技術サポートなどの適切なサポートを提供する必要があります。
  • その他の機能: ニーズに応じて、ソースと宛先の間の双方向同期やクラウド サポートなど、他の特定の機能もチェックしてみるとよいでしょう。

ビジネスがテクノロジー主導になるにつれて、過去および現在のデータが重要な差別化要因になります。正確、タイムリー、効率的かつコスト効率の高い変更データのキャプチャを実現することは、テクノロジー変革の取り組みにおいて重要な部分となります。このような状況に直面したとき、この記事があなたのお役に立てれば幸いです。

以上が変更データ キャプチャ: 概要、理由、ベスト プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はmryunwei.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。