Düzenle

Aracılığıyla paylaş


Neredeyse gerçek zamanlı lakehouse veri işleme

Azure AI Arama
Azure Cosmos DB
Azure Data Lake
Azure Event Hubs
Azure Synapse Analytics

Veri odaklı kuruluşların arka uç ve analiz sistemlerini müşteriye yönelik uygulamalarla neredeyse gerçek zamanlı eşitlemede tutmaları gerekir. İşlemlerin, güncelleştirmelerin ve değişikliklerin etkisi, uçtan uca işlemler, ilgili uygulamalar ve çevrimiçi işlem işleme (OLTP) sistemleri aracılığıyla doğru yansıtılmalıdır. OLTP uygulamalarında yapılan değişikliklerin verileri kullanan aşağı akış sistemlerine yansıtılması için dayanıklı gecikme süresi yalnızca birkaç dakika olabilir.

Bu makalede, lakehouse verilerini eşitlenmiş durumda tutmak için neredeyse gerçek zamanlı veri işlemeye yönelik uçtan uca bir çözüm açıklanmaktadır. Çözümde veri işleme ve analiz için Azure Event Hubs, Azure Synapse Analytics ve Azure Data Lake Depolama kullanılır.

Apache® ve Apache Spark, Apache Software Foundation'ın Birleşik Devletler ve/veya diğer ülkelerdeki kayıtlı ticari markaları veya ticari markalarıdır. Bu işaretlerin kullanılması Apache Software Foundation tarafından onaylanmamaktadır.

Mimari

Uçtan uca veri işleme çözümünün veri akışını gösteren diyagram.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

  1. Değişiklik veri yakalama, kaynak sistemlerin değişiklikleri dinlemesi için bir önkoşuldur. Debezium bağlayıcıları farklı kaynak sistemlere bağlanabilir ve değişiklikler gerçekleşirken değişikliklere dokunabilir. Bağlayıcılar değişiklikleri yakalayabilir ve çeşitli ilişkisel veritabanı yönetim sistemlerinden (RDBMS) olaylar oluşturabilir. Debezium bağlayıcısı yüklemek için Kafka bağlantı sistemi gerekir.

  2. Bağlayıcılar değişiklik verilerini ayıklar ve yakalanan olayları Azure Event Hubs'a gönderir. Event Hubs birden çok kaynaktan büyük miktarda veri alabilir.

  3. Event Hubs, verileri doğrudan Azure Synapse Analytics Spark havuzlarına aktarır veya ham biçimde bir Azure Data Lake Depolama giriş bölgesine gönderebilir.

  4. Diğer toplu veri kaynakları, Verileri Data Lake Depolama'a kopyalamak ve işlenmek üzere kullanılabilir hale getirmek için Azure Synapse işlem hatlarını kullanabilir. Uçtan uca ayıklama, dönüştürme ve yükleme (ETL) iş akışının farklı adımları zincirlemesi veya adımlar arasında bağımlılıklar eklemesi gerekebilir. Azure Synapse işlem hatları, genel işleme çerçevesi içinde iş akışı bağımlılıklarını düzenleyebilir.

  5. Azure Synapse Spark havuzları, Spark akış çerçevesindeki verileri işlemek için tam olarak desteklenen Apache Spark yapılandırılmış akış API'lerini kullanır. Veri işleme adımı, veri kalitesi denetimlerini ve üst düzey iş kuralı doğrulamalarını içerir.

  6. Data Lake Depolama doğrulanmış verileri açık Delta Lake biçiminde depolar. Delta Lake, mevcut veri gölleri için bölünmezlik, tutarlılık, yalıtım ve dayanıklılık (ACID) semantiği ve işlemleri, ölçeklenebilir meta veri işleme ve birleşik akış ve toplu veri işleme sağlar.

    Sorgu hızlandırma için dizinlerin kullanılması Delta'nın daha fazla performans geliştirmesiyle artırılmasını sağlar. Data Lake Depolama doğrulanmış bölgesinden alınan veriler, daha gelişmiş analiz ve makine öğrenmesi için de kaynak olabilir.

  7. Data Lake Depolama doğrulanmış bölgedeki veriler, daha fazla kuralla dönüştürülüp son işlenen durumuna zenginleştirilmiştir ve büyük ölçekli analitik sorgular çalıştırmak için ayrılmış bir SQL havuzuna yüklenir.

  8. Power BI, kurumsal düzeyde panolar ve raporlar oluşturmak için ayrılmış SQL havuzu aracılığıyla kullanıma sunulan verileri kullanır.

  9. Yakalanan ham verileri Data Lake Store giriş bölgesinde ve doğrulanmış verileri Delta biçiminde de kullanabilirsiniz:

    • Azure Synapse SQL sunucusuz havuzları aracılığıyla geçici ve keşif analizi.
    • Azure Machine Learning aracılığıyla makine öğrenmesi.
  10. Bazı düşük gecikmeli arabirimler için tek basamaklı sunucu gecikme süreleri için verilerin normal dışı olması gerekir. Bu kullanım senaryosu çoğunlukla API yanıtlarına yöneliktir. Bu senaryo, tek basamaklı milisaniyelik yanıtlar için Azure Cosmos DB gibi bir NoSQL veri deposundaki belgeleri sorgular.

  11. Azure Cosmos DB bölümleme stratejisi tüm sorgu desenlerine uygun olmayabilir. Böyle bir durum söz konusuysa, API'lerin Azure Bilişsel Arama ile erişmesi gereken verileri dizine alarak çözümü genişletebilirsiniz. Azure Cosmos DB ve Bilişsel Arama, düşük gecikmeli sorgu yanıtları gerektiren çoğu senaryoyu gerçekleştirebilir.

Bileşenler

Bu çözüm aşağıdaki Azure bileşenlerini kullanır:

  • Event Hubs , büyük miktarlarda veri almak için ölçeklenebilen yönetilen, dağıtılmış bir alım hizmetidir. Event Hubs abone-yayımcı mekanizmasıyla, farklı uygulamalar Event Hubs'daki konulara ileti gönderebilir ve aşağı akış tüketicileri iletilere bağlanabilir ve iletileri işleyebilir. Event Hubs Yakalama özelliği Data Lake Depolama'a gelen iletileri AVRO biçiminde yazabilir. Bu özellik, kolay mikro toplu işleme ve uzun süreli saklama senaryolarına olanak tanır. Event Hubs ayrıca Kafka uyumlu bir API sunar ve şema kayıt defterini destekler.

  • Data Lake Depolama, tüm verileri ham ve doğrulanmış biçimlerde depolayan depolama alt sistemini oluşturur. Data Lake Depolama işlemleri büyük ölçekte işleyebilir ve farklı dosya biçimlerini ve boyutlarını destekler. Hiyerarşik ad alanları, verilerin tanıdık bir klasör yapısında düzenlenmesine yardımcı olur ve UniX için Taşınabilir İşletim Sistemi Arabirimi (POSIX) izinlerini destekler. Azure Blob Dosya Sistemi (ABFS) sürücüsü Hadoop uyumlu bir API sunar.

  • Azure Synapse Analytics , veri tümleştirmesi, kurumsal veri ambarı ve büyük veri analizini bir araya getiren sınırsız bir analiz hizmetidir. Bu çözüm, Azure Synapse Analytics ekosisteminin aşağıdaki özelliklerini kullanır:

    • Azure Synapse Spark havuzları , açık kaynak Spark'a yerleşik performans geliştirmeleri ekleyen isteğe bağlı bir Spark çalışma zamanı sunar. Müşteriler esnek otomatik ölçeklendirme ayarlarını yapılandırabilir, Apache Livy uç noktası üzerinden işleri uzaktan gönderebilir ve etkileşimli deneyimler için Synapse Studio not defteri arabirimini kullanabilir.

    • Azure Synapse SQL sunucusuz havuzları , tanıdık bir T-SQL söz dizimi kullanarak lakehouse verilerini sorgulamak için bir arabirim sağlar. Kurulacak altyapı yoktur ve Azure Synapse çalışma alanı dağıtımı uç noktayı otomatik olarak oluşturur. Azure Synapse SQL sunucusuz havuzları, verilerin yerinde bulunmasına ve keşfedilmesine olanak tanır ve kullanıcının geçici sorgu analizi için iyi bir seçenektir.

    • Azure Synapse ayrılmış SQL havuzları verileri sütunlu depolama ile ilişkisel tablolarda depolar. Ayrılmış SQL havuzları, veri işlemeyi birden çok düğüme dağıtmak için bir genişleme mimarisi kullanır. PolyBase sorguları verileri SQL havuzu tablolarına getirir. Tablolar analiz ve raporlama için Power BI'a bağlanabilir.

  • Power BI , raporlar ve panolar oluşturmak ve bu raporlara erişmek için görsel bir arabirim sağlar. Power BI Desktop çeşitli veri kaynaklarına bağlanabilir, kaynakları bir veri modelinde birleştirebilir ve raporlar veya panolar oluşturabilir. Power BI ile iş gereksinimlerine göre verileri dönüştürebilir ve Power BI hizmeti aracılığıyla görselleri ve raporları başkalarıyla paylaşabilirsiniz.

  • Azure Cosmos DB , MongoDB ve Cassandra gibi açık API'leri destekleyen yönetilen, çok kalıcı bir NoSQL veritabanıdır. Bu çözüm, tek basamaklı milisaniye yanıt süreleri ve yüksek kullanılabilirlik gerektiren uygulamalar için Azure Cosmos DB'yi kullanır. Azure Cosmos DB, tüm Azure bölgelerinde çok bölgeli yazma işlemleri sunar. Azure Cosmos DB için Azure Synapse Link'i kullanarak içgörüler türetebilir ve gerçek zamanlı olarak veriler üzerinde analiz çalıştırabilirsiniz.

  • Azure Bilişsel Arama, uygulamalarınızın ve API'lerinizin ihtiyaç duyduğu verilerin dizinini oluşturabilen bir bulut arama hizmetidir. Bilişsel Arama, metin ayıklamaya ve metin olmayan dosyalardan metin çıkarsamaya yardımcı olan isteğe bağlı yapay zeka zenginleştirme özelliklerine sahiptir. Bilişsel Arama, verilere kolayca erişmek ve verileri dizine eklemek için Azure Data Lake Depolama ve Azure Cosmos DB gibi hizmetlerle tümleştirilir. REST API veya .NET SDK'sını kullanarak dizine alınan verileri sorgulayabilirsiniz. İki ayrı dizinden veri almak için bunları tek bir dizinde birleştirebilir veya karmaşık veri türlerini kullanabilirsiniz.

Senaryo ayrıntıları

Neredeyse gerçek zamanlı değişiklikleri işlemek için uçtan uca iş akışı şunları gerektirir:

  • Değişiklik veri yakalama (CDC) teknolojisi. OLTP uygulamalarının SQL Server, MySQL ve Oracle gibi farklı arka uç veri depoları olabilir. İlk adım, değişiklikleri olurken dinlemek ve ileriye yaymaktır.
  • Değişiklik olaylarını büyük ölçekte yayımlamak için bir alma arabelleği. Bu hizmet, iletiler geldikçe büyük miktarda veriyi işleyebilme özelliğine sahip olmalıdır. Bireysel aboneler bu sisteme bağlanabilir ve verileri işleyebilir.
  • Ham biçimde olduğu gibi veriler için dağıtılmış ve ölçeklenebilir depolama.
  • Kullanıcıların durumu yeniden başlatmasına ve yönetmesini sağlayan dağıtılmış, verimli bir akış işleme sistemi.
  • İş kararlarını desteklemek için uygun ölçekte çalışan bir analiz sistemi.
  • Self servis analiz arabirimi.
  • Düşük gecikme süreli API yanıtları için, verilerin normalleştirilmiş gösterimini depolamak için bir NoSQL veritabanı.
  • Bazı durumlarda, verileri dizine alan, dizini düzenli aralıklarla yenileyebilmek ve en son verileri aşağı akış tüketimi için kullanılabilir hale getirmek için bir sistemdir.

Önceki tüm teknolojiler çevre güvenliği, kimlik doğrulaması, yetkilendirme ve veri şifreleme için ilgili güvenlik yapılarını kullanmalıdır.

Olası kullanım örnekleri

Bu çözüm aşağıdakiler için uygundur:

  • OLTP'den çevrimiçi analiz işlemeye (OLAP) değişiklikleri yayma ihtiyacı duyan sektörler.
  • Veri dönüştürme veya zenginleştirme gerektiren uygulamalar.

Gerçek zamanlı veri işleme senaryosu özellikle finansal hizmet sektörleri için önemlidir. Örneğin, bir sigorta, kredi kartı veya banka müşterisi ödeme yaparsa ve müşteri hizmetleriyle hemen iletişim kurarsa, müşteri destek temsilcisinin en son bilgilere sahip olması gerekir.

Benzer senaryolar perakende, ticaret ve sağlık sektörleri için de geçerlidir. Bu senaryoların etkinleştirilmesi operasyonları kolaylaştırarak daha fazla kurumsal üretkenlik ve daha fazla müşteri memnuniyeti sağlar.

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesini sağlar. Daha fazla bilgi için bkz . Güvenilirlik sütununa genel bakış.

  • Event Hubs, premium ve ayrılmış katmanlarda 90 günlük veri saklama olanağı sunar. Yük devretme senaryoları için, eşleştirilmiş bölgede ikincil bir ad alanı ayarlayabilir ve yük devretme sırasında etkinleştirebilirsiniz.

  • Düğümler bakım için indirildiğinden Azure Synapse Spark havuz işleri yedi günde bir geri dönüştürülür. Sisteme bağlı hizmet düzeyi sözleşmeleri (SLA' lar) üzerinden çalışırken bu etkinliği göz önünde bulundurun. Bu sınırlama, kurtarma süresi hedefinin (RTO) yaklaşık 15 dakika olduğu birçok senaryoda sorun oluşturmaz.

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ış.

  • İş yükü özelliklerine göre farklı Event Hubs katmanlarından seçim yapabilirsiniz. Event Hubs, Depolamayı yakalama işlemini Data Lake Depolama'da depolanan veri miktarına bağlı olarak ayrı olarak faturalar.

  • Azure Data Lake Depolama katmanları aracılığıyla nesne yaşam döngüsü yönetimini göz önünde bulundurun. Veriler yaş ilerledikçe, verileri analiz için son verilere erişmeniz gereken sık erişim katmanından çok daha düşük fiyatlı bir soğuk depolama katmanına taşıyabilirsiniz. Soğuk depolama katmanı, uzun süreli saklama için uygun maliyetli bir seçenektir.

  • Ayrılmış SQL havuzunu geliştirme veya test ortamlarınızda kullanmadığınızda duraklatabilirsiniz. Gerektiğinde havuzu duraklatmak için bir betik zamanlayabilir veya portalı kullanarak havuzu el ile duraklatabilirsiniz.

  • Azure Cosmos DB sunucusuz, el ile sağlanan aktarım hızı ve otomatik ölçeklendirme gibi farklı sağlama modelleri sunar. Geliştirme ve test iş yükleriniz için sunucusuz sağlamayı kullanmayı göz önünde bulundurun. Kapsayıcıda saniye başına en fazla istek birimi (RU/sn) ayarlayabileceğiniz otomatik ölçeklendirmeyi de kullanabilirsiniz. Kapsayıcıdaki aktarım hızı, en yüksek RU/sn'nin %10'unu daha düşük bir eşik ve yapılandırılan maksimum RU/sn olarak otomatik olarak ölçeklendirir.

Performans verimliliği

Performans verimliliği, kullanıcılar tarafından anlamlı bir şekilde yerleştirilen talepleri karşılamak amacıyla iş yükünüzü ölçeklendirme becerisidir. Daha fazla bilgi için bkz . Performans verimliliği sütununa genel bakış.

  • Bölümleme aracılığıyla Event Hubs'ı ölçeklendirin. bir işleme günlüğü aracılığıyla olayların sırasını korumak için verilerinizi bölümleme düşünün. Bölümleme, kullanılabilir aktarım hızı kapasitesini en üst düzeye çıkararak birden çok paralel günlük oluşturmanıza olanak tanır.

  • İş yüküne bağlı olarak küçük, orta veya büyük sanal makine (VM) SKU'ları ile Azure Synapse Spark havuzları ayarlayabilirsiniz. Ayrıca Azure Synapse Spark havuzlarında otomatik ölçeklendirmeyi, yüksek iş yüklerini hesaba katacak şekilde yapılandırabilirsiniz. Daha fazla işlem kaynağına ihtiyacınız varsa, kümelerin ölçeği talebi karşılayacak şekilde otomatik olarak artırılır ve işlem tamamlandıktan sonra azaltılır.

  • Ayrılmış SQL havuzunda tablo tasarlamak için en iyi yöntemleri kullanın. SQL havuzunun üzerinde çalıştığı katmana bağlı olarak ilişkili performans ve ölçeklenebilirlik sınırları uygulanır.

  • Azure Cosmos DB, bölüm anahtarına göre kapsayıcıları ölçeklendirmek için bölümleri kullanır. Bölüm anahtarına dayalı tüm veriler mantıksal bir bölüm oluşturur. İş yükü gereksinimlerine göre doğru bölümleme stratejisini seçtiğinizden emin olun. Daha hızlı veri almak için dizinleri de kullanabilirsiniz.

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:

Diğer katkıda bulunan:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar