在當今社會各行各業都離不開大數據了,可想而知大數據的重要性。但是對我們來講大數據這個詞只是簡單的一個商業用語,和商業智能一樣我們無法具象的描述它,科學定義大數據其實是指無法在一定時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合,大數據的四大元素有Redis、傳統數據庫、HBase、Hive。現實中,我們在大數據相關行業的面試中也經常會被問到這個問題,今天我們來簡單了解一下大數據的四大元素和區別。
大數據的四大元素Redis、傳統數據庫、HBase、Hive的區別。
1、Redis:分布式緩存以內存為基礎,強調緩存,支持數據持久化、事務操作、NoSQL型鍵/值數據庫,支持列表、集合等更豐富的類型。
2、HBase:HBase是基于HDFS的數據庫系統,提供高可靠性的列存儲和實時讀寫。它介于Nosql和關系數據庫之間,只通過主鍵和主鍵的范圍來檢索數據,只支持單行事務。主要用于存儲非結構化和半結構化的松散數據。
3、關系數據庫:有mysql,Oracle,SqlServer等等。支持事務操作,屬于寫模式,即寫數據時檢查。是數據庫對于具體業務的日常在線操作,通常涉及到幾條記錄的查詢和修改。支持完善的sql函數,可以對少量數據進行統計分析。
4、Hive:Hive是基于Hadoop的數據倉庫工具,可以將結構化數據文件映射到數據庫表。并提供一個簡單的sql函數,可以將sql轉換成mr任務運行。由于sql學習成本低,沒有必要開發非常適合數據倉庫統計分析的mr應用程序。
大數據的四大元素區別可以分為兩類:關系數據和Hive是支持SQL引擎的數據庫;Redis和Hbase是NoSQL類型的Key/vale數據庫,支持簡單的行和列操作,但不支持SQL引擎。在SQL數據庫中,關系數據庫更側重于事務操作,屬于寫模式,支持的數據少,索引延遲低;而Hive更側重于查詢分析操作,屬于讀取模式,不支持高索引延遲,支持大量數據,所以是為數據倉庫設計的。K/V數據庫中,Redis讀寫性能較高,一般幾十微秒,而Hbase是幾毫秒;Redis不僅支持K/V操作,還支持List、Set等更豐富的類型;Redis存儲在內存中,所以數據量小,Hbase的存儲遠遠超過內存的大小。HBase適合大數據的持久存儲,Redis更適合緩存。
當然除了es和solr,還有很多類似的存儲服務。需要先回答兩種存儲服務的概念,然后根據不同的核心功能和特點回答兩者的區別。組合在項目中的運用在哪種場景下,使用哪種技術。傳統數據庫用于實時業務事務處理,Redis用于高性能要求的實時緩存,Hive可用于離線統計查詢,HBase可用于歷史數據固化和快速查詢,當然也可以一起用。
綜上所述,大家了解了大數據的四大元素的區別,如果您想了解更多關于大數據的的相關信息,請您繼續關注中培偉業。