Alimei'nin kılavuzu: İnternetin hızlı gelişimi, birçok yeni medyanın gelişimini teşvik etti. İster tanınmış bir büyük V, ister ünlü, ister izleyenler olsun, cep telefonunuzu Weibo, Moments of Friends veya inceleme sitelerinde dinamikler yayınlamak ve gördüklerinizi paylaşmak için kullanabilirsiniz. "Herkesin mikrofonu olsun" diye düşünün. İster sıcak haber ister eğlence dedikoduları olsun, yayılma hızı hayal gücümüzün çok ötesinde. Bir bilgi parçası on binlerce kişi tarafından iletilebilir ve birkaç dakika içinde milyonlarca kişi tarafından okunabilir. Kitle bilgisi patlatılabilir, bu durumda bilgiyi gerçek zamanlı olarak nasıl kavrayabilir ve ona göre nasıl başa çıkabiliriz? Başa çıkmak gerçekten zor mu? Bugün, Alibaba Bulut Zekası İş Grubu'ndan Yu Heng bize büyük veri kamuoyu sisteminin veri depolama ve bilgi işlem sistemleri için gereksinimleri ve sistemin ihtiyaçlara göre nasıl tasarlanacağı hakkında konuşmak için geldi.
Büyük veri çağında, medya bilgilerinin yanı sıra, çeşitli e-ticaret platformlarındaki malların sipariş hacmi ve kullanıcı satın alma yorumları, sonraki tüketiciler üzerinde büyük bir etkiye sahip olacaktır. Tüccarın ürün tasarımcısının, takip eden ürün geliştirmeyi belirlemek için temel olarak istatistik toplaması ve çeşitli platformların verilerini analiz etmesi gerekir.Şirketin halkla ilişkiler ve pazarlama departmanlarının da kamuoyuna göre karşılık gelen ve zamanında işlem yapması gerekir ve tüm bunlar aynı zamanda geleneksel kamuoyu anlamına gelir. Sistem, büyük veri kamuoyu toplama ve analiz sistemine yükseltildi. Büyük veri kamuoyu sistemine detaylı olarak bakıldığında, veri depolama ve bilgi işlem sistemimiz için aşağıdaki gereksinimler ortaya konmaktadır:
Bu makale esas olarak şunları sağlar: Mimari tasarım , Önce mevcut ana akım büyük veri bilişim mimarisini tanıtacak, bazı avantaj ve dezavantajları analiz edecek ve ardından kamuoyu büyük veri mimarisini tanıtacak.
Sistem tasarımı
talep analizi
Şekil 1 Kamuoyu Sisteminin İş Süreci
Önceki girişe göre, kamuoyu büyük veri analizi sistemi iki tür hesaplama gerektirir: Bir tür, gerçek zamanlı hesaplama olup, büyük web içeriğinin gerçek zamanlı çıkarılması, duygusal kelime analizi ve web sayfası kamuoyu sonuçlarının depolanması dahil. Diğeri ise çevrimdışı hesaplamadır.Sistemin geçmiş verileri geriye doğru izlemesi, manüel açıklama ve diğer yöntemlerle kombinasyon halinde duygusal kelimeleri optimize etmesi ve bazı gerçek zamanlı hesaplamaların sonuçlarını düzeltmesi gerekir. Bu nedenle sistem tasarımında hem gerçek zamanlı hesaplama hem de toplu çevrimdışı hesaplama yapabilen bir sistem seçilmesi gerekmektedir. Açık kaynak büyük veri çözümünde, Lambda mimarisi bu ihtiyaçları karşılayabilir.Lambda mimarisini tanıtalım.
Lambda mimarisi (wiki)
Şekil 2 Lambda mimari diyagramı
Lambda mimarisinin, Spark sistemi altındaki en sıcak büyük veri mimarisi olan Hadoop olduğu söylenebilir. Bu mimarinin en büyük avantajı, büyük veri toplu işlem işlemlerini (yani çevrimdışı işleme) desteklemesinin yanı sıra gerçek zamanlı akışlı işlemeyi (yani sıcak veri işleme) desteklemesidir.
İlk olarak, yukarı akış genellikle verileri gerçek zamanlı olarak depolayan kafka gibi bir kuyruk hizmetidir. Kafka kuyruğunun iki abonesi olacak, biri tam miktarda veri, yani resmin üst yarısı ve tüm veri miktarı HDFS gibi bir depolama ortamında depolanacak. Çevrimdışı bir bilgi işlem görevi geldiğinde, bilgi işlem kaynakları (Hadoop gibi) depolama sistemindeki tüm verilere erişecek ve tam toplu işlemin işlem mantığını gerçekleştirecektir.
Harita / küçült bağlantısından sonra, tüm sonuçlar Hbase gibi yapılandırılmış bir depolama motoruna yazılacak ve sorgu için iş tarafına sağlanacaktır. Kuyruğun diğer bir tüketici abonesi, akış hesaplama motorudur. Akış hesaplama motoru, genellikle hesaplama ve işleme için kuyruktaki verileri gerçek zamanlı olarak tüketir.Örneğin, Spark Streaming, Kafka verilerine gerçek zamanlı olarak abone olur ve akış hesaplama sonuçları da yapılandırılmış bir veri motoruna yazılır. Toplu hesaplamaların ve akış hesaplamalarının sonuçlarının yazıldığı yapılandırılmış depolama motoru, yukarıdaki simge Not 3'ün "Sunum Katmanı" dır. Bu katman esas olarak sonuç verilerinin görüntülenmesini ve sorgulanmasını sağlar.
Bu mimaride, toplu hesaplamanın özelliği, büyük miktarda verinin işlenmesini desteklemesi ve işletmenin ihtiyaçlarına göre, hesaplama için diğer bazı işletme göstergelerini ilişkilendirmesidir. Toplu hesaplamanın avantajı, hesaplama mantığının iş gereksinimlerine göre esnek bir şekilde ayarlanabilmesi ve hesaplama sonuçlarının tekrar tekrar hesaplanabilmesi ve aynı hesaplama mantığının birden çok kez değişmemesidir. Toplu hesaplamanın dezavantajı, hesaplama döngüsünün nispeten uzun olması ve gerçek zamanlı sonuçlara olan talebi karşılamanın zor olmasıdır.Bu nedenle, büyük veri hesaplamasının gelişmesiyle, gerçek zamanlı hesaplama talebi önerilmektedir.
Gerçek zamanlı bilgi işlem, Lambda mimarisinde gerçek zamanlı veri akışları aracılığıyla gerçekleştirilir Toplu işlemle karşılaştırıldığında, veri artımlı akışlarının işleme yöntemi, verilerin genellikle yeni oluşturulan veriler, yani sıcak veriler olduğunu belirler. Sıcak verilerin özellikleri nedeniyle, akış hesaplama, işletmenin bilgi işlem için düşük gecikme gereksinimlerini karşılayabilir. Örneğin, bir kamuoyu analizi sisteminde, kamuoyu bilgilerinin web sayfasından alınabileceğini ve işletme için hesaplama sonuçlarının dakikalar içinde elde edilebileceğini umuyoruz. Partinin kamuoyu geri bildirimi için yeterli zamanı var. Lambda mimarisi fikrine dayanan eksiksiz bir kamuoyu büyük veri mimarisi setinin nasıl uygulanacağına somut bir göz atalım.
Açık kaynaklı kamuoyu büyük veri çözümü
Bu akış şeması aracılığıyla, tüm kamuoyu sisteminin inşasının farklı depolama ve bilgi işlem sistemleri gerektirdiğini anlıyoruz. Veri organizasyonu ve sorgulama için farklı gereksinimler vardır. Sektördeki açık kaynak büyük veri sistemi ile Lambda mimarisinin birleşimine dayalı olarak tüm sistem aşağıdaki gibi tasarlanabilir:
Şekil 3 Açık kaynak kamuoyu mimarisi diyagramı
1. Sistemin en yukarı akışı, abone olunan web sayfasının orijinal içeriğini tarama görevine göre tarayan dağıtılmış bir tarayıcı motorudur. Tarayıcı, taranan web sayfalarının içeriğini gerçek zamanlı olarak Kafka kuyruğuna yazar.Kafka kuyruğuna giren veriler, yukarıda açıklanan hesaplama gereksinimlerine göre gerçek zamanlı olarak akış hesaplama motoruna (Spark veya Flink gibi) akar ve ayrıca tam hacim için Hbase'de kalıcı olarak depolanır. Veri depolama. Tüm web sayfalarının depolanması, web sayfası tarama ve tekilleştirme ve toplu çevrimdışı hesaplama ihtiyaçlarını karşılayabilir.
2. Akış hesaplama, orijinal web sayfasının yapısını çıkaracak, yapılandırılmamış web içeriğini yapılandırılmış verilere dönüştürecektir ve sayfanın başlığını, yazarını, özetini vb. Çıkarmak ve metni ve soyut içeriği segmentlere ayırmak gibi kelime segmentasyonu gerçekleştirecektir. Çıkarma ve kelime segmentasyonu sonuçları Hbase'e geri yazılacaktır. Yapılandırılmış çıkarma ve kelime bölümlemesinden sonra, akış hesaplama motoru, kamuoyu olup olmadığını belirlemek için web sayfası duyarlılığını duyarlılık sözlüğüyle birlikte analiz edecektir.
3. Akış hesaplama motoru tarafından analiz edilen kamuoyu sonuçları Mysql veya Hbase veritabanında depolanır.Sonuç kümesinin aranmasını ve görüntülenmesini kolaylaştırmak için, verilerin, öznitelik alanlarının birleştirilmiş sorgusunu kolaylaştırmak için Elasticsearch gibi bir arama motoruyla senkronize edilmesi gerekir. Büyük bir kamuoyu zamanıysa, kamuoyu alarmını tetiklemek için Kafka kuyruğuna yazılması gerekir.
4. Yapılandırılmış verilerin tam miktarı, duygusal kelime dağarcığını güncellemek veya gerçek zamanlı hesaplamaların sonuçlarını düzeltmek için geçmiş verileri yeniden hesaplamak için yeni hesaplama stratejilerini kabul etmek için Spark sistemi aracılığıyla periyodik olarak çevrimdışı hesaplanacaktır.
Açık kaynak mimari analizi
Yukarıdaki kamuoyu büyük veri mimarisi, Lambda mimarisinde "toplu görünümü" ve "gerçek zamanlı görünümü" gerçekleştirmek için akış hesaplamasına bağlanmak için Kafka'yı ve toplu işleme bağlanmak için Hbase'i kullanır. Tüm mimari nispeten açıktır ve çevrimiçi ve çevrimdışı işlemleri tatmin edebilir. İki tür bilgi işlem gereksinimi. Ancak, bu sistemi üretime uygulamak, özellikle aşağıdaki nedenlerden dolayı kolay bir iş değildir:
Yeni büyük veri mimarisi Lambda plus
Önceki analiz sayesinde herkesin bir sorusu olacağına inanıyorum.Lambda'nın bilgi işlem gereksinimleriyle ilgili varsayımlarını yerine getirirken depolama hesaplamaları ve modüllerinin sayısını azaltan basitleştirilmiş bir büyük veri mimarisi var mı?
Linkedin Jay Kreps, Kappa mimarisini önerdi. Lambda ve Kappa arasındaki karşılaştırma için, makalenin sonundaki belgeye başvurabilirsiniz. Ayrıntılı karşılaştırmayı burada genişletmeyeceğiz. Basitçe ifade etmek gerekirse, iki depoyu basitleştirmek için Kappa, veri havuzlarının tamamını iptal etti. Bunları Kafka'da tutarak Daha uzun günlükler için, geriye dönük yeniden hesaplamaya ihtiyaç duyulduğunda, veriler sıranın başından tekrar abone olunur ve Kafka kuyruğunda depolanan tüm veriler tekrar bir akışta işlenir. Bu tasarımın avantajı, iki set depolama ve iki set hesaplama mantığını sürdürmenin acı noktalarını çözmesidir.Dezavantajı, kuyruğun tutabileceği geçmiş verilerin her şeyden önce sınırlı olması ve zaman sınırı olmadan geri adım atmanın zor olmasıdır.
Analizin bu noktasında, Kappa'nın Lambda için iyileştirme fikirlerini takip ediyor ve daha ileriye dönük düşünüyoruz: Verimli yazma ve rastgele sorgulama için sadece veritabanını değil, aynı zamanda kuyruk servisi gibi ilk giren ilk çıkaran tatmin eden bir depolama motoru varsa, evet Bir Lambda plus mimarisi yaratmak için Lambda ve Kappa mimarisini birleştirmek mümkün değil mi?
Yeni mimari, Lambda temelinde aşağıdaki noktaları iyileştirebilir:
Özetlemek gerekirse, yepyeni mimarinin özü, depolama sorununu çözmek ve bilgisayara esnek bir şekilde bağlanmaktır. Tüm çözümün aşağıdaki mimariye benzer olmasını umuyoruz:
Şekil 4 Lambda Plus mimarisi
Tüm mimaride, depolama katmanı, veritabanı ana tablo verilerini ve veritabanı günlüklerini birleştirerek büyük veri mimarisindeki kuyruk hizmetinin yerini alır Hesaplama sistemi, Flink veya Spark gibi grupları ve akışları doğal olarak destekleyen hesaplama motorlarını seçer. Bu şekilde, sadece Lambda gibi sınırsız geçmiş veri geri takibini değil, aynı zamanda iki tür bilgi işlem görevini depolamak ve işlemek için Kappa mimarisi gibi bir dizi mantık gerçekleştirebiliriz. Böyle bir mimari sete "Lambda plus" adını verdik ve Alibaba Cloud üzerinde böyle bir büyük veri mimarisi setinin nasıl oluşturulacağı aşağıdaki ayrıntılar.
Bulut kamuoyu sistemi mimarisi
Alibaba Cloud'un birçok depolama ve bilgi işlem ürünü arasında, yukarıda bahsedilen büyük veri mimarisinin gereksinimlerini karşılamak için, eksiksiz kamuoyu büyük veri sistemini gerçekleştirmek için iki ürün seçiyoruz. Depolama katmanı, Alibaba Cloud'un kendi geliştirdiği, dağıtılmış çok modelli veritabanı Tablestore'u kullanır ve bilgi işlem katmanı, entegre akış ve toplu hesaplamayı uygulamak için Blink'i kullanır.
Şekil 5 Bulut kamuoyu büyük veri mimarisi
Depolama düzeyinde, bu mimari tamamen Tablestore'a dayanmaktadır.Bir veritabanı, farklı depolama gereksinimlerini çözmektedir.Önceki kamuoyu sisteminin tanıtılmasına göre, web gezgini verilerinin sistem akışında dört aşama olacaktır: orijinal web içeriği, web yapılandırılmış verileri ve analiz kuralları. Meta veriler ve kamuoyu sonuçları, kamuoyu sonuçlarının endeksi.
Orijinal web sayfası ve web sayfası yapılandırılmış verilerini tek bir web sayfası verisinde birleştirmek için Tablestore'un geniş satır ve şemasız özelliklerini kullanıyoruz. Web sayfası veri tablosu ve bilgi işlem sistemi, Tablestore'un yeni işlev kanalı hizmeti aracılığıyla bağlanır. Kanal hizmeti veri tabanı günlüklerine dayanır ve verinin organizasyon yapısı verinin yazıldığı sıraya göre depolanır.Veri tabanının kuyruk akışı tüketim yeteneklerine sahip olmasını sağlayan bu özelliktir. Bu, depolama motorunun hem veritabanına rasgele erişime hem de yazma sırasına göre kuyruğa erişmesine olanak tanır; bu, aynı zamanda yukarıda bahsedilen Lambda ve kappa mimarisini entegre etme gereksinimini de karşılar. Analiz kuralı meta veri tablosu, gerçek zamanlı hesaplamadaki boyut tablosuna karşılık gelen analiz kuralı ve duygusal kelime grubu katmanından oluşur.
Bilgi işlem sistemi, Alibaba Cloud'un gerçek zamanlı akış hesaplama ürünü Blink'i kullanır. Blink, akış hesaplamayı ve toplu hesaplamayı destekleyen gerçek zamanlı bir bilgi işlem ürünüdür. Ve Tablestore'a benzer şekilde, dağıtılmış yatay genişlemeyi kolayca gerçekleştirebilir ve iş verileri büyüdükçe bilgi işlem kaynaklarının esnek bir şekilde genişlemesine olanak tanır. Tablestore + Blink kullanmanın avantajları aşağıdaki gibidir:
Tüm hesaplama süreci gerçek zamanlı kamuoyu hesaplama sonuçları üretecektir. Önemli kamuoyu olaylarının erken uyarısı, Tablestore'un yerleştirilmesi ve işlev hesaplama tetikleyicileri aracılığıyla gerçekleştirilir. Tablo deposu ve işlev hesaplamaları, artımlı verilerin sorunsuz bir şekilde bağlanmasını sağlar.Sonuç tablosuna olayları yazarak, işlev hesaplamaları aracılığıyla SMS veya e-posta bildirimlerini kolayca tetikleyebilirsiniz. Tam kamuoyu analizi sonuçları ve görüntülü arama, Tablestore'un açık kaynaklı Hbase + Solr çoklu motorunun sorunlu noktalarını tamamen çözen yeni çok işlevli dizinini kullanır:
Referanslar
Lambda büyük veri mimarisi:
https://mapr.com/tech-briefs/stream-processing-mapr/
Kappa büyük veri mimarisi:
https://www.oreilly.com/ideas/questioning-the-lambda-architecture
Lambda ve Kappa mimarisi karşılaştırması:
https://www.ericsson.com/en/blog/2015/11/data-processing-architectures--lambda-and-kappa