Google Cloud Platform で大量の住所確認を行うための設計パターン

目的

大量の住所確認チュートリアルでは、大量の住所確認を使用できるさまざまなシナリオを紹介しました。このチュートリアルでは、大量の Address Validation を実行するための Google Cloud Platform 内でのさまざまな設計パターンを紹介します。

まず、Cloud Run、Compute Engine、または Google Kubernetes Engine を使用して、Google Cloud Platform で 1 回限りの実行のために大量のアドレス検証を実行する方法の概要を説明します。次に、この機能をデータ パイプラインの一部としてどのように組み込むかを見ていきます。

この記事を読めば、Google Cloud 環境で Address Validation を大量に実行するためのさまざまなオプションについて理解できます。

Google Cloud Platform 上のリファレンス アーキテクチャ

このセクションでは、Google Cloud Platform を使用した大量の住所確認のさまざまな設計パターンについて詳しく説明します。Google Cloud Platform 上で実行することで、既存のプロセスやデータ パイプラインと統合できます。

Google Cloud Platform で大量の Address Validation を 1 回実行する

以下に、1 回限りのオペレーションやテストに適した統合を Google Cloud Platform 上に構築する方法のリファレンス アーキテクチャを示します。

イメージ

この場合、CSV ファイルを Cloud Storage バケットにアップロードすることをおすすめします。これで、大量の住所確認スクリプトを Cloud Run 環境から実行できます。ただし、Compute EngineGoogle Kubernetes Engine などの他のランタイム環境で実行することは可能です。出力 CSV は Cloud Storage バケットにアップロードすることもできます。

Google Cloud Platform データ パイプラインとして実行

前のセクションで説明したデプロイ パターンは、大量の Address Validation を 1 回だけ使用する場合に最適です。ただし、データ パイプラインの一部として定期的に使用する必要がある場合は、Google Cloud Platform のネイティブ機能をより堅牢にすることができます。次のような変更を加えることができます。

イメージ

  • この場合、CSV ファイルを Cloud Storage バケットにダンプできます。
  • Dataflow ジョブは、処理するアドレスを取得して、BigQuery にキャッシュできます。
  • Dataflow Python ライブラリを拡張して、大量のアドレス検証で Dataflow ジョブからのアドレスを検証するロジックを組み込むことができます。

データ パイプラインからスクリプトを長期にわたる繰り返しプロセスとして実行する

もう 1 つの一般的なアプローチは、定期的なプロセスとしてストリーミング データ パイプラインの一環としてアドレスのバッチを検証することです。BigQuery データストアにアドレスが残っている場合もあります。このアプローチでは、繰り返しデータ パイプライン(毎日/毎週/毎月トリガーする必要がある)を構築する方法を見ていきます。

イメージ

  • 最初の CSV ファイルを Cloud Storage バケットにアップロードします。
  • Memorystore を永続データストアとして使用して、長時間実行プロセスの中間状態を維持します。
  • 最終的な住所を BigQuery データストアのキャッシュに保存します。
  • スクリプトを定期的に実行するように Cloud Scheduler を設定します。

このアーキテクチャには、次のメリットがあります。

  • Cloud Scheduler を使用すると、アドレスを定期的に検証できます。1 か月に 1 回は住所を再検証するか、月/四半期に 1 回新しい住所を検証することをおすすめします。このアーキテクチャは、そのようなユースケースの解決に役立ちます。
  • 顧客データが BigQuery にある場合、検証されたアドレスまたは検証フラグを直接キャッシュに保存できます。注: キャッシュに保存できる内容と詳しい方法については、大量の住所確認に関する記事をご覧ください

  • Memorystore を使用すると、復元力が向上し、より多くのアドレスを処理できるようになります。この手順により、非常に大規模な住所データセットの処理に必要な処理パイプライン全体にステートフル性が追加されます。Cloud SQL[https://cloud.google.com/sql] など、その他のデータベース テクノロジーや、Google Cloud Platform が提供するその他のデータベースも使用できます。ただし、Memorystore は、スケーリングとシンプルさのニーズのバランスが取れているため、Memorystore は最良の選択肢であると考えています。

おわりに

ここで説明するパターンを適用することで、Google Cloud Platform のさまざまなユースケースやユースケースで Address Validation API を使用できます。

上記のユースケースを開始するのに役立つオープンソースの Python ライブラリが用意されています。パソコンのコマンドラインから呼び出すことも、Google Cloud Platform や他のクラウド プロバイダから呼び出すこともできます。

ライブラリの使用方法について詳しくは、こちらの記事をご覧ください。

次のステップ

ホワイトペーパー「信頼できる住所で購入手続き、配達、業務を改善 」をダウンロードし、「Address Validation を使用して購入手続き、配達、業務を改善する 」ウェブセミナーをご覧ください。

関連資料:

協力者

この記事は Google が管理しています。最初に書いたのは以下の寄稿者です。
主任執筆者:

Henrik Valve | ソリューション エンジニア
Thomas Anglaret | ソリューション エンジニア
Sarthak Ganguly | ソリューション エンジニア