您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

03 開源和訂閱區別是什么(RabbitMQ與redis的區別是什么呢?)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-25 11:11:22【】0人已围观

简介維度表的設計是以能夠以合適的角度來聚合主題內容為準則維度建模的三種模式星形模型:以事實表為中心,所有的維度直接連接在事實表上。由一個事實表和一組維度表組成。雪花模型:是對星形模型的擴展。雪花模型的維度

維度表的設計是以能夠以合適的角度來聚合主題內容為準則

維度建模的三種模式

星形模型:以事實表為中心,所有的維度直接連接在事實表上。由一個事實表和一組維度表組成。

雪花模型:是對星形模型的擴展。雪花模型的維度表可以擁有更細的維度,比星形更規范一點。維護成本較高,且查詢是要關聯多層維表,性能較低

星座模型:基于多張事實表,多張事實表共享維度信息

維度建模步驟:

選擇業務過程

選擇粒度

選定事實表

選擇維度

事實表的類型?

事實表有:事務事實表、周期快照事實表、累積快照事實表、非事實事實表

事務事實表

事務事實表記錄的是事務層面的事實,保存的是最原子的數據,也稱“原子事實表”。事務事實表中的數據在事務事件發生后產生,數據的粒度通常是每個事務記錄一條記錄。

周期快照事實表

以具有規律性的、可預見的時間間隔來記錄事實。它統計的是間隔周期內的度量統計,每個時間段一條記錄,是在事務事實表之上建立的聚集表。

累積快照事實表

累積快照表記錄的不確定的周期的數據。代表的是完全覆蓋一個事務或產品的生命周期的時間跨度,通常具有多個日期字段,用來記錄整個生命周期中的關鍵時間點。

非事實型事實表

在維度建模的數據倉庫中,有一種事實表叫Factless Fact Table,中文一般翻譯為“非事實型事實表”。在事實表中,通常會保存十個左右的維度外鍵和多個度量事實,度量事實是事實表的關鍵所在。在非事實型事實表中沒有這些度量事實,只有多個維度外鍵。非事實型事實表通常用來跟蹤一些事件或者說明某些活動的范圍。下面舉例來進行說明。

事實表中通常要保留度量事實和多個維度外鍵,度量事實是事實表的關鍵所在。

非事實表中沒有這些度量事實,只有多個維度外鍵。非事實型事實表通常用來跟蹤一些事件或說明某些活動的范圍。

第一類非事實型事實表是用來跟蹤事件的事實表。例如:學生注冊事件。

第二類非事實型事實表是用來說明某些活動范圍的事實表。例如:促銷范圍事實表。

數倉架構為什么要分層?

分層可以清晰數據結構,使用時更好的定位和理解方便追蹤數據的血緣關系規范數據分層,可以開發一些通用的中間層數據,能夠減少極大的重復計算把復雜問題簡單化屏蔽原始數據的異常。不必改一次業務就重新接入數據

數據分層思想?

理論上數據分為:操作數據層、數據倉庫層、數據服務層。可根據需要添加新的層次,滿足不同的業務需求。

操作數據層ODS

Operate Data Store操作數據存儲。數據源中的數據經過ETL后裝入ODS層。

ODS層數據的來源一般有:業務數據庫、日志、抓取等。

數據倉庫層DW

根據ODS層中的數據按照主題建立各種數據模型。

DW通常有:DWD、DWB、DWS

DWD: data warehouse detail細節數據層,是業務層和數據倉庫的隔離層。

DWB: data warehouse base基礎數據層,存儲的是客觀數據,一般用作于中間層。

DWS: data warehouse service服務數據層,整合匯總分析某個主題域的服務數據。一般是大寬表。

數據服務層/應用層ADS

該層主要提供數據產品和數據分析使用的數據,一般會放在ES、Mysql系統中供線上系統使用

數倉架構進化

經典數倉架構:使用傳統工具來建設數倉

離線大數據架構:開始使用大數據工具來替代經典數倉中的傳統工具

Lambda架構:在離線大數據架構的基礎上,使用流處理技術直接完成實時性較高的指標計算

Kappa:實時處理變成了主要的部分,出現了以實時處理為核心的kappa架構

離線大數據架構

數據源通過離線的方式導入離線數倉中。下游應用根據業務需求選擇獲取數據的方式

Lambda架構

在離線數倉的基礎上增加了實時計算的鏈路,并對數據源進行流式改造,實時計算去訂閱消息隊列,并推送到下游的數據服務中去。

Lambda架構問題:同樣的需求需要開發兩套一樣的代碼;資源占用增多

Kappa架構

kappa架構可以認為是lambda架構的簡化版,移除了lambda架構中的批處理部分。

在kappa架構中,需求修改或者歷史數據重新處理都通過上游重放完成

kappa架構最大的問題是流式重新處理歷史數據的吞吐能力會低于批處理,但可以通過增加計算資源來彌補

總結

真實場景中,是lambda架構和kappa架構的混合。大部分實時指標通過kappa架構計算,少量關鍵指標用lambda架構批量計算

隨著數據多樣性的發展,數據庫這種提前規定schema的模式顯得力不從心。這時出現了數據湖技術,把原始數據全部緩存到某個大數據存儲上,后續分析時根據需求去解析原始數據。簡單來說,數據倉庫模式是schema on write,數據湖模式是schema on read

OLAP簡介

OLAP(On-line Analytical Processing),聯機分析處理,其主要的功能在于方便大規模數據分析及統計計算,對決策提供參考和支持。

特點:數據量大、高速響應、靈活交互、多維分析

OLAP分類

存儲類型分類

ROLAP(RelationalOLAP)

MOLAP(MultimensionalOLAP)

HOLAP(HybridOLAP)

處理類型分類

MPP架構

搜索引擎架構

預處理架構

開源OLAP解決方案

Persto、SparkSQL、Impala等MPP架構和ROLAP的引擎Druid和Kylin等預處理架構和MOLAP的引擎ES這種搜索引擎架構ClickHouse及IndexR這種列式數據庫

OLAP引擎

Presto

Facebook開發的分布式大數據SQL查詢引擎,專門進行快速數據分析

特點

可以將多個數據源的數據進行合并,可以跨越整個組織進行分析直接從HDFS讀取數據,在使用前不需要大量的ETL操作

查詢原理

完全基于內存的并行計算

流水線

本地化計算

動態編譯執行計劃

小心使用內存和數據結構

類BlinkDB的近似查詢

GC控制

Druid

Druid是一個用于實時查詢和分析的分布式實時處理系統,主要用于廣告分析,互聯網廣告監控、度量和網絡監控

特點

快速的交互式查詢——Druid的低延遲數據攝取架構允許事件在它們創建后毫秒內可被查詢到。高可用性——Druid的數據在系統更新時依然可用,規模的擴大和縮小都不會造成數據丟失;可擴展——Druid已實現每天能夠處理數十億事件和TB級數據。為分析而設計——Druid是為OLAP工作流的探索性分析而構建,它支持各種過濾、聚合和查詢

應用場景

需要實時查詢分析具有大量數據時,如每天數億事件的新增、每天數10T數據的增加;需要一個高可用、高容錯、高性能數據庫時。需要交互式聚合和快速探究大量數據時

Kylin

Kylin是提供與Hadoop之上的SQL查詢接口及多維分析能力以支持超大規模數據

在哪家證券公司開戶比較好?

平安證券股份有限公司是中國平安綜合金融服務集團旗下的重要成員,前身為1991年8月創立的平安保險證券業務部,憑借平安集團雄厚的資金、品牌和客戶優勢,秉承"穩中思變,務實創新"的經營理念,公司建立了非常完善的合規和風險控制體系,各項業務均保持著強勁的增長態勢,歷經十九年穩健經營,公司已成長為國內主流券商之一。關于證券開戶問題您可以聯系平安證券電話:95511-8買粉絲。

應答時間:2021-11-25,最新業務變化請以平安銀行官網公布為準。

RabbitMQ與redis的區別是什么呢?

首先說RabbitMQ,RabbitMQ是使用Erlang編寫的一個開源的消息隊列,本身支持很多的協議:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量級,更適合于企業級的開發。同時實現了Broker構架,這意味著消息在發送給客戶端時先在中心隊列排隊。對路由,負載均衡或者數據持久化都有很好的支持。

其次是Redis,Redis是一個基于Key-Value對的NoSQL數據庫,開發維護很活躍。雖然它是一個Key-Value數據庫存儲系統,但它本身支持MQ功能,所以完全可以當做一個輕量級的隊列服務來使用。對于RabbitMQ和Redis的入隊和出隊操作,各執行100萬次,每10萬次記錄一次執行時間。測試數據分為128Bytes、512Bytes、1K和10K四個不同大小的數據。實驗表明:入隊時,當數據比較小時Redis的性能要高于RabbitMQ,而如果數據大小超過了10K,Redis則慢的無法忍受;出隊時,無論數據大小,Redis都表現出非常好的性能,而RabbitMQ的出隊性能則遠低于Redis。

3.3ZeroMQ

ZeroMQ號稱最快的消息隊列系統,尤其針對大吞吐量的需求場景。ZeroMQ能夠實現RabbitMQ不擅長的高級/復雜的隊列,但是開發人員需要自己組合多種技術框架,技術上的復雜度是對這MQ能夠應用成功的挑戰。ZeroMQ具有一個獨特的非中間件的模式,你不需要安裝和運行一個消息服務器或中間件,因為你的應用程序將扮演這個服務器角色。你只需要簡單的引用ZeroMQ程序庫,可以使用NuGet安裝,然后你就可以愉快的在應用程序之間發送消息了。但是ZeroMQ僅提供非持久性的隊列,也就是說如果宕機,數據將會丟失。其中,Twitter的Storm 0.9.0以前的版本中默認使用ZeroMQ作為數據流的傳輸(Storm從0.9版本開始同時支持ZeroMQ和Netty作為傳輸模塊)。

3.4ActiveMQ

ActiveMQ是Apache下的一個子項目。 類似于ZeroMQ,它能夠以代理人和點對點的技術實現隊列。同時類似于RabbitMQ,它少量代碼就可以高效地實現高級應用場景。

3.5Kafka/Jafka

Kafka是Apache下的一個子項目,是一個高性能跨語言分布式發布/訂閱消息隊列系統,而Jafka是在Kafka之上孵化而來的,即Kafka的一個升級版。具有以下特性:快速持久化,可以在O(1)的系統開銷下進行消息持久化;高吞吐,在一臺普通的服務器上既可以達到10W/s的吞吐速率;完全的分布式系統,Broker、Procer、Consumer都原生自動支持分布式,自動實現負載均衡;支持Hadoop數據并行加載

很赞哦!(829)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:江苏泰州泰兴市

工作室:小组

Email:[email protected]