- 在數(shù)據(jù)庫不斷發(fā)展的今天,尤其是大數(shù)據(jù)技術(shù)的發(fā)展,不斷的涌現(xiàn)出各種海量數(shù)據(jù)存儲及分析的數(shù)據(jù)庫及相關(guān)工具令人演化繚亂,有的基于Hadoop構(gòu)建,有的基于分布式理論自行構(gòu)建,但是這些工具和數(shù)據(jù)庫之間究竟有什么區(qū)別,都使用于什么場景,在查詢了相關(guān)材料之后我進行了一個簡單的總結(jié),以備后用。僅供參考。
- 1、Hive(基于Hadoop數(shù)據(jù)倉庫工具)
- Hive是一種類Sql的引擎,并且運行MapReduce的任務(wù)。是將類似SQL的語句轉(zhuǎn)換成MapReduce的任務(wù)進行執(zhí)行;
- Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張表,并提供類似SQL查詢的功能;
- Hive是一個基于hadoop的數(shù)據(jù)分析工具,證明Hive沒有數(shù)據(jù)存儲的能力,只有使用數(shù)據(jù)的能力;將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,結(jié)構(gòu)化是Hive對存儲在HDFS上的的數(shù)據(jù)的一個要求,其他文件是不能映射為Hive表的,而它提供的是類SQL的查詢功能,不提供增刪改的功能;所以HQL及Hive Query Language;Hive是現(xiàn)有數(shù)據(jù),再定義表結(jié)構(gòu),將表結(jié)構(gòu)同結(jié)構(gòu)化數(shù)據(jù)文件進行映射;
- Hive基于MapReduce計算模型,數(shù)據(jù)計算效率低,不適合在線的實時性要求較高的應(yīng)用,適合非實時的離線計算;Hive默認是基于MapReduce計算模型,也可以切換為Spark計算效率較高的計算模型;
- Hive的出現(xiàn)本身是為了簡化MapReduce數(shù)據(jù)處理程序的開發(fā),Hive提供類HQL(類SQL)語句,使得原來熟悉數(shù)據(jù)庫SQL開發(fā)人員可以很容易上手使用HQL開發(fā)大規(guī)模數(shù)據(jù)量的處理程序。Hive引擎最終會將HQL轉(zhuǎn)換為MapReduce的程序在Hadoop存儲的數(shù)據(jù)上進行執(zhí)行。
- 2、Hbase(NoSql數(shù)據(jù)庫)
- Hbase是基于hadoop存儲的KV型的列式數(shù)據(jù)庫;
- Hbase不支持標準的SQL訪問,只能通過API的方式,由應(yīng)用程序集成API SDK進行訪問,可以建表,針對表做數(shù)據(jù)的增、刪、改、查;
- Hbase不支持數(shù)據(jù)表之間的外鍵約束及連接查詢,如需要多表連接關(guān)聯(lián)查詢,Hbase可以搭建好之后,定義寬表,將OLTP應(yīng)用中的數(shù)據(jù)記錄進行拼接整合在一起,然后對前提供快速的查詢、聚合分析服務(wù)。
- Hbase可以存儲百億行的數(shù)據(jù),適合高并發(fā)的大流量的數(shù)據(jù)寫入,由于是列式存儲,對于OLAP通過某一些列的統(tǒng)計計算支持有很好的支持,支持實時的數(shù)據(jù)統(tǒng)計分析場景。
- 3、TiDB(NewSql數(shù)據(jù)庫 HTAP數(shù)據(jù)庫、關(guān)系型數(shù)據(jù)庫)
- TiDB是一個NewSql分布式,也就是同時支持OLTP和OLAP混合型數(shù)據(jù)庫;
- TiDB采用了計算、存儲分離的分布式架構(gòu),計算和存儲可以按需獨立橫向擴展;
- 數(shù)據(jù)存儲方面,TiDB采用了多副本的數(shù)據(jù)存儲架構(gòu),保證了數(shù)據(jù)的高可用性,即一部分數(shù)據(jù)節(jié)點副本出現(xiàn)問題,也不會影響整體數(shù)據(jù)庫集群對外提供服務(wù);
- TiDB提供了TiKV 行存儲引擎和TiFlash 列存儲引擎,兩個存儲引擎; TiFlash使用 Muti-Raft Learner協(xié)議實時從TiKV復(fù)制數(shù)據(jù),確保兩個引擎之間的數(shù)據(jù)一致性;TiKV和TiFlash可以按需部署在不同的機器,解決HTAP資源隔離的問題;
- TiDB兼容MySQL 5.7協(xié)議及Mysql生態(tài),可以使用JDBC的方式直接訪問,但是暫不支持觸發(fā)器、存儲過程、自定義函數(shù)等功能;
- TiDB核心應(yīng)用場景:對數(shù)據(jù)一致性、高可靠、高可用、可擴展、容災(zāi)要求較高的金融行業(yè)屬性場景(具體上生產(chǎn)使用還需要進行嚴厲性能的POC測試);對存儲容量、并發(fā)性、可擴展性要求較高的海量數(shù)據(jù)及高并發(fā)的OLTP應(yīng)用;Real-Time的HTAP場景,Tidb在4.0版本引入了TiFlash列存儲引擎結(jié)合TiKV行存儲引擎構(gòu)件真正的HTAP混合場景數(shù)據(jù)庫,在增加少量存儲成本的情況下,可以在同一個系統(tǒng)中做聯(lián)機交易處理、實時數(shù)據(jù)分析;還有就是適合做數(shù)據(jù)匯聚、二次加工的場景;
- 4、Gbase8a(關(guān)系型數(shù)據(jù)庫、MPP數(shù)據(jù)庫)
- MPP Massively Parallel Processing 大規(guī)模并行處理,是一種計算處理模型,是從系統(tǒng)架構(gòu)角度服務(wù)器分類的方法,是將任務(wù)并行的分散到多個服務(wù)器節(jié)點上,在每個節(jié)點上計算完成后,將各自部分的結(jié)果匯總到一起得到最終的結(jié)果。跟Hadoop計算模型類似)
- 專門支持海量數(shù)據(jù)的存儲、關(guān)聯(lián)查詢、即席分析等能力,主要支持結(jié)構(gòu)化的數(shù)據(jù)SQL查詢;
- 適用場景主要是報表統(tǒng)計分析,運維數(shù)據(jù)統(tǒng)計,快速生成報表統(tǒng)計等場景;不需要頻繁更新數(shù)據(jù),不需要頻繁重復(fù)離線計算,不需要并發(fā)大;
文章來源地址http://www.zghlxwxcb.cn/news/detail-472059.html
文章來源:http://www.zghlxwxcb.cn/news/detail-472059.html
到了這里,關(guān)于Hive、Hbase、TiDB、Gbase的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!