幾款常用Database的性能對(duì)比
?建模三件套,database,algorithm,training data。
這個(gè)科普文章,讓我們來對(duì)比一下市面上常見的DB的性能以及其特殊的工作方式。
市面上常見的有很多,但其中大廠用得比較多的主要還是這幾個(gè):mysql、oracle、MongoDB還有HBase。
MySQL
我們一個(gè)一個(gè)來看,首先是MySQL,免費(fèi)的開源資源,用的也是最多的。不僅性能強(qiáng)大,擴(kuò)展了SQL語言的實(shí)際應(yīng)用,而且非常簡(jiǎn)潔,同時(shí)又是開源資源,不需要前期軟件資源上的投資,通常中小企業(yè)都可以使用的。
由于是C和C++編寫的,所以對(duì)于操作系統(tǒng)的應(yīng)用也是非常廣泛,Windows,MAC還有Linux都是可以適應(yīng)的。
而且作為一個(gè)關(guān)系型數(shù)據(jù)庫,通過關(guān)系模型構(gòu)建的數(shù)據(jù)庫,這種數(shù)據(jù)庫靈活性高,而且速度快,還支持多線程,所以可以充分利用CPU資源,效率是杠杠滴。
它的特點(diǎn)是既可以作為一個(gè)應(yīng)用程序嵌入到網(wǎng)絡(luò)環(huán)境中,也可以作為一個(gè)庫夾在語言中。這也是展示了他的靈活性。
但是問題存在于它只能局限于一種操作系統(tǒng),比如處理分布式系統(tǒng)的問題時(shí),sql server只能處理windows下的終端,而我們下面講的Oracle在這一點(diǎn)上可以處理多個(gè)操作系統(tǒng)的分布式問題,也算是美中不足的一點(diǎn)吧~
Oracle
接下來我們來看Oracle,相較于同為關(guān)系型數(shù)據(jù)庫卻免費(fèi)的MySQL,Oracle擁有出色的是他的開放性,應(yīng)該說是同等條件下最好的開放性DB平臺(tái)了。
給予他可以提供高吞吐量,所以大中小微型產(chǎn)業(yè)都可以使用他。
就受眾群體來說,還是很廣泛的,再加上對(duì)于分布式系統(tǒng)的完美契合,可以說靈活指數(shù)是幾款DB里最高的。
MongoDB
下一個(gè)是MongoDB。
這個(gè)database也是基于分布式系統(tǒng)的,應(yīng)用的語言很廣泛,主要有Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++語言的驅(qū)動(dòng)程序。和上面兩款不同的是,MongoDB不是一款關(guān)系型數(shù)據(jù)庫,而是基于文檔類型的數(shù)據(jù)庫。
這就帶來了一個(gè)問題,就是他只適合處理單一文檔的數(shù)據(jù),而不是中和多方面的。
總的來說MongoDB可以處理的,MySQL基本上也可以解決。
HBase
最后讓我們來一起看HBase。
Hbase在海量存儲(chǔ)方面做到了爐火純青,在PB層面上也可以采用廉價(jià)的PC存儲(chǔ)。極易擴(kuò)展也是它的特點(diǎn)之一,而且具有比MySQL更好的高并發(fā)性能,是一個(gè)真正意義上的分布式數(shù)據(jù)庫系統(tǒng)。
可以說得上是解決高并發(fā)問題的選項(xiàng)之一,在面臨分布式系統(tǒng)的架構(gòu)中占有一席之地。
以上就是四種常見數(shù)據(jù)庫的特點(diǎn)分析,希望可以讓你了解一點(diǎn)常見數(shù)據(jù)庫的優(yōu)劣與不同。?