Jeo-uzamsal veri işleme ve analiz

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

Bu makalede, analiz için büyük hacimli jeo-uzamsal verileri kullanılabilir hale getirmek için yönetilebilir bir çözüm özetlenmiştir.

Mimari

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

Bu mimarinin Visio dosyasını indirin.

Diyagramda her birinin farklı bir etiketi olan birkaç gri kutu bulunur. Etiketler soldan sağa alma, Hazırlama, Yükleme, Sunma ve Görselleştirme ve keşfetme şeklindedir. Diğerlerinin altındaki son kutuda İzleyici ve güvenli etiketi bulunur. Her kutu, çeşitli Azure hizmetlerini temsil eden simgeler içerir. Numaralandırılmış oklar, kutuları diyagram açıklamasında açıklanan adımlarla birbirine bağlar.

İş Akışı

  1. IoT verileri sisteme girer:

    • Azure Event Hubs , IoT verilerinin akışlarını alır. Veriler, cihazların konumlarını tanımlayan koordinatları veya diğer bilgileri içerir.
    • Event Hubs, ilk akış işleme için Azure Databricks kullanır.
    • Event Hubs verileri Azure Data Lake Depolama depolar.
  2. GIS verileri sisteme girer:

    • Azure Data Factory , herhangi bir biçimdeki raster GIS verilerini ve vektör GIS verilerini alır.

      • Raster verileri, değer kılavuzlarından oluşur. Her piksel değeri, coğrafi alanın sıcaklığı veya yükselmesi gibi bir özelliği temsil eder.
      • Vektör verileri belirli coğrafi özellikleri temsil eder. Köşeler veya ayrık geometrik konumlar vektörleri oluşturur ve her uzamsal nesnenin şeklini tanımlar.
    • Data Factory, verileri Data Lake Depolama'da depolar.

  3. Azure Databricks'teki Spark kümeleri, verileri dönüştürmek ve normalleştirmek için jeo-uzamsal kod kitaplıklarını kullanır.

  4. Data Factory, hazırlanan vektör ve raster verilerini PostgreSQL için Azure Veritabanı yükler. Çözüm, bu veritabanıyla PostGIS uzantısını kullanır.

  5. Data Factory, hazırlanan vektör ve tarama verilerini Azure Veri Gezgini yükler.

  6. PostgreSQL için Azure Veritabanı GIS verilerini depolar. API'ler bu verileri standart biçimlerde kullanılabilir hale getirir:

    • GeoJSON , JavaScript Nesne Gösterimini (JSON) temel alır. GeoJSON basit coğrafi özellikleri ve uzamsal olmayan özelliklerini temsil eder.
    • İyi bilinen metin (WKT), vektör geometri nesnelerini temsil eden bir metin işaretleme dilidir.
    • Vektör kutucukları coğrafi veri paketleridir. Bunların basit biçimi, eşleme performansını artırır.

    Redis önbelleği, verilere hızlı erişim sağlayarak performansı artırır.

  7. Azure Uygulaması Hizmeti'nin Web Apps özelliği, verilerin görsellerini oluşturmak için Azure Haritalar ile birlikte çalışır.

  8. Kullanıcılar Azure Veri Gezgini ile verileri analiz edin. Bu aracın GIS özellikleri, içgörü sahibi görselleştirmeler oluşturur. Örnek olarak jeo-uzamsal verilerden dağılım grafiği oluşturma verilebilir.

  9. Power BI özelleştirilmiş raporlar ve iş zekası (BI) sağlar. Power BI'ın Azure Haritalar görseli, iş sonuçlarında konum verilerinin rolünü vurgular.

İşlem boyunca:

  • Azure İzleyici olaylar ve performans hakkında bilgi toplar.
  • Log Analytics, İzleyici günlüklerinde sorgular çalıştırır ve sonuçları analiz eder.
  • Azure Key Vault parolaların, bağlantı dizesi ve gizli dizilerin güvenliğini sağlar.

Bileşenler

  • Azure Event Hubs , büyük veriler için tam olarak yönetilen bir akış platformudur. Bu hizmet olarak platform (PaaS), bölümlenmiş bir tüketici modeli sunar. Veri akışını aynı anda işlemek için birden çok uygulama bu modeli kullanabilir.

  • Azure Data Factory , farklı veri depolarından alınan verilerle çalışan bir tümleştirme hizmetidir. Veri dönüştürme iş akışlarını oluşturmak, zamanlamak ve yönetmek için bu tam olarak yönetilen, sunucusuz platformu kullanabilirsiniz.

  • Azure Databricks bir veri analizi platformudur. Tam olarak yönetilen Spark kümeleri, birden çok kaynaktan büyük veri akışlarını işler. Azure Databricks, analiz ve veri görselleştirmede kullanılmak üzere jeo-uzamsal verileri büyük ölçekte dönüştürebilir.

  • Data Lake Depolama, yüksek performanslı analiz iş yükleri için ölçeklenebilir ve güvenli bir veri gölüdür. Bu hizmet, yüzlerce gigabit aktarım hızı sağlarken birden çok petabayt bilgiyi yönetebilir. Veriler genellikle birden çok, heterojen kaynaktan gelir ve yapılandırılmış, yarı yapılandırılmış veya yapılandırılmamış olabilir.

  • PostgreSQL için Azure Veritabanı, açık kaynak PostgreSQL veritabanı altyapısının topluluk sürümünü temel alan, tam olarak yönetilen bir ilişkisel veritabanı hizmetidir.

  • PostGIS , GIS sunucularıyla tümleşen PostgreSQL veritabanının bir uzantısıdır. PostGIS, coğrafi nesneleri içeren SQL konum sorgularını çalıştırabilir.

  • Redis açık kaynaklı, bellek içi bir veri deposudur. Redis önbellekleri, sık erişilen verileri sunucu belleğinde tutar. Önbellekler daha sonra verileri kullanan büyük hacimli uygulama isteklerini hızla işleyebilir.

  • Power BI , yazılım hizmetleri ve uygulamalarından oluşan bir koleksiyondur. İlişkili olmayan veri kaynaklarına bağlanmak ve bunların görsellerini oluşturmak için Power BI'ı kullanabilirsiniz.

  • Power BI'ın Azure Haritalar görseli, haritaları uzamsal verilerle geliştirmenin bir yolunu sağlar. Konum verilerinin iş ölçümlerini nasıl etkilediğini göstermek için bu görseli kullanabilirsiniz.

  • Azure Uygulaması Hizmeti ve Web Uygulamaları özelliği, web uygulamaları oluşturmaya, dağıtmaya ve ölçeklendirmeye yönelik bir çerçeve sağlar. App Service platformu yerleşik altyapı bakımı, güvenlik düzeltme eki uygulama ve ölçeklendirme sunar.

  • Azure Haritalar'deki GIS veri API'leri harita verilerini GeoJSON ve vektör kutucukları gibi biçimlerde depolar ve alır.

  • Azure Veri Gezgini, büyük hacimli verilerle çalışabilen hızlı, tam olarak yönetilen bir veri analizi hizmetidir. Bu hizmet başlangıçta zaman serisine ve günlük analizine odaklanmıştır. Artık uygulamalardan, web sitelerinden, IoT cihazlarından ve diğer kaynaklardan çeşitli veri akışlarını da işleyebilir. Azure Veri Gezgini'daki jeo-uzamsal işlevsellik, harita verilerini işlemeye yönelik seçenekler sağlar.

  • Azure İzleyici , ortamlar ve Azure kaynaklarıyla ilgili verileri toplar. Bu tanılama bilgileri kullanılabilirlik ve performansı korumak için yararlıdır. İki veri platformu İzleyici'ye sahiptir:

  • Log Analytics , günlük verilerini izleme konusunda sorgular çalıştıran bir Azure portalı aracıdır. Log Analytics ayrıca sorgu sonuçlarını grafiklendirmeye ve istatistiksel olarak çözümlemeye yönelik özellikler de sağlar.

  • Key Vault belirteçler, parolalar ve API anahtarları gibi gizli dizilere erişimi depolar ve denetler. Key Vault ayrıca şifreleme anahtarlarını oluşturur ve denetler ve güvenlik sertifikalarını yönetir.

Alternatifler

  • Kendi API'lerinizi geliştirmek yerine Martin'i kullanmayı düşünün. Bu açık kaynak kutucuk sunucusu, vektör kutucuklarını web uygulamaları için kullanılabilir hale getirir. Rust dilinde yazılan Martin, PostgreSQL tablolarına bağlanır. Kapsayıcı olarak dağıtabilirsiniz.

  • Amacınız GIS verileri için standartlaştırılmış bir arabirim sağlamaksa GeoServer kullanmayı göz önünde bulundurun. Bu açık çerçeve, Web Özellik Hizmeti (WFS) gibi endüstri standardı Open Geospatial Consortium (OGC) protokollerini uygular. Ayrıca yaygın uzamsal veri kaynaklarıyla tümleşir. GeoServer'ı bir sanal makinede kapsayıcı olarak dağıtabilirsiniz. Özelleştirilmiş web uygulamaları ve keşif sorguları ikincil olduğunda, GeoServer jeo-uzamsal verileri yayımlamak için basit bir yol sağlar.

  • Azure Databricks'te jeo-uzamsal verilerle çalışmak için çeşitli Spark kitaplıkları kullanılabilir. Bu çözüm şu kitaplıkları kullanır:

    Ancak Azure Databricks ile jeo-uzamsal iş yüklerini işlemek ve ölçeklendirmek için başka çözümler de mevcuttur.

  • Vektör kutucukları , haritalarda GIS verilerini görüntülemek için verimli bir yol sağlar. Bu çözüm, vektör kutucuklarını dinamik olarak sorgulamak için PostGIS kullanır. Bu yaklaşım, 1 milyondan çok daha az kayıt içeren basit sorgular ve sonuç kümeleri için iyi sonuç verir. Ancak aşağıdaki durumlarda farklı bir yaklaşım daha iyi olabilir:

    • Sorgularınız hesaplama açısından pahalıdır.
    • Verileriniz sık sık değişmez.
    • Büyük veri kümeleri görüntülüyorsunuz.

    Bu gibi durumlarda, vektör kutucukları oluşturmak için Tippecanoe kullanmayı göz önünde bulundurun. Tippecanoe'yu veri işleme akışınızın bir parçası olarak kapsayıcı olarak veya Azure İşlevleri ile çalıştırabilirsiniz. Sonuçta elde edilen kutucukları API'ler aracılığıyla kullanılabilir hale getirebilirsiniz.

  • Event Hubs gibi Azure IoT Hub da büyük miktarlarda veri alabilir. Ancak IoT Hub, cihazlarla çift yönlü iletişim özellikleri de sunar. Verileri doğrudan cihazlardan alıyor ancak aynı zamanda cihazlara komut ve ilke gönderiyorsanız Event Hubs yerine IoT Hub'ı göz önünde bulundurun.

  • Çözümü kolaylaştırmak için şu bileşenleri atla:

    • Azure Veri Gezgini
    • Power BI

Senaryo ayrıntıları

Jeo-uzamsal verilerle veya coğrafi bileşen içeren bilgilerle çalışmak için birçok olasılık vardır. Örneğin, coğrafi bilgi sistemi (GIS) yazılımı ve standartları yaygın olarak kullanılabilir. Bu teknolojiler jeo-uzamsal verileri depolayabilir, işleyebilir ve bunlara erişim sağlayabilir. Ancak genellikle jeo-uzamsal verilerle çalışan sistemleri yapılandırmak ve bakımını yapmak zordur. Bu sistemleri diğer sistemlerle tümleştirmek için de uzman bilgisine ihtiyacınız vardır.

Bu makalede, analiz için büyük hacimli jeo-uzamsal verileri kullanılabilir hale getirmek için yönetilebilir bir çözüm özetlenmiştir. Yaklaşım Gelişmiş Analiz Başvuru Mimarisini temel alır ve şu Azure hizmetlerini kullanır:

  • GIS Spark kitaplıkları ile Azure Databricks verileri işler.
  • PostgreSQL için Azure Veritabanı, kullanıcıların API'ler aracılığıyla istediği verileri sorgular.
  • Azure Veri Gezgini hızlı keşif sorguları çalıştırır.
  • Azure Haritalar, web uygulamalarında jeo-uzamsal verilerin görsellerini oluşturur.
  • Power BI'ın Azure Haritalar Power BI görsel özelliği özelleştirilmiş raporlar sağlar

Olası kullanım örnekleri

Bu çözüm birçok alan için geçerlidir:

  • Haritalar veya iklim verileri gibi büyük miktarda raster verilerini işleme, depolama ve erişim sağlama.
  • Kurumsal kaynak planlama (ERP) sistem varlıklarının coğrafi konumunu belirleme.
  • Varlık konumu verilerini GIS başvuru verileriyle birleştirme.
  • Hareket eden cihazlardan Nesnelerin İnterneti (IoT) telemetrisini depolama.
  • Analitik jeo-uzamsal sorgular çalıştırma.
  • Web uygulamalarına seçilmiş ve bağlamsallaştırılmış jeo-uzamsal verileri ekleme.

Dikkat edilmesi gereken noktalar

Microsoft Azure İyi Tasarlanmış Çerçeve'yi temel alan aşağıdaki önemli noktalar bu çözüm için geçerlidir.

Kullanılabilirlik

  • Event Hubs, hata riskini kümelere yayar.

    • Riski fiziksel olarak ayrılmış üç tesise yaymak için kullanılabilirlik alanlarının açık olduğu bir ad alanı kullanın.
    • Event Hubs'ın coğrafi olağanüstü durum kurtarma özelliğini kullanmayı göz önünde bulundurun. Bu özellik, bir ad alanının tüm yapılandırmasını birincil ad alanından ikincil ad alanına çoğaltır.
  • PostgreSQL için Azure Veritabanı tarafından sunulan iş sürekliliği özelliklerine bakın. Bu özellikler bir dizi kurtarma hedefini kapsar.

  • App Service tanılaması , uygulamalarda kapalı kalma süresi gibi sorunlar konusunda sizi uyarır. Kesintiler gibi sorunları belirlemek, gidermek ve çözmek için bu hizmeti kullanın.

  • Uygulama dosyalarını yedeklemek için App Service'i kullanmayı göz önünde bulundurun. Ancak, uygulama ayarlarını düz metin olarak içeren yedeklenen dosyalara dikkat edin. Bu ayarlar bağlantı dizesi gibi gizli diziler içerebilir.

Ölçeklenebilirlik

Bu çözümün uygulaması şu koşulları karşılar:

  • Günde en fazla 10 milyon veri kümesi işler. Veri kümeleri toplu iş veya akış olaylarını içerir.
  • 100 milyon veri kümesini bir PostgreSQL için Azure Veritabanı veritabanında depolar.
  • Aynı anda 1 milyon veya daha az veri kümesi sorgular. Sorguları en fazla 30 kullanıcı çalıştırır.

Ortam şu yapılandırmayı kullanır:

  • Dört F8s_V2 çalışan düğümüne sahip bir Azure Databricks kümesi.
  • PostgreSQL için Azure Veritabanı bellek için iyileştirilmiş bir örneği.
  • İki Standart S2 örneğine sahip bir App Service planı.

Uygulamanız için hangi ayarlamaları yapacağınızı belirlemek için şu faktörleri göz önünde bulundurun:

  • Veri alımı oranınız.
  • Veri hacminiz.
  • Sorgu biriminiz.
  • Desteklemeniz gereken paralel sorgu sayısı.

Azure bileşenlerini bağımsız olarak ölçeklendikleyebilirsiniz:

İzleyici'nin otomatik ölçeklendirme özelliği, ölçeklendirme işlevi de sağlar. Bu özelliği yük artışlarını işlemek için kaynak eklemek üzere yapılandırabilirsiniz. Ayrıca tasarruf etmek için kaynakları kaldırabilir.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

  • Bu çözümü uygulama maliyetini tahmin etmek için örnek maliyet profiline bakın. Bu profil, Ölçeklenebilirlik konuları bölümünde açıklanan ortamın tek bir uygulamasına yöneliktir. Azure Veri Gezgini maliyetini içermez.
  • Parametreleri ayarlamak ve bu çözümü ortamınızda çalıştırmanın maliyetini keşfetmek için Azure fiyatlandırma hesaplayıcısını kullanın.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Sonraki adımlar

Ürün belgeleri:

Bu çözümü uygulamaya başlamak için şu bilgilere bakın:

Jeo-uzamsal verileri işleme hakkında bilgi