この記事では、Azure Cloud Services を使用して大量の地理空間データを処理する実用的なアーキテクチャを中心に説明します。 オンプレミス ソリューションが対応しない場合の対処方法を提供します。 また、現在の地理空間分析ツールを引き続き使用することもできます。
Apache®、Apache Spark®、GeoSpark®、および Sedona® は、Apache Software Foundation の米国およびその他の国における登録商標です。 これらのマークを使用することが、Apache Software Foundation による保証を意味するものではありません。
GeoPandas®、QGIS®、および ArcGIS® は、各社の商標です。 これらのマークを使用することが、保証を意味するものではありません。
アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
ワークフロー
- Azure Data Factory が、Azure Data Lake Storage に地理空間データを取り込みます。 このデータのソースは、Teradata、Oracle Spatial、PostgreSQL などの地理空間データベースです。
- Azure Key Vault が、パスワード、資格情報、接続文字列などのシークレットを保護します。
- データは、処理された方法に応じて Data Lake Storage 内のさまざまなフォルダーやファイル システムに配置されます。 この図は、"マルチ ホップ" アーキテクチャを示しています。 Bronze コンテナーには生データが保持され、Silver コンテナーには半キュレート済みのデータが保持され、Gold コンテナーには完全にキュレートされたデータが保持されます。
- データは、GeoJson、WKT、ベクター タイルなどの形式で格納されます。 Azure Databricks と GeoSpark / Sedona パッケージでは、形式を変換し、マシン間で大規模な空間データを効率的に読み込み、処理、分析できます。
- Azure Databricks と Apache Sedona は、さまざまな種類の処理を大規模に実行します。
- 結合、交差、テセレーション
- 空間サンプリングと統計
- 空間インデックス作成とパーティション分割
- GeoPandas は、データをさまざまな形式でエクスポートして、サード パーティ製の GIS アプリケーション (QGIS や ARCGIS など) で使用します。
- Azure Machine Learning では、地理空間データから分析情報を抽出し、たとえば、新しいワイヤレス アクセス ポイントをデプロイする場所とタイミングを判断します。
- Power BI と Azure Maps Power BI ビジュアル (プレビュー) は、地理空間データを視覚化するためにマップ キャンバスをレンダリングします。 Power BI は、Azure Databricks ネイティブ コネクタを使用して、Azure Databricks クラスターに接続します。
- Azure portal のツールである Log Analytics では、Azure Monitor ログ内のデータに対してクエリを実行して、イベントとパフォーマンスを分析するための堅牢できめ細かなログ システムを実装します。
コンポーネント
- Azure Data Lake Storage は、ハイ パフォーマンスの分析ワークロード用のスケーラブルで安全なデータ レイクです。 Data Lake Storage を使用すると、高スループットでペタバイト規模のデータを管理できます。 複数の異種ソースと、構造化形式、半構造化形式、または非構造化形式のデータに対応できます。
- Azure Databricks は、Spark クラスターを使用するデータ分析プラットフォームです。 クラスターは、Azure Cloud Services プラットフォーム用に最適化されています。
- Azure Data Factory は、フル マネージドのスケーラブルなサーバーレス データ統合サービスです。 さまざまなデータ ストアと連携するデータ統合と変換レイヤーが提供されます。
- Microsoft Power BI はソフトウェア サービス、アプリ、コネクタのコレクションであり、これらが連携して、複数のデータ ソースを、一貫性があり視覚的に没入型で対話形式の分析情報に変換します。
- Azure Maps は、最新のマッピング データを使用して、地理的なコンテキストを Web とモバイル アプリケーションに提供する一連の地理空間サービスおよび SDK です。
- Azure Machine Learning は、機械学習モデルを大規模にトレーニング、デプロイ、および管理するために使用されるフル マネージド クラウド サービスです。
- Azure Key Vault は、トークン、資格情報、証明書、API キーなどのシークレットを安全に格納し管理し、それらへのアクセスを厳密に制御するのに使用できるサービスです。
- Azure Monitor は、クラウドおよびオンプレミス環境からのテレメトリを収集、分析して対応する、包括的なソリューションです。 これを使用すると、アプリケーションとサービスの可用性およびパフォーマンスを最大化することができます。
代替
- 同じオープンソース フレームワークを使用して、Azure Databricks ではなく、地理空間分析に Synapse Spark プールを使用できます。
- データの取り込みに Data Factory を使用する代わりに、Azure Event Hubs を使用できます。 直接、または Kafka などの他のイベント ストリーミング サービスから大量のデータを受信できます。 その上で、Azure Databricks を使用してデータを処理できます。 詳しくは、「Azure Databricks によるストリーム処理」を参照してください。
- Azure Databricks の代わりに、Azure SQL Database または Azure SQL Managed Instance を使用して地理空間データのクエリと処理を行うことができます。 これらのデータベースは、地理空間分析に使用できる、使い慣れた T-SQL 言語を提供します。 詳細については、「空間データ (SQL Server)」を参照してください。
- Event Hubs と同様に、Azure IoT Hub はセンサーや通信会社の IoT デバイスから大量のデータを取り込むことができます。 IoT Hub の双方向機能を使用して、デバイスと安全に通信し、クラウド内の一元化されたプラットフォームからデバイスを管理および制御することができます。
- Azure Maps を使用して、Web およびモバイル アプリケーションに地理的なコンテキストを提供できます。 Azure Maps では、位置情報インテリジェンスに加えて、サービスを検索して住所、場所、および目的地を見つけて、リアルタイムのトラフィック情報を取得できます。 Azure Maps Power BI ビジュアルは、Power BI Desktop と Power BI サービスの両方で同じ機能を提供します。
シナリオの詳細
位置情報インテリジェンスと地理空間分析により、通信企業に影響を与える重要な地域の傾向と行動を明らかにすることができます。 これらの企業はこのような知識を使用して無線信号とワイヤレス カバレッジを強化し、競争上の優位性を得ることができます。
通信企業には、地理的に分散した大量の資産データがあり、そのほとんどがユーザー テレメトリです。 データは、無線ネットワーク、IoT センシング デバイス、および地理空間データをキャプチャするリモート センシング デバイスから得られます。 データは画像、GPS、衛星、テキストなど、さまざまな構造化および半構造化形式です。 それを利用するには、集計し、地域のマップやトラフィック データなどの他のソースと結合する必要があります。
データを集計して結合したら、次の課題は分析情報を抽出することです。 これまで、通信企業は、地理空間機能を備えたオンプレミス データベースなどのレガシ システムに依存してきました。 最終的に、このようなシステムは、データの量が増え続けているため、スケーラビリティの限界に達します。 また、地理空間データベース システムでは実行できないタスクをサードパーティ製ソフトウェアで実行する必要があります。
考えられるユース ケース
このソリューションは電気通信業界に最適であり、以下のシナリオに適用されます。
- 複数の場所間での信号情報を分析して、ネットワークの品質を評価する
- リアルタイム ネットワーク インフラストラクチャ データを分析して、メンテナンスと修復をガイドする
- 市場セグメンテーションと市場需要を分析する
- 顧客の場所と会社のマーケティング キャンペーン間の関係を特定する
- 容量と対象範囲の計画を作成して、接続性とサービス品質を確保する
考慮事項
以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
このソリューションを実装するときは、Microsoft Azure Well-Architected Framework に従うことを検討してください。 このフレームワークは、コストの最適化、セキュリティ、信頼性、パフォーマンス効率、オペレーショナル エクセレンスの 5 つの柱にわたる技術ガイダンスを提供します。
パフォーマンス
- 設計パターンとパフォーマンス チューニングのベスト プラクティスに関する Apache Sedona のプログラミング ガイドに従ってください。
- 地理空間インデックス作成は、大規模な地理空間データの処理に不可欠です。 Apache Sedona や他のオープンソースのインデックス作成フレームワーク (H3 など) では、この機能が提供されます。
- GeoPandas フレームワークには、GeoSpark/Apache Sedona の分散機能がありません。 そのため、可能な限り、地理空間処理には Sedona フレームワークを使用してください。
- 処理前に、Sedona の組み込み関数を使用してジオメトリ フォーマットを検証することを検討してください。
セキュリティ
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。
セキュリティを強化するには、下のガイダンスに従うことを検討してください。
- Azure Key Vault を利用するシークレットのスコープを作成する
- セキュリティで保護されたクラスター接続 (パブリック IP なし (NPIP))
- Azure Key Vault への資格情報の格納
- 仮想ネットワークに専用の Azure サービスをデプロイする
- セキュリティ機能を強化するために、Standard ではなく、Azure Databricks Premium レベルの使用を検討する
- Databricks セキュリティ ガイド
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、 コスト最適化の柱の概要に関する記事をご覧ください。
- このソリューションの実装コストを見積もるには、上記のサービスに Azure 料金計算ツールを使用します。
- Power BI には、さまざまなライセンス オファリングが付属しています。 詳しくは、「Power BI の料金」をご覧ください。
- Azure Databricks クラスター構成をスケーリングする必要がある場合は、コストが増加します。 これは、データの量と分析の複雑さによって異なります。 クラスター構成のベスト プラクティスについては、Azure Databricks の「ベスト プラクティス: クラスターの構成」を参照してください。
- コストを最小限に抑える方法については、「コストの最適化の柱の概要」を参照してください。
- QGIS や ARCGIS などのサードパーティ コンポーネントについては、ベンダーの Web サイトで料金情報を参照してください。
- Apache Sedona や GeoPandas など、このソリューションに記載されているフレームワークは、無料のオープンソース フレームワークです。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Arash Mosharraf | シニア クラウド ソリューション アーキテクト
次のステップ
- Azure Data Lake Storage Gen2 の概要
- Power BI とは
- Azure Maps とは
- Azure Machine Learning とは
- Azure Key Vault について
- Azure Monitor の概要
- Azure Maps のサンプル
- Azure Data Factory のチュートリアル
- Apache Sedona のプログラミング ガイド
- はじめに (GeoPandas)
- はじめに (GeoMesa)
- Databricks を使用した大規模な地理空間データの処理
- GIS ファイル形式
- Apache Sedona のリファレンス
- H3 地理空間インデックス作成システムの概要
- Power BI と Esri ArcGIS
- QGIS
- H3: 六角形階層型地理空間インデックス作成システム
- ビジターの携帯電話のローミング データを収益に変える方法
- 5G ポジショニング: 理解しておく必要があるもの