You're almost there! Please answer a few more questions for access to the Applications content. Complete registration
Interested in joining? Complete your registration by providing Areas of Interest here. Register

アナリティクス エクセレンス シリーズ | 大量の API ロードのリカバリー方法

The Analytics Excellence Series | Recovery Methods for High-Volume API Loads

リカバリー力の構築: 大量の API ロードに対するリカバリー方法の実装

Reporting APIなどの新しい API を統合する場合、または初めて大量のデータ ロードを管理する場合、関係するデータの量が膨大であるため、初期ロードの処理が困難になることがあります。

この記事では、API リカバリ メソッドを実装するための戦略について説明します。これにより、大量のデータ ロードが信頼性が高く、中断からリカバリーできることを保証する堅牢なアプローチが身につきます。

リカバリー方法が必要な理由

初期データ ロード抽出は、新しい API を統合する上で重要なステップです。通常の操作とは異なり、このプロセスでは大量の一括データ転送が行われます。適切な回復方法がなければ、ネットワークの問題、タイムアウト、さらにはアプリケーションのクラッシュが発生する可能性があります。

リカバリー方法を実装することで、障害が発生した場合でも、中断したところからロードを再開できるため、データの損失や中断を最小限に抑えることができます。

リカバリー方法の実装手順

1. データロードをセグメント化する

初期データの読み込みを管理しやすいセグメントに分割することが重要です。データを小さなバッチで読み込むことで、システムに過負荷がかかるリスクが軽減され、進行状況を追跡しやすくなります。使用する必要がある特定のプロパティを考慮し、適切なクエリ オプションを使用して指定します。

例:クエリは、エンティティの利用可能なすべてのプロパティを返します。$selectクエリを追加すると、必要なプロパティのみを指定でき、パフォーマンスが向上します。次の例では、$selectクエリを使用して、キャンペーン ID、送信合計、配信合計、開封合計、クリックスルー合計のプロパティのみを返します。

GET /api/odata/campaignAnalysis/1.0/emailActivities?$select=eloquaCampaignId,totalSends,totalDelivered,totalOpens,totalClickthroughs

2. チェックポイントを実装する

チェックポイントとは、定期的に進行状況を保存することです。つまり、データの各バッチが正常にロードされるたびに、チェックポイントが作成されます。障害が発生した場合は、最初からやり直すのではなく、最後に成功したチェックポイントからロードを再開できます。

実装のヒント:チェックポイント データを、データベース、セキュリティで保護されたファイル、ソース システムなどの永続的なストレージ ソリューションに保存します。

3. 冪等性/巾等性(idempotence - ある操作を1回行っても複数回行っても結果が同じであること)を確保する

べき等性は、重複レコードなどの意図しない副作用を引き起こすことなく、安全に操作を繰り返すことを可能にする API 設計の重要な概念です。これは、データの整合性を損なうことなく失敗した操作を再試行できるため、回復方法にとって特に重要です。

冪等性を実現する方法: Reporting API は一意の主キーを提供します。これらを一意のリクエスト識別子として使用するか、データを挿入する前にチェックを実行して、既に存在するかどうかを確認します。

4. エラー処理と監視

システムの耐障害性を高めるには、API 監視ツールを使用してエラー処理を管理し、パフォーマンスを監視します。問題を診断するのに十分な詳細を含むすべてのエラーをログに記録し、ネットワーク タイムアウトや HTTP ステータス コードなどの一時的なエラーに対する自動再試行メカニズムを設定します。

: API 呼び出し中にシステムがネットワーク タイムアウトに遭遇したとします。エラー処理が適切に行われている場合、システムはエンドポイント、タイムスタンプ、エラー コードなどのタイムアウトの詳細を記録します。監視ツールが問題を警告し、自動再試行メカニズムが短い休止の後に呼び出しを再試行するため、データ損失やプロセス中断の可能性が減ります。

5. リカバリー戦略を立てる

障害が発生した場合、システムは最後のチェックポイントから回復できる必要があります。これには、部分的にロードされたデータのクリーンアップとロード プロセスの再開が含まれます。補正トランザクションを実装すると、失敗したリクエストによって行われた変更をロールバックするのに役立ちます。

例:リクエストが途中で失敗した場合、システムは不完全なエントリをクリーンアップし、バッチを最初から再試行する必要があります。

6. 一貫性チェック

最初のロード後、データが正しく一貫していることを確認するためにデータを検証することが重要です。一貫性チェックを実行して、すべてのデータ関係が維持され、欠落したエントリや重複したエントリがないことを確認します。

検証手法:レコード数を比較し、チェックサムを実行し、主キーを検証し、SQL クエリを使用してデータの一貫性を確保します。

7. ページネーションを実装する

レポート API は、ページ区切りを実装するための標準化されたメカニズムを提供する OData プロトコルに基づいて構築されています。ページ区切りを使用すると、一度にすべてのデータを取得する代わりに、通常はページ サイズを指定して、すべてのデータが取得されるまでページを反復処理することにより、より小さく管理しやすい部分でデータを要求できます。

ページ サイズ: OData のページ区切りの主要コンポーネントは$skip、および$topクエリ オプションです。これらのオプションを使用すると、開発者はそれぞれ、スキップする項目の数と、ページごとに返される項目の最大数を指定できます。

ページを反復処理する:データ取得プロセスにロジックを実装して、複数のページを処理します。現在のページを追跡し、すべてのページが処理されるまでデータの取得を続けます。

ページネーションの詳細については、OData ページネーションを参照してください。

最終的な考え..

API の初期ロードにリカバリ メソッドを実装することは、単に良いプラクティスというだけでなく、データの整合性とシステムの信頼性を維持するために不可欠です。データをセグメント化し、チェックポイントを使用し、べき等性を確保し、障害に備えることで、大規模なデータ統合の課題に対処できるリカバリー力のあるシステムを構築できます。初期ロードを成功させる鍵は、最初に正しく行うことだけではなく、効率的にリカバリできるように準備することです。

Howdy, Stranger!

Log In

To view full details, sign in.

Register

Don't have an account? Click here to get started!