Modern veri ambarı için DataOps

Azure Data Factory
Azure Databricks
Azure DevOps
Azure Key Vault
Azure Synapse Analytics

Bu makalede, kurgusal bir şehir planlama ofisinin bu çözümü nasıl kullanabileceği açıklanmaktadır. Çözüm, park kullanımını değerlendirmek ve daha bilinçli iş kararları almak için ilgili DevOps ve DataOps işlemlerinin yanı sıra MDW mimari desenini izleyen bir uçtan uca veri işlem hattı sağlar.

Architecture

Aşağıdaki diyagramda çözümün genel mimarisi gösterilmektedir.

Modern veri ambarı için DataOps'ı gösteren mimari diyagramı.

Bu mimarinin Visio dosyasını indirin.

Veri akışı

Azure Data Factory verileri düzenler ve Azure Data Lake Storage 2. Nesil depolar.

Aşağıdaki veri akışı önceki diyagrama karşılık gelir:

  1. Contoso şehir otopark web hizmeti API'sini park noktalarından veri aktarımı için kullanabilirsiniz.

  2. Verileri İniş şemasına aktaran bir veri fabrikası kopyalama süreci vardır.

  3. Ardından Azure Databricks verileri temizler ve standartlaştırır. Ham verileri ve koşulları alır, böylece veri bilimciler bunu kullanabilir.

  4. Doğrulama, geçersiz veriler ortaya çıkarsa, Yanlış Biçimlendirilmiş Şemaya atılır.

    Important

    İnsanlar verilerin Data Lake Storage depolanmadan önce neden doğrulanmadığından sordu. Bunun nedeni, doğrulamanın veri kümesini bozabilecek bir hataya neden olmasıdır. Bu adımda bir hata eklerseniz, hatayı düzeltebilir ve işlem hattınızı yeniden yürütebilirsiniz. Bozuk verileri Data Lake Storage'a eklemeden önce attıysanız, bozuk veriler işlem hattınızı yeniden çalıştıramayacağınız için kullanışsız hale gelir.

  5. Verileri veri ambarında depolayabileceğiniz bir biçime dönüştüren ikinci bir Azure Databricks dönüştürme adımı vardır.

  6. Son olarak işlem hattı verileri iki farklı şekilde sunar:

    1. Databricks, modelleri eğitebilmeleri için verileri veri bilimcisinin kullanımına sunar.

    2. Polybase, verileri veri gölünden Azure Synapse Analytics taşır ve Power BI verilere erişir ve iş kullanıcısına sunar.

Components

  • Azure Data Factory veri taşımayı ve düzenlemeyi sağlayan bulut tabanlı bir veri tümleştirme hizmetidir. Bu mimaride, sistem Contoso şehir otoparkı web hizmeti API'sinden veri gölü iniş bölgesine veri kopyalayarak işlem hattını başlatır.

  • Azure Data Lake Storage 2. Nesil katmanlı depolamayı ve yeniden oynatılabilir işlem hatlarını destekleyen Azure Blob Depolama üzerinde oluşturulmuş ölçeklenebilir ve güvenli bir veri gölüdür. Bu mimaride, hem ham hem de işlenmiş verilerin, giriş, yanlış biçimlendirilmiş ve doğrulanmış veri bölgelerinde ana depo olarak hizmet eder.

  • Azure Databricks büyük veri ve makine öğrenmesi için tasarlanmış Apache Spark tabanlı bir analiz platformudur. Bu mimaride iki kritik dönüştürme adımı gerçekleştirir. İlk olarak, hatalı biçimlendirilmiş kayıtları ayrı bir şemaya filtreleyerek ham verileri temizler ve standartlaştırır. Ardından doğrulanmış verileri veri ambarı depolaması için uygun bir biçime dönüştürür ve işlenen verileri model eğitimi için veri bilimciler tarafından kullanılabilir hale getirir.

  • Azure Key Vault gizli dizileri, anahtarları ve sertifikaları yönetmek için güvenli bir bulut hizmetidir. Bu mimaride, merkezi ve güvenli yapılandırma yönetimi sağlayarak işlem hattı genelinde kullanılan hassas yapılandırma ayarlarını ve kimlik bilgilerini depolar.

  • Azure Synapse Analytics büyük veri ve veri ambarı özelliklerini birleştiren tümleşik bir analiz hizmetidir. Bu mimaride, sorgulama ve raporlama için PolyBase aracılığıyla Data Lake Storage dönüştürülmüş verileri alan veri ambarı görevi görür.

  • Power BI etkileşimli görselleştirmeler ve panolar sunan bir iş analizi aracıdır. Bu mimaride, bilinçli karar alma amacıyla şehir planlayıcılarına park kullanım verileri içgörüleri sunmak üzere Azure Synapse Analytics bağlanır.

Senaryo ayrıntıları

Modern veri ambarı (MDW), tüm verilerinizi istediğiniz ölçekte kolayca bir araya getirmenizi sağlar. Yapılandırılmış, yapılandırılmamış veya yarı yapılandırılmış veriler olması önemli değildir. Tüm kullanıcılarınız için analiz panoları, operasyonel raporlar veya gelişmiş analizler aracılığıyla MDW hakkında içgörüler elde edebilirsiniz.

Hem geliştirme (geliştirme) hem de üretim (üretim) ortamları için bir MDW ortamı ayarlamak karmaşıktır. İşlemi otomatikleştirmek çok önemlidir. Hata riskini en aza indirirken üretkenliği artırmaya yardımcı olur.

Bu makalede, kurgusal bir şehir planlama ofisinin bu çözümü nasıl kullanabileceği açıklanmaktadır. Çözüm, park kullanımını değerlendirmek ve daha bilinçli iş kararları almak için ilgili DevOps ve DataOps işlemlerinin yanı sıra MDW mimari desenini izleyen bir uçtan uca veri işlem hattı sağlar.

Çözüm gereksinimleri

  • Farklı kaynaklardan veya sistemlerden veri toplama olanağı.

  • Kod olarak altyapı: Yeni geliştirme ve hazırlama (hazırlama) ortamlarını otomatik bir şekilde dağıtın.

  • Uygulama değişikliklerini farklı ortamlar arasında otomatik bir şekilde dağıtın:

    • Sürekli tümleştirme ve sürekli teslim (CI/CD) işlem hatlarını uygulayın.

    • El ile onaylar için dağıtım geçitlerini kullanın.

  • Kod Olarak İşlem Hattı: CI/CD işlem hattı tanımlarının kaynak denetiminde olduğundan emin olun.

  • Örnek bir veri kümesi kullanarak değişiklikler üzerinde tümleştirme testleri gerçekleştirin.

  • İşlem hatlarını zamanlanmış olarak çalıştırın.

  • Veri bilimi iş yüklerinin eklenmesi de dahil olmak üzere gelecekteki çevik geliştirmeyi destekleyin.

  • Hem satır düzeyi hem de nesne düzeyi güvenlik desteği:

    • Güvenlik özelliği SQL Veritabanı'de kullanılabilir.

    • Azure Synapse Analytics, Azure Analysis Services ve Power BI'da da bulabilirsiniz.

  • 10 eşzamanlı pano kullanıcısı ve 20 eşzamanlı güç kullanıcısı için destek.

  • Veri işlem hattı, veri doğrulama gerçekleştirmeli ve hatalı biçimlendirilmiş kayıtları belirtilen bir depoda filtrelemelidir.

  • Destek izleme.

Olası kullanım örnekleri

Bu makalede, kullanım örneği senaryolarını açıklamak için kurgusal Contoso şehri kullanılır. Anlatıda Contoso, şehir için park sensörlerine sahip olan ve bunların yönetimini yapan şirkettir. Ayrıca algılayıcılara bağlanan ve algılayıcılardan veri alan API'lere de sahip olur. Birçok farklı kaynaktan veri toplayacak bir platforma ihtiyaç duyarlar. Daha sonra verilerin doğrulanması, temizlenmesi ve bilinen bir şemaya dönüştürülmesi gerekir. Contoso şehir planlayıcıları daha fazla park yeri veya ilgili kaynağa ihtiyaçları olup olmadığını belirlemek için Power BI gibi veri görselleştirme araçlarıyla park kullanımıyla ilgili rapor verilerini inceleyebilir ve değerlendirebilir.

Sokakta Park Yeri Kullanılabilirliği

Considerations

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure Well-Architected Framework'ün yapı taşlarını uygular. Daha fazla bilgi için bkz. Microsoft Azure Well-Architected Framework.

Bu bölümdeki önemli noktalar, bu çözüm tarafından sunulan temel öğrenmeleri ve en iyi yöntemleri özetler:

Note

Bu bölümde dikkate alınacak her nokta, GitHub'daki park sensörü çözümü örneğinin belgelerindeki ilgili Key Learnings bölümüne bağlanır.

Security

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 için tasarım gözden geçirme denetim listesi.

Operasyonel Mükemmellik

Operasyonel mükemmellik, bir uygulamayı dağıtan ve üretimde çalışır durumda tutan operasyon süreçlerini kapsar. Daha fazla bilgi için bkz. Operasyonel Mükemmellik için Tasarım Gözden Geçirme Denetim Listesi.

Bu senaryoyu dağıtın

Aşağıdaki listede, Park Algılayıcıları çözümünü ilgili Derleme ve Yayın İşlem Hatları ile ayarlamak için gereken üst düzey adımlar yer alır. Ayrıntılı kurulum adımlarını ve önkoşullarını bu Azure Samples deposunda bulabilirsiniz.

Kurulum ve dağıtım

  1. Initial setup: Önkoşulları yükleyin, Azure Örnekleri GitHub deponuzu kendi deponuza aktarın ve gerekli ortam değişkenlerini ayarlayın.

  2. Azure kaynaklarını dağıt: Çözüm, otomatik dağıtım betiğiyle birlikte gelir. Ortam başına tüm gerekli Azure kaynaklarını ve Microsoft Entra hizmet sorumlularını dağıtır. Betik ayrıca Azure Pipelines, değişken grupları ve hizmet bağlantılarını dağıtır.

  3. Dev Data Factory'de Git tümleştirmesini ayarlama: İçeri aktarılan GitHub deposuyla çalışmak için Git tümleştirmesini yapılandırın.

  4. İlk derleme ve sürümü gerçekleştirme: Data Factory'de zamanlama tetikleyicisini etkinleştirme gibi örnek bir değişiklik oluşturun ve ardından değişikliğin ortamlar arasında otomatik olarak dağıtılmasını izleyin.

Dağıtılan kaynaklar

Dağıtım başarılı olursa, Azure üç ortamı temsil eden üç kaynak grubu olmalıdır: geliştirme, stg ve prod. Ayrıca, Azure DevOps içinde bu üç ortamda değişiklikleri otomatik olarak dağıtabilen uçtan uca derleme ve yayın işlem hatları da olmalıdır.

Tüm kaynakların ayrıntılı listesi için DataOps - Park Sensörü TanıtımıOKU> Dağıtılmış Kaynaklar bölümüne bakın.

Sürekli Entegrasyon ve Sürekli Teslimat (CI/CD)

Aşağıdaki diyagramda CI/CD işlem süreci ve derleme ile yayın devrelerinin sırası gösterilmektedir.

Derleme ve yayın işlemini ve sırasını gösteren diyagram.

Bu mimarinin Visio dosyasını indirin.

  1. Geliştiriciler, geliştirme kaynak grubu içindeki kendi sandbox ortamlarında çalışır ve değişiklikleri kendi kısa süreli Git dallarına kaydeder. Örneğin, <developer_name>/<branch_name>.

  2. Değişiklikler tamamlandığında, geliştiriciler gözden geçirilmesi için ana dala bir çekme isteği (PR) oluşturur. Bunun yapılması, birim testleri, lint ve veri katmanı uygulama paketi (DACPAC) derlemelerini çalıştıran PR doğrulama işlem hattını otomatik olarak başlatır.

  3. Çekme isteği doğrulaması tamamlandığında, main'a işleme, gerekli tüm derleme yapıtlarını yayımlayan bir derleme işlem hattını tetikler.

  4. Başarılı bir derleme işlem hattının tamamlanması yayın işlem hattının ilk aşamasını tetikler. Bunu yaptığınızda, Data Factory dışında yayımlanan oluşturma yapıtları geliştirme ortamına yerleştirilir.

    Geliştiriciler, işbirliği dalından (main) dev Data Factory'ye el ile yayımlar. El ile yayımlama, adf_publish dalındaki Azure Resource Manager şablonlarını güncelleştirir.

  5. İlk aşamanın başarıyla tamamlanması, manuel bir onay kapısını tetikler.

    Onay'da yayın işlem hattı ikinci aşamayla devam eder ve değişiklikleri stg ortamına dağıtır.

  6. Stg ortamındaki değişiklikleri test etmek için tümleştirme testleri çalıştırın.

  7. İkinci aşama başarıyla tamamlandıktan sonra işlem hattı ikinci bir manuel onay aşamasını tetikler.

    Onay alınca, sürüm hattı üçüncü aşamayla devam eder ve değişiklikleri üretim ortamında dağıtır.

Detaylı bilgi için README'nin Build ve Yayın Pipeline bölümüne bakın.

Testing

Çözüm hem birim testi hem de tümleştirme testi için destek içerir. Pytest-Data Factory ve Nutter Test Çerçevesi'ni kullanır. Daha fazla bilgi için, README'nin Test bölümüne bakın.

Gözlemlenebilirlik ve izleme

Çözüm, Databricks ve Data Factory için gözlemlenebilirliği ve izlemeyi destekler. Daha fazla bilgi için README'in Observability/Monitoring bölümüne bakın.

Sonraki Adımlar

Çözümü dağıtmak isterseniz, DataOps - Park Algılayıcısı Demo READMEsindeki Örneği nasıl kullanacağınızı bölümündeki adımları izleyin.

GitHub çözüm kodu örnekleri

  • GitHub

Observability/monitoring

Azure Databricks

Data Factory

Azure Synapse Analytics

Azure Depolama

Dayanıklılık ve olağanüstü durum kurtarma

Azure Databricks

Data Factory

Azure Synapse Analytics

Azure Depolama

Ayrıntılı genel bakış

Çözüme ve önemli kavramlara ayrıntılı bir genel bakış için şu video kaydını izleyin: Microsoft Azure'da Modern Veri Ambarı için DataDevOps