Pemrosesan data dan analitik geospasial

Azure Data Factory
Azure Data Lake Storage
Azure Database for PostgreSQL
Azure Databricks
Azure Event Hubs

Artikel ini menguraikan solusi yang dapat dikelola untuk membuat volume besar data geospasial tersedia untuk analitik.

Arsitektur

Architecture diagram showing how geospatial data flows through an Azure system. Various components receive, process, store, analyze, and publish the data.

Unduh file Visio arsitektur ini.

Diagram berisi beberapa kotak abu-abu, masing-masing dengan label yang berbeda. Dari kiri ke kanan, labelnya adalah Ingest, Prepare, Load, Serve, dan Visualize dan explore. Kotak akhir di bawah yang lain memiliki label Monitor dan aman. Setiap kotak berisi ikon yang mewakili berbagai layanan Azure. Panah bernomor menghubungkan kotak dengan cara yang dijelaskan langkah-langkah dalam penjelasan diagram.

Alur kerja

  1. Data IoT memasuki sistem:

  2. Data GIS memasuki sistem:

    • Azure Data Factory menyerap data GIS raster dan data GIS vektor dengan format apa pun.

      • Data raster terdiri dari grid nilai. Setiap nilai piksel mewakili karakteristik seperti suhu atau elevasi area geografis.
      • Data vektor mewakili fitur geografis tertentu. Simpul, atau lokasi geometris diskrit, membentuk vektor dan menentukan bentuk setiap objek spasial.
    • Data Factory menyimpan data di Data Lake Storage.

  3. Spark clusters di Azure Databricks menggunakan pustaka kode geospasial untuk mengubah dan menormalkan data.

  4. Data Factory memuat vektor dan data raster yang disiapkan ke Azure Database for PostgreSQL. Solusinya menggunakan ekstensi PostGIS dengan database ini.

  5. Data Factory memuat vektor dan data raster yang disiapkan ke Azure Data Explorer.

  6. Azure Database for PostgreSQL menyimpan data GIS. API membuat data ini tersedia dalam format standar:

    • GeoJSON didasarkan pada JavaScript Object Notation (JSON). GeoJSON mewakili fitur geografis sederhana dan sifat non-spasialnya.
    • Teks terkenal (WKT) adalah bahasa markup teks yang mewakili objek geometri vektor.
    • Ubin vektor adalah paket data geografis. Formatnya yang ringan meningkatkan kinerja pemetaan.

    Cache Redis meningkatkan kinerja dengan menyediakan akses cepat ke data.

  7. Fitur Web Apps dari Azure App Service berfungsi dengan Azure Peta untuk membuat visual data.

  8. Pengguna menganalisis data dengan Azure Data Explorer. Fitur GIS dari alat ini menciptakan visualisasi yang berwawasan luas. Contohnya termasuk membuat scatterplot dari data geospasial.

  9. Power BI menyediakan laporan yang dikustomisasi dan kecerdasan bisnis (BI). Visual Azure Maps untuk Power BI menyoroti peran data lokasi dalam hasil bisnis.

Sepanjang proses:

  • Azure Monitor mengumpulkan informasi tentang peristiwa dan performa.
  • Analitik Log menjalankan kueri pada log Monitor dan menganalisis hasilnya.
  • Azure Key Vault mengamankan kata sandi, string koneksi, dan rahasia.

Komponen

  • Azure Event Hubs adalah platform streaming yang dikelola sepenuhnya untuk big data. Platform ini sebagai layanan (PaaS) menawarkan model konsumen yang dipartisi. Beberapa aplikasi dapat menggunakan model ini untuk memproses aliran data secara bersamaan.

  • Azure Data Factory adalah layanan integrasi yang berfungsi dengan data dari penyimpanan data yang berbeda. Anda dapat menggunakan platform tanpa server yang terkelola sepenuhnya ini untuk membuat, menjadwalkan, dan mengatur alur kerja transformasi data.

  • Azure Databricks adalah platform analisis data. Kluster Spark yang dikelola penuh memproses aliran data besar dari berbagai sumber. Azure Databricks dapat mengubah data geospasial dalam skala besar untuk digunakan dalam analitik dan visualisasi data.

  • Data Lake Storageadalah data lake yang skalabel dan aman untuk beban kerja analitik berperforma tinggi. Layanan ini dapat mengelola beberapa petabyte informasi sambil mempertahankan ratusan gigabit throughput. Data biasanya berasal dari beberapa sumber heterogen dan dapat disusun, semi terstruktur, atau tidak terstruktur.

  • Azure Database for PostgreSQL adalah layanan database hubungan yang dikelola sepenuhnya yang didasarkan pada edisi komunitas sumber terbuka mesin database PostgreSQL.

  • PostGIS adalah ekstensi untuk database PostgreSQL yang terintegrasi dengan server GIS. PostGIS dapat menjalankan kueri lokasi SQL yang melibatkan objek geografis.

  • Redis adalah sumber terbuka, penyimpanan data dalam memori. Cache Redis menyimpan data yang sering diakses dalam memori server. Cache kemudian dapat dengan cepat memproses volume besar permintaan aplikasi yang menggunakan data.

  • Power BI adalah kumpulan layanan dan aplikasi perangkat lunak. Anda dapat menggunakan Power BI untuk menghubungkan sumber data yang tidak terkait dan membuat visualnya.

  • Visual Azure Maps untuk Power BI menyediakan cara untuk meningkatkan peta dengan data spasial. Anda dapat menggunakan visual ini untuk menunjukkan bagaimana data lokasi memengaruhi metrik bisnis.

  • Azure App Service dan fitur Web Apps-nya menyediakan kerangka kerja untuk membangun, menyebarkan, dan menskalakan aplikasi web. Platform App Service menawarkan pemeliharaan infrastruktur bawaan, patching keamanan, dan penskalaan.

  • API data GIS di Azure Maps menyimpan dan mengambil data peta dalam format seperti GeoJSON dan ubin vektor.

  • Azure Data Explorer adalah layanan analitik data yang cepat dan dikelola sepenuhnya untuk dapat bekerja dengan volume data yang besar. Layanan ini awalnya berfokus pada deret waktu dan analitik log. Layanan ini sekarang juga menangani beragam aliran data dari aplikasi, situs web, perangkat IoT, dan sumber lainnya. Fungsionalitas geospasial di Azure Data Explorer menyediakan opsi untuk merender data peta.

  • Azure Monitor mengumpulkan data tentang lingkungan dan sumber daya Azure. Informasi diagnostik ini sangat membantu untuk menjaga ketersediaan dan kinerja. Dua platform data membentuk Monitor:

  • Analitik Log adalah alat portal Azure yang menjalankan kueri pada data log Monitor. Analitik Log juga menyediakan fitur untuk memetakan dan menganalisis hasil kueri secara statistik.

  • Key Vault menyimpan dan mengontrol akses ke rahasia seperti token, kata sandi, dan kunci API. Key Vault juga membuat dan mengontrol kunci enkripsi dan mengelola sertifikat keamanan.

Alternatif

  • Alih-alih mengembangkan API Anda sendiri, pertimbangkan untuk menggunakan Martin. Server ubin sumber terbuka ini membuat ubin vektor tersedia untuk aplikasi web. Ditulis dalam Rust, Martin terhubung ke tabel PostgreSQL. Anda dapat menyebarkannya sebagai wadah.

  • Jika tujuan Anda adalah menyediakan antarmuka standar untuk data GIS, pertimbangkan untuk menggunakan GeoServer. Kerangka kerja terbuka ini menerapkan standar industriOpen Geospatial Consortium (OGC) standar industri seperti Web Feature Service (WFS). Ini juga terintegrasi dengan sumber data spasial umum. Anda dapat menggunakan GeoServer sebagai wadah pada mesin virtual. Ketika aplikasi web yang disesuaikan dan kueri eksplorasi bersifat sekunder, GeoServer menyediakan cara mudah untuk mempublikasikan data geospasial.

  • Berbagai perpustakaan Spark tersedia untuk bekerja dengan data geospasial di Azure Databricks. Solusi ini menggunakan pustaka ini:

    Namunsolusi lain juga tersedia untuk memproses dan menskalakan beban kerja geospasial dengan Azure Databricks.

  • Ubin vektor menyediakan cara yang efisien untuk menampilkan data GIS pada peta. Solusi ini menggunakan PostGIS untuk mengkueri ubin vektor secara dinamis. Pendekatan ini bekerja dengan baik untuk kueri sederhana dan set hasil yang berisi lebih dari 1 juta catatan. Tetapi dalam kasus-kasus berikut, pendekatan yang berbeda mungkin lebih baik:

    • Pertanyaan Anda secara komputasi mahal.
    • Data Anda tidak sering berubah.
    • Anda menampilkan kumpulan data besar.

    Dalam situasi ini, pertimbangkan untuk menggunakan Tippecanoe untuk menghasilkan ubin vektor. Anda dapat menjalankan Tippecanoe sebagai bagian dari alur pemrosesan data Anda, baik sebagai kontainer atau dengan Azure Functions. Anda dapat membuat ubin yang dihasilkan tersedia melalui API.

  • Seperti Event Hubs, Azure IoT Hub dapat menyerap data dalam jumlah besar. Tetapi IoT Hub juga menawarkan kemampuan komunikasi dua arah dengan perangkat. Jika Anda menerima data langsung dari perangkat tetapi juga mengirim perintah dan kebijakannya kembali ke perangkat, pertimbangkan IoT Hub alih-alih Event Hub.

  • Untuk merampingkan solusi, hilangkan komponen-komponen ini:

    • Azure Data Explorer
    • Power BI

Detail skenario

Ada banyak kemungkinan untuk bekerja dengan data geospasial, atau informasi yang mencakup komponen geografis. Misalnya, perangkat lunak dan standar sistem informasi geografis (SIG) tersedia secara luas. Teknologi ini dapat menyimpan, memproses, dan menyediakan akses ke data geospasial. Tetapi seringkali sulit untuk mengkonfiguraskani dan memelihara sistem yang bekerja dengan data geospasial. Anda juga membutuhkan pengetahuan ahli untuk mengintegrasikan sistem tersebut dengan sistem lain.

Artikel ini menguraikan solusi yang dapat dikelola untuk membuat volume besar data geospasial tersedia untuk analitik. Pendekatan ini didasarkan pada Arsitektur Referensi Analitik Tingkat Lanjut dan menggunakan layanan Azure berikut:

  • Azure Databricks dengan pustaka GIS Spark memproses data.
  • Azure Database for PostgreSQL kueri data yang diminta pengguna melalui API.
  • Azure Data Explorer menjalankan kueri eksplorasi cepat.
  • Azure Maps membuat visual data geospasial dalam aplikasi web.
  • Fitur visual Azure Peta Power BI dari Power BI menyediakan laporan yang dikustomisasi

Kemungkinan kasus penggunaan

Solusi ini berlaku untuk banyak area:

  • Memproses, menyimpan, dan menyediakan akses ke sejumlah besar data raster, seperti peta atau data iklim.
  • Mengidentifikasi posisi geografis entitas sistem perencanaan sumber daya perusahaan (ERP).
  • Menggabungkan data lokasi entitas dengan data referensi GIS.
  • Menyimpan telemetri Internet of Things (IoT) dari perangkat yang bergerak.
  • Menjalankan kueri geospasial analitis.
  • Menyematkan data geospasial yang dikuratori dan dikontekstualisasikan di aplikasi web.

Pertimbangan

Pertimbangan berikut, berdasarkan Microsoft Azure Well-Architected Framework, berlaku untuk solusi ini.

Ketersediaan

Skalabilitas

Implementasi solusi ini memenuhi kondisi:

  • Memproses hingga 10 juta set data per hari. Kumpulan data mencakup acara batch atau streaming.
  • Menyimpan 100 juta kumpulan data dalam database Azure Database for PostgreSQL.
  • Kueri 1 juta atau lebih sedikit kumpulan data pada saat yang bersamaan. Maksimal 30 pengguna menjalankan kueri.

Lingkungan menggunakan konfigurasi ini:

  • Klaster Azure Databricks dengan empat node pekerja F8s_V2.
  • Instance Azure Database for PostgreSQL yang dioptimalkan memori.
  • Paket Azure App Service dengan dua instans S2 Standar.

Pertimbangkan faktor-faktor ini untuk menentukan penyesuaian mana yang harus dilakukan untuk implementasi Anda:

  • Tingkat konsumsi data Anda.
  • Volume data Anda.
  • Volume Kueri Anda.
  • Jumlah kueri paralel yang perlu Anda dukung.

Anda dapat menskalakan komponen Azure secara independen:

Fitur skala otomatis Monitor juga menyediakan fungsionalitas penskalaan. Anda dapat mengonfigurasi fitur ini untuk menambahkan sumber daya untuk menangani peningkatan beban. Ini juga dapat menghapus sumber daya untuk menghemat uang.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

  • Untuk memperkirakan biaya penerapan solusi ini, lihat contoh profil biaya. Profil ini adalah untuk satu implementasi lingkungan yang dijelaskan dalam pertimbangan Skalabilitas. Ini tidak termasuk biaya Azure Data Explorer.
  • Untuk menyesuaikan parameter dan menjelajahi biaya menjalankan solusi ini di lingkungan Anda, gunakan kalkulator harga Azure.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Langkah berikutnya

Dokumentasi produk:

Untuk mulai menerapkan solusi ini, lihat informasi ini:

Informasi tentang pemrosesan data geospasial