您好,登錄后才能下訂單哦!
這篇文章主要講解了“Redis、關系數(shù)據(jù)庫、HBase、Hive有什么區(qū)別”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Redis、關系數(shù)據(jù)庫、HBase、Hive有什么區(qū)別”吧!
Redis、關系數(shù)據(jù)庫、HBase、Hive的區(qū)別是什么?在大數(shù)據(jù)相關行業(yè)的面試中,程序員經常會被問到:Redis、傳統(tǒng)數(shù)據(jù)庫、HBase以及Hive的區(qū)別,作為一個程序員你了解嗎?這個問題考核的是不同數(shù)據(jù)存儲技術的理解和應用,概念和特性都需要回答。同時可以延伸到業(yè)務場景,考察面試者在項目實戰(zhàn)中不同服務如何區(qū)分配合使用。我們先來看看概念及定義~
Redis概念:分布式緩存,基于內存,強調緩存,支持數(shù)據(jù)持久化,支持事務操作,NoSQL 類型的Key/vale數(shù)據(jù)庫,同時支持List、Set等更豐富的類型。
HBase概念:HBase是建立在HDFS之上,提供高可靠性的列存儲,實時讀寫的數(shù)據(jù)庫系統(tǒng)。它介于Nosql和關系型數(shù)據(jù)庫之間,僅通過主鍵和主鍵的range來檢索數(shù)據(jù),僅支持單行事務。主要用來存儲非結構化和半結構化的松散數(shù)據(jù)。
關系數(shù)據(jù)庫概念:有mysql、Oracle、SqlServer等,支持事務性操作,屬于寫模式,即寫入數(shù)據(jù)時進行檢查。它是針對具體業(yè)務在數(shù)據(jù)庫聯(lián)機的日常操作,通常對少數(shù)記錄進行查詢、修改。支持完善的sql功能,可以對少量數(shù)據(jù)進行統(tǒng)計分析。
Hive概念:Hive是基于Hadoop的數(shù)據(jù)倉庫工具,可以將結構化數(shù)據(jù)文件映射為數(shù)據(jù)庫表。并提供簡單的sql功能,可以將sql轉化為mr任務運行。因為sql學習成本低,不必專門開發(fā)mr應用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。
Redis、關系數(shù)據(jù)庫、HBase、Hive的區(qū)別:
這里分為兩大類:關系型數(shù)據(jù)和Hive都是支持SQL引擎的數(shù)據(jù)庫;Redis和Hbase都是NoSQL 類型的Key/vale數(shù)據(jù)庫,支持簡單的行列操作,不支持SQL引擎。
SQL類數(shù)據(jù)庫中,關系型數(shù)據(jù)庫更側重于事務性操作,屬于寫模式,支持的數(shù)據(jù)量較小,支持索引延遲低;而Hive更側重于查詢分析操作,屬于讀模式,不支持索引延遲高,支持的數(shù)據(jù)量大,為數(shù)據(jù)倉庫而設計。
K/V數(shù)據(jù)庫中,Redis的讀寫性能更高,通常是幾十微秒,而Hbase是幾毫秒;Redis不僅支持K/V操作,也支持List、Set等更豐富的類型;Redis因為存儲在內存中所以數(shù)據(jù)量較小,而Hbase的存儲遠遠超出內存的大小。HBase適合做大數(shù)據(jù)的持久存儲,而Redis比較適合做緩存。
類似的存儲服務特別多,除此之外還有es和solr等等。需要先答出兩種存儲服務的概念,再根據(jù)核心功能,特性的不同答出兩者區(qū)別。
結合項目中的使用,在哪種場景下使用哪種技術。傳統(tǒng)數(shù)據(jù)庫用來進行實時業(yè)務的事務處理,Redis用來做性能要求很高的實時緩存,Hive用來進行離線統(tǒng)計查詢,HBase可以用來做歷史數(shù)據(jù)的固化和快速查詢,還可以配合使用。
感謝各位的閱讀,以上就是“Redis、關系數(shù)據(jù)庫、HBase、Hive有什么區(qū)別”的內容了,經過本文的學習后,相信大家對Redis、關系數(shù)據(jù)庫、HBase、Hive有什么區(qū)別這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。