一、MPP數(shù)據(jù)庫(kù)和New SQL的區(qū)別
NewSQL一般指OLTP型的關(guān)系型分布式數(shù)據(jù)庫(kù)(側(cè)重于高并發(fā)小事務(wù),保證分布式ACID),而MPP一般是OLAP型的關(guān)系型數(shù)據(jù)庫(kù)(側(cè)重于數(shù)據(jù)聚類分析,用于數(shù)據(jù)倉(cāng)庫(kù),做BI、統(tǒng)計(jì)分析、圖形化展示、智能分析等)。
MPP 模式的數(shù)據(jù)倉(cāng)庫(kù)通常主要針對(duì) OLAP 業(yè)務(wù),NewSQL 則一般認(rèn)為是針對(duì) OLTP 或 OLTP + OLAP 全面解決方案。可以簡(jiǎn)單理解為一個(gè)主要面向存儲(chǔ)和分析,一個(gè)主要面向在線交易處理。主要是設(shè)計(jì)適用的場(chǎng)景不太一樣,Teradata是關(guān)系型數(shù)據(jù)庫(kù),設(shè)計(jì)主要是遵循三范式 SQL on Hadoop主要是解決hadoop流行以后輸出儲(chǔ)存和查詢的問(wèn)題,本質(zhì)是都是存儲(chǔ)數(shù)據(jù)。
延伸閱讀:
二、并發(fā)鎖
在一定條件下,MyISAM也支持查詢和操作的并發(fā)進(jìn)行。
MyISAM存儲(chǔ)引擎有一個(gè)系統(tǒng)變量concurrent_insert,專門用以控制其并發(fā)插入的行為,其值分別可以為0、1或2。
當(dāng)concurrent_insert設(shè)置為0時(shí),不允許并發(fā)插入。
當(dāng)concurrent_insert設(shè)置為1時(shí),如果MyISAM允許在一個(gè)讀表的同時(shí),另一個(gè)進(jìn)程從表尾插入記錄。這也是MySQL的默認(rèn)設(shè)置。
當(dāng)concurrent_insert設(shè)置為2時(shí),無(wú)論MyISAM表中有沒有空洞,都允許在表尾插入記錄,都允許在表尾并發(fā)插入記錄。
可以利用MyISAM存儲(chǔ)引擎的并發(fā)插入特性,來(lái)解決應(yīng)用中對(duì)同一表查詢和插入鎖爭(zhēng)用。例如,將concurrent_insert系統(tǒng)變量為2,總是允許并發(fā)插入;同時(shí),通過(guò)定期在系統(tǒng)空閑時(shí)段執(zhí)行OPTIONMIZE TABLE語(yǔ)句來(lái)整理空間碎片,收到因刪除記錄而產(chǎn)生的中間空洞。