欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL和HBase的使用對(duì)比

 更新時(shí)間:2024年12月25日 09:59:37   作者:lucky_syq  
MySQL和HBase是兩種不同的數(shù)據(jù)庫(kù),MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),支持事務(wù),而HBase是一個(gè)NoSQL數(shù)據(jù)庫(kù),支持海量數(shù)據(jù)的讀寫,MySQL適用于OLTP業(yè)務(wù),而HBase適用于OLAP業(yè)務(wù)

MySQL和HBase的對(duì)比

  • Mysql:關(guān)系型數(shù)據(jù)庫(kù),主要面向 OLTP ,支持事務(wù),支持二級(jí)索引,支持 sql ,支持主從、 Group Replication 架構(gòu)模型(此處以 Innodb 為例,不涉及別的存儲(chǔ)引擎)。
  • HBase:底層使用 HDFS (存儲(chǔ)計(jì)算分離),支持海量數(shù)據(jù)讀寫(尤其是寫),支持上億行、上百萬(wàn)列的,面向列的分布式NoSql 數(shù)據(jù)庫(kù)。天然分布式(數(shù)據(jù)分片、故障自恢復(fù) ) ,主從架構(gòu),不支持事務(wù),不支持二級(jí)索引,不支持sql 。

1、數(shù)據(jù)存儲(chǔ)方式

1)MySQL

MySQL采用行存儲(chǔ),MySQL行存儲(chǔ)的方式比較適合OLTP業(yè)務(wù)。

MySQL優(yōu)點(diǎn):

  • 體積小、速度快、總體擁有成本低,開(kāi)源;
  • 支持多種操作系統(tǒng);
  • 是開(kāi)源數(shù)據(jù)庫(kù),提供的接口支持多種語(yǔ)言連接操作 ;
  • MySQL 的核心程序采用完全的多線程編程。線程是輕量級(jí)的進(jìn)程,它可以靈活地為用戶提供服務(wù),而不過(guò)多的系統(tǒng)資源。用多線程和C 語(yǔ)言實(shí)現(xiàn)的 mysql 能很容易充分利用 CPU ;
  • MySql 有一個(gè)非常靈活而且安全的權(quán)限和口令系統(tǒng)。當(dāng)客戶與 MySql 服務(wù)器連接時(shí),他們之間所有的口令傳送被加密,而且 MySql 支持主機(jī)認(rèn)證;
  • 支持 ODBC for Windows , 支持所有的 ODBC 2.5 函數(shù)和其他許多函數(shù), 可以用 Access 連接 MySql 服務(wù)器, 使得應(yīng)用被擴(kuò)展;
  • 支持大型的數(shù)據(jù)庫(kù), 可以方便地支持上千萬(wàn)條記錄的數(shù)據(jù)庫(kù)。作為一個(gè)開(kāi)放源代碼的數(shù)據(jù)庫(kù),可以針對(duì)不同的應(yīng)用進(jìn)行相應(yīng)的修改;
  • 擁有一個(gè)非??焖俣曳€(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用面不必?fù)?dān)心其穩(wěn)定性;
  • MySQL 同時(shí)提供高度多樣性,能夠提供很多不同的使用者介面,包括命令行客戶端操作,網(wǎng)頁(yè)瀏覽器,以及各式各樣的程序語(yǔ)言介面,例如C+ , Perl , Java , PHP ,以及 Python 。你可以使用事先包裝好的客戶端,或者干脆自己寫一個(gè)合適的應(yīng)用程序。MySQL 可用于 Unix , Windows ,以及 OS/2 等平臺(tái),因此它可以用在個(gè)人電腦或者是服務(wù)器上。

MySQL缺點(diǎn):

  • 不支持熱備份;
  • MySQL 最大的缺點(diǎn)是其安全系統(tǒng),主要是復(fù)雜而非標(biāo)準(zhǔn),另外只有到調(diào)用 mysqladmin 來(lái)重讀用戶權(quán)限時(shí)才發(fā)生改變;
  • 沒(méi)有一種存儲(chǔ)過(guò)程 (Stored Procedure) 語(yǔ)言,這是對(duì)習(xí)慣于企業(yè)級(jí)數(shù)據(jù)庫(kù)的程序員的最大限制;
  • MySQL 的價(jià)格隨平臺(tái)和安裝方式變化。 Linux 的 MySQL 如果由用戶自己或系統(tǒng)管理員而不是第三方 安裝則是免費(fèi)的,第三方案則必須付許可費(fèi)。 Unix 或 linux 自行安裝 免費(fèi) 、 Unix 或 Linux 第三方安裝收費(fèi)。

2)HBase

HBase是面向列的 NoSql 數(shù)據(jù)庫(kù),列存儲(chǔ)的方式比較適合 OLAP 業(yè)務(wù),而 HBase 采用了列族的方式平衡了OLTP和 OLAP ,支持水平擴(kuò)展,如果數(shù)據(jù)量比較大、對(duì)性能要求沒(méi)有那么高、并且對(duì)事務(wù)沒(méi)有要求的話,HBase 也是個(gè)不錯(cuò)的選擇。

HBase優(yōu)點(diǎn):

  • 列的可以動(dòng)態(tài)增加,并且列為空就不存儲(chǔ)數(shù)據(jù),節(jié)省存儲(chǔ)空間
  • HBase自動(dòng)切分?jǐn)?shù)據(jù),使得數(shù)據(jù)存儲(chǔ)自動(dòng)具有水平 scalability
  • HBase可以提供高并發(fā)讀寫操作的支持

HBase缺點(diǎn):

  • 不能支持條件查詢,只支持按照 Row key 來(lái)查詢
  • 暫時(shí)不能支持 Master server 的故障切換,當(dāng) Master 宕機(jī)后,整個(gè)存儲(chǔ)系統(tǒng)就會(huì)掛掉( HBase 雖然本身不能故障切換,但是可以配合ZooKeeper 來(lái)實(shí)現(xiàn) HMaster 主備節(jié)點(diǎn)的 failover )

2、適用場(chǎng)景

3、關(guān)系型數(shù)據(jù)庫(kù)

優(yōu)點(diǎn):

  • 數(shù)據(jù)之間有關(guān)系,進(jìn)行數(shù)據(jù)的增刪改查的時(shí)候是非常方便的;
  • 關(guān)系型數(shù)據(jù)庫(kù)是有事務(wù)操作的,保證數(shù)據(jù)的完整性和一致性

缺點(diǎn):

  • 因?yàn)閿?shù)據(jù)和數(shù)據(jù)是有關(guān)系的,底層是運(yùn)行了大量的算法,大量算法會(huì)降低系統(tǒng)的效率,會(huì)降低性能
  • 面對(duì)海量數(shù)據(jù)的增刪改查的時(shí)候會(huì)顯的無(wú)能為力
  • 海量數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行維護(hù)變得非常的無(wú)力
  • 因此,關(guān)系型數(shù)據(jù)庫(kù)適合處理一般量級(jí)的數(shù)據(jù)

4、非關(guān)系型數(shù)據(jù)庫(kù)

為了處理海量數(shù)據(jù),非關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)之初就是為了替代關(guān)系型數(shù)據(jù)庫(kù)的關(guān)系

優(yōu)點(diǎn):

  • 海量數(shù)據(jù)的增刪改查是可以的
  • 海量數(shù)據(jù)的維護(hù)和處理非常輕松

缺點(diǎn):

  • 數(shù)據(jù)和數(shù)據(jù)沒(méi)有關(guān)系,他們之間就是單獨(dú)存在的
  • 非關(guān)系數(shù)據(jù)庫(kù)沒(méi)有關(guān)系,沒(méi)有強(qiáng)大的事務(wù)關(guān)系,沒(méi)有保證數(shù)據(jù)的完整性和安全性

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論