Veri işleme gerçek zamanlı olarak yapılamadığında ne yapmalıyım?

Yazar | Zhou Shuang

Editör | Tu Min

Üretildi | CSDN (ID: CSDNnews)

Birçok iş senaryosunda, sorguların veya hesaplamaların sonuçlarının gerçek zamanlı olarak döndürülmesini isteriz. Yangın uyarısı, kredi öncesi risk tespiti, kantitatif ticaret vb. Veriyi olaydan sonra analiz ederseniz, şu anda zaten bir yangın meydana geldi, dolandırıcılar parayı alıp kaçtı, pazar fırsatı kaçırıldı ve analiz verilerinin getirdiği değer "geçmişi, geleceğin öğretmeni" ile sınırlı.

Bu nedenle, gerçek zamanlı akış verilerinin hesaplanması ve analizi, gerçek zamanlı değeri kaybolmadan önce tamamlanmalıdır. Bu, hesaplanan gecikmenin küçük olmasını gerektirir. Bazen büyük miktarda veri ve karmaşık hesaplamalar nedeniyle gerçek zamanlı hesaplamalar tamamlanamaz. Şu anda, hatanın kabul edilebilir bir aralıkta olmasını sağlamak için bazı sonuçların doğruluğu feda edilebilir ve hesaplamanın gerçek zamanlı performansı ilk olarak karşılanabilir.

Bununla birlikte, çeşitli yaratıcı ve teknik optimizasyon yöntemlerini benimsemiş olsak bile, bazı sorunların, mevcut evrensel donanım hesaplama yetenekleri altında dağıtılmış, büyük veri, bellek hesaplama ve diğer teknolojiler kullanılarak doğrudan uygulanamayacağını kabul etmeliyiz. Gerçek zamanlı hesaplanan sonuçlar alın. Bu, bu sorunlar karşısında gerçek zamanlı hesaplama fikrinin tamamen terk edilmesi gerektiği anlamına mı geliyor?

Hayır. Sorunun cevabı doğrudan gerçek zamanlı olarak hesaplanamasa da, artan hesaplama yoluyla dolaylı olarak sorunun gerçek zamanlı cevabını yine de alabiliriz. Bazen bu cevapların biraz gecikmesi ve yaklaşımı olsa da, mümkün olan en güncel bilgi değerini getirebildikleri sürece faydalıdırlar.

Lambda mimarisi, gerçek zamanlı olarak doğrudan hesaplanamayan problemlerle başa çıkmak için tam da böyle genel bir mimaridir. Lambda mimarisi, ilk olarak Storm stream hesaplama çerçevesinin yazarı Nathan Marz tarafından, büyük veri senaryolarında düşük gecikmeli bilgi işlem ve sorgulama için genel bir mimari model oluşturmak üzere önerildi. Lambda mimarisi genellikle üç katmana ayrılır: toplu iş katmanı, hız katmanı ve hizmet katmanı. Bunların arasında, toplu iş ve hızlı işlem katmanları sırasıyla tüm geçmiş verileri ve sisteme yeni girilen artımlı verileri işlerken, hizmet katmanı, son kullanıcılara veya uygulama sorgu hizmetlerini sağlamak için toplu iş ve hızlı işlem katmanlarının sonuçlarını birleştirmek için kullanılır.

Lambda mimarisi

Lambda mimarisinde, her katmanın kendine özgü işlevleri aşağıdaki gibidir.

  • Toplu katman. Toplu iş katmanı, ana veri kümesini depolamak ve çeşitli toplu iş görünümlerini önceden hesaplamaktır. Veriler toplu işleme katmanına girdiğinde, veriler depolanır ve veri sisteminin ana veri kümesi olarak kullanılır. Toplam veri miktarı büyük olacağından ve hesaplama zaman alıcı olacağından, toplu iş katmanının ana işlevi önceden belirlenmiş sorguyu önceden hesaplamak ve hesaplama sonucunu kaydetmektir. Daha ayrıntılı hale getirirseniz, hesaplama sonuçlarında çeşitli görünümler oluşturabilir ve daha sonra hızlı erişim ve sorgulama için karşılık gelen dizinleri oluşturabilirsiniz.

  • Katmanları hızla işleyin. En standart Lambda mimarisinde, hızlı işleme katmanının işlevi, toplu işleme katmanının iki programlı yürütmesi sırasında yeni gelen artımlı verileri gerçek zamanlı olarak hesaplamak ve hesaplama sonuçlarını kaydetmektir. Bu standart mimari altında, teorik olarak hızlı işleme katmanının çıktısı ve toplu işleme katmanının çıktısı, iş açısından tamamen aynı olmalıdır. Başka bir deyişle, toplu işlem katmanının ve hızlı işlem katmanının hesaplama sonuçlarını saklamak için iki veritabanı tablosu kullanırsak, iki veritabanı tablosunun tablo yapısı aynı olmalıdır. Analiz süresi farklı olduğu için bu iki tablodaki veri kayıtları farklıdır. Ancak Lambda mimarisi monolitik bir "fikstür" değildir.Birçok senaryoda, ihtiyaçlarımıza göre hızlı işlem katmanında değişiklikler yapabiliriz. Örneğin, önceki toplu işleme katmanının hesaplama sonuçları veritabanında saklandığından, hızlı işleme katmanı neden bu toplu işleme katmanının hesaplama sonuçlarını doğrudan kullanamıyor? Aslında bunu sık sık yapıyoruz, örneğin, istatistiksel modelleri veya makine öğrenimi modellerini öğrenmek, model sonuçlarını veritabanına kaydetmek için toplu işleme katmanını kullanıyoruz ve ardından hızlı işleme katmanı, modeli veritabanından düzenli olarak güncelliyor ve modele göre gerçek zamanlı tahminler yapıyor.

  • Hizmet katmanı. Hizmet katmanı, tam veri setinde kullanıcıların veya uygulamaların gerçek zamanlı sorgu sonuçlarını sağlamak için toplu işleme katmanının ve hızlı işleme katmanının hesaplama sonuçlarını birleştirmek için kullanılır. Hizmet katmanı tarafından sağlanan sorgu arabirimi salt okunurdur ve bu, yüksek performanslı, durum bilgisiz ve son derece güvenilir sorgu hizmetlerini uygulamak için çok kullanışlıdır. Bu nedenle, hizmet katmanı teknik uygulama açısından nispeten basit bir yapıya sahiptir, ancak belirli iş sorgularıyla daha yakından entegre olacaktır.

Lambda mimarisi, mimari bir tasarım fikridir ve her katman için teknik bileşenlerin seçiminde kesin bir kısıtlama yoktur. Böylece şirketimizin ve projemizin gerçek durumuna göre ilgili teknik çözümü seçebiliriz. Toplu iş katmanının veri depolaması için HDFS, S3 ve diğer büyük veri depolama çözümlerini seçebilirsiniz. Toplu iş katmanının görev yürütme çerçevesi için, MapReduce, Hive ve Spark gibi büyük veri hesaplama çerçevelerini seçebilirsiniz. Toplu işlem katmanının hesaplama sonuçlarına (veritabanı tabloları veya görünümler gibi), hizmet katmanı veya hızlı işleme katmanı tarafından yüksek hızda erişilmesi gerekir, böylece bunlar sorgu isteklerine hızlı bir şekilde yanıt verebilen MySQL ve HBase gibi veritabanlarında depolanabilir. Hızlı işlem katmanı için, Flink, Spark Streaming ve Storm gibi çeşitli gerçek zamanlı akış hesaplama çerçevelerinin geldiği yer burasıdır. Hızlı işleme katmanı daha katı performans gereksinimlerine sahip olduğu için, hesaplama sonuçları, Redis gibi ultra yüksek performansa sahip bir bellek içi veritabanına yazılabilir. Hizmet katmanında, bir sorgu talebi alındığında, ilgili hesaplama sonuçları, toplu işleme katmanının ve hızlı işleme katmanının hesaplama sonuçlarını depolayan veritabanından alınabilir ve nihai sorgu çıktısı olarak birleştirilebilir.

Lambda mimarisi, büyük veri hacimleri altında gerçek zamanlı uygulamaların geliştirilmesi için pratik ve etkili bir genel model sağlar. Verileri ve işlemeyi nispeten bağımsız üç katmana bölerek: toplu işlem katmanı, hızlı bilgi işlem katmanı ve hizmet katmanı, Lambda mimarisi, büyük verilerin sürekli güncelleme sürecindeki sorunların karmaşıklığını azaltır ve tüm veri kümeleri hakkında gerçek zamanlı bilgi elde edebilir. arama sonuçları. Ancak Lambda mimarisinin de bazı sorunları var. En önemli şey, aynı sorgu hedefi için toplu işlem katmanı ve hızlı hesaplama katmanı için farklı algoritmaların geliştirilmesi gerektiğidir. Diğer bir deyişle, aynı mantık seti için, tamamen farklı iki kodun geliştirilmesi gerekir, bu da geliştirme, test etme, çalıştırma ve bakıma belirli bir karmaşıklık ve fazladan iş yükü getirir.

Toplu işleme katmanının "heterojenliğinden" ve Lambda mimarisindeki hızlı hesaplama katmanından kaynaklanan karmaşıklık sorununu çözmek için, LinkedIn'den Jay Kreps, Lambda mimarisine dayalı Kappa mimarisini önerdi. Kappa mimarisinin temel fikri, toplu işlem katmanını hızlı işlem katmanının akış hesaplama teknolojisi ile değiştirmektir. Bu şekilde, toplu işlem katmanı ve hızlı işleme katmanı, aynı akış işleme mantığını kullanır ve geliştirme, test etme ve çalıştırma ve bakım için daha birleşik bir çerçeveye sahip olur, böylece geliştirme, test etme ve çalıştırma ve bakım maliyetlerini azaltır.

Kappa mimarisi

Lambda mimarisinden gelişen Kappa mimarisi, programlama arayüzünü akışlar aracılığıyla birleştirerek veri sisteminin yapısını büyük ölçüde basitleştirir. Mimari sistem ve gerçek kod geliştirme sürecinde olmasına rağmen, Kappa Lambda'dan daha iyi tutarlılığa sahiptir. Ancak bu, Kappa'nın Lambda mimarisinden daha iyi olduğu anlamına gelmez, kendi anlamı ve değeri vardır. Lambda mimarisi, daha genel bir mimari fikri temsil ediyor ve bize gerçek zamanlı bilgi işlemle büyük veri sorunlarını doğrudan çözemediğimizde çevrimdışı ve gerçek zamanı birleştiren bu uzlaşmacı çözümü kullanmaya çalışmamız için bize rehberlik ediyor. Kappa mimarisinin en büyük değeri, çevrimdışı bilgi işlem ve gerçek zamanlı hesaplamayı olabildiğince birleştirmek için akışlı bilgi işlem çerçevesini kullanma konusunda bize ilham vermesidir.

Yazar: Huazhong Bilim Üniversitesi'nden mezun olan Usta Zhou Shuang, Huawei 2012 Gauss hattı departmanlarında ve Shanghai Information Technology Co., Ltd. Yi'de çalıştı. Gerçek zamanlı analitik bellek veritabanı RTANA, Huawei genel bulut RDS hizmeti, mobil dolandırıcılıkla mücadele MoFA ve diğer ürünler geliştirildi. Şu anda şirketin teknik departmanının mimarı olarak hizmet veriyor. "Gerçek Zamanlı Akış Hesaplama Sistemi Tasarımı ve Uygulaması" nın yazarı.

"Huawei Arama" denizaşırı ülkelerde test ediliyor; Apple'ın 500 milyon dolarlık yerleşim yeri "hız azaltma kapısı"; Firefox HTTPS'yi gizliyor | Geek Headlines
önceki
Weimeng veri tabanının silinmesi olayından kaynaklanan veri geri yüklemesinin teknik ilkeleri ve zamanlılık zorlukları hakkında konuşmak
Sonraki
Anlaşmadan ziyade petrol depolama alanı üretim kesintilerini etkileyebilir
Yeni altyapı istasyonunun çelik talebine etkisi nedir?
Ningxia'da 150.000'den fazla lise ve ortaokul öğrencisi okula yanlış zamanda ve zirvede başlıyor, Lang Lang kampüse geri dönüyor
Denizaşırı salgınların ithalatını önleyen Jiangxi, "ağ geçidini" sıkı bir şekilde kontrol ediyor ve "ilk savunma hattını" inşa ediyor
Shanxi: 34 tonluk bir tanker vuruldu ve çatladı ve büyük miktarda benzin sızdı
Jurong, Jiangsu, renklerle dolu "giyinmek" baharı
Shanghai Changning "geçici merkezi kontrol noktası" için yeni yemek hizmeti
Geçen yıl Çin'de büyük bir olay oldu: Kişi başına GSYİH 10.000 ABD Dolarını aştı
Shandong gemisi "uçak gemisi stili" burada! Çok yakışıklı...
Bu dört kelime "güzel" değil ama herkese dokundu
Bayan otobüs şoförü, yarım yıl sonra otobüse küçük bir sepet koydu ...
20'den fazla IOU, 8 yıllığına geri ödedi
To Top