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

目的

High Volume Address Validation のチュートリアルでは、大量の Address Validation を使用できるさまざまなシナリオについて説明しました。このチュートリアルでは、大量の Address Validation を実行するための Google Cloud Platform 内のさまざまな設計パターンを紹介します。

まず、Google Cloud Platform で Cloud Run、Compute Engine、または Google Kubernetes Engine を使用して 1 回限りの実行として、大量の Address Validation を実行する方法の概要を説明します。その後、この機能をデータ パイプラインの一部として含める方法について説明します。

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

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

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

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

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

イメージ

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

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

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

イメージ

  • この場合、Cloud Storage バケットの CSV ファイルをダンプできます。
  • Dataflow ジョブは処理するアドレスを取得して BigQuery にキャッシュできます。
  • Dataflow Python ライブラリを拡張して、High Volume Address Validation で Dataflow ジョブからのアドレスを検証するためのロジックを実装できます。

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

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

イメージ

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

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

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

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

おわりに

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

Google は、上記のユースケースを簡単に開始できるように、オープンソースの Python ライブラリを作成しました。パソコンのコマンドラインから呼び出すことも、Google Cloud Platform や他のクラウド プロバイダから呼び出すこともできます。

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

次のステップ

ホワイトペーパー「Optimizing checkout, delivery, and operations with フルアライズ 」ホワイトペーパーをダウンロードし、Address Validation による購入手続き、配達、運用の改善 ウェブセミナーをご覧ください。

関連資料の候補:

協力者

この記事は Google が管理します。以下の寄稿者が執筆しています。
プリンシパルの作成者:

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