日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
NewSQL會(huì)是NoSQL的取代者嗎?

NewSQL概念幾乎是緊跟著NoSQL之后變得火熱的。Google Bigtable與AWS Dynamo奠定了NoSQL技術(shù)的根基,而Google Spanner&F1則***了NewSQL技術(shù)的發(fā)展。本文首先探討NoSQL與NewSQL的概念與范疇,隨后結(jié)合一些業(yè)界觀點(diǎn)以及兩者之間的優(yōu)缺點(diǎn)對(duì)比,來論述各自的適用場(chǎng)景以及未來的演變趨勢(shì)。

成都創(chuàng)新互聯(lián)公司是一家企業(yè)級(jí)云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營經(jīng)驗(yàn)。主營GPU顯卡服務(wù)器,站群服務(wù)器,雅安機(jī)房托管,海外高防服務(wù)器,大帶寬服務(wù)器,動(dòng)態(tài)撥號(hào)VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。

NoSQL

眾所周知,NoSQL已是一個(gè)很廣泛的概念?,F(xiàn)在被大家所廣泛認(rèn)知的NoSQL一詞,源自2009年在San Francisco舉辦的一次Meetup,該Meetup的描述信息如此闡述:

 
 This meetup is about “open source, distributed, non relational databases”.
 Have you run into limitations with traditional relational databases? Don’t mind trading a query language for scalability? Or perhaps you just like shiny new things to try out? Either way this meetup is for you.
  

傳統(tǒng)的RDBMS在Scalability能力上的受限,是促使NoSQL技術(shù)出現(xiàn)的一個(gè)關(guān)鍵因素。在這次Meetup的主題中,涉及到了Cassandra、HBase、MongoDB、CouchDB、HyperTable等開源技術(shù),而該Meetup描述信息中所提及的“open source, distributed, non relational databases”為NoSQL技術(shù)給出了精煉的描述。彼時(shí),SQL幾乎是RDBMS的代名詞,自然而言的,Non-SQL也成了Non-Relational的代名詞。

隨著近些年的快速發(fā)展,SQL已經(jīng)逐步被應(yīng)用在了更廣泛的領(lǐng)域,因此,SQL已不再是RDBMS的專屬特征,NoSQL技術(shù)體系中也引入了SQL能力,因此而演變出來的Not-Only-SQL的概念,雖有自圓其說之嫌,但的確給出了更合理的解讀。無論如何,“open source, distributed, non relational databases“關(guān)于大多數(shù)NoSQL技術(shù)邊界的定義,也依然是合理的,只是,“open source”是一個(gè)可選特征,而“distributed”以及“non relational”卻是典型NoSQL技術(shù)的基本特征。大多數(shù)NoSQL技術(shù),弱化了對(duì)ACID語義以及復(fù)雜關(guān)聯(lián)查詢的支持,采用了更加簡(jiǎn)潔或更加專業(yè)的數(shù)據(jù)模型,優(yōu)化了讀寫路徑,從而能夠換取更高的讀寫性能。

NewSQL

NewSQL可以說是傳統(tǒng)的RDBMS與NoSQL技術(shù)結(jié)合之下的產(chǎn)物,如下是Wiki中為NewSQL給出的定義:

  NewSQLis a class of modern relational database management systems that seek to provide 
 the same scalable performance of NoSQL systems for online transaction processing (OLTP) 
 read-write workloads while still maintaining the ACID guarantees of a traditional database system.

因此,可以將典型NewSQL技術(shù)理解成分布式關(guān)系型數(shù)據(jù)庫,能夠支持分布式事務(wù)是一個(gè)基本前提。NoSQL與NewSQL在技術(shù)棧上有很多重疊,但在是否支持關(guān)系型模型及對(duì)復(fù)雜事務(wù)的支持力度上是存在明顯區(qū)別的。某些地方也將NewSQL劃在Not-Only-SQL的范疇之內(nèi),即NewSQL技術(shù)也被納入到NoSQL概念體系中,該說法雖也合理,但使得NoSQL一詞過于泛化。

業(yè)界觀點(diǎn)

近期,Timescale DB的聯(lián)合創(chuàng)始人Ajay Kulkarni曾經(jīng)發(fā)表過如下一篇文章:

 “Why SQL is beating NoSQL, and what this means for the future of data”

文章標(biāo)題話題感十足,主要觀點(diǎn)總結(jié)如下:

  • 很多新興技術(shù)都已經(jīng)在擁抱SQL,如AWS Aurora, Google Spanner, Kafka也已經(jīng)支持了SQL接口等等。
  • 大多數(shù)NoSQL技術(shù)都定義了獨(dú)立的且不完善的查詢語言接口(DSL),盡管有些NoSQL技術(shù)提供了SQL-Like接口,但與標(biāo)準(zhǔn)SQL接口兼容性極差。
  • NewSQL的興起,而且開始積極擁抱標(biāo)準(zhǔn)SQL接口。Spanner是典型的例子,最初版本的Spanner的SQL語法的支持度是非常受限的,而最近幾年的時(shí)間里一直在不斷完善SQL語法的支持。
  • 在當(dāng)前時(shí)代,數(shù)據(jù)的價(jià)值越來越大,SQL依然是不同數(shù)據(jù)源之間的標(biāo)準(zhǔn)接口。而關(guān)于SQL語法的支持度,是未來數(shù)據(jù)分析工作的***瓶頸點(diǎn)。

關(guān)于這篇文章的這幾個(gè)主要觀點(diǎn),筆者是完全認(rèn)可的,但完全不認(rèn)可標(biāo)題中所給出的誤導(dǎo)性內(nèi)容,SQL的回歸并不意味著NoSQL技術(shù)將會(huì)被完全取代,正如下面一篇文章中關(guān)于Ajay Kulkarni觀點(diǎn)的評(píng)論:

“SQL is not beating NoSQL. NoSQL is evolving”

 
 The analysis was mostly agreeable, except for one major flaw. It is not SQL which is making a comeback, its NoSQL which is morphing into providing a familiar interface.

SQL的回歸,恰恰是NoSQL技術(shù)在不斷演進(jìn)的結(jié)果。

技術(shù)分類法

在探討一個(gè)分布式存儲(chǔ)技術(shù)時(shí),簡(jiǎn)單的將其歸類為NoSQL或者NewSQL是不合理的,像Bigtable/HBase/Dynamo是典型NoSQL技術(shù),而Spanner/CockroachDB以及國內(nèi)的TiDB,可以將其歸類為典型NewSQL技術(shù),但像Kudu,它本身的存儲(chǔ)引擎層是典型NoSQL技術(shù),而在此基礎(chǔ)上提供了完善的SQL能力以及復(fù)雜的事務(wù)支持,因此,它兼顧了NoSQL與NewSQL的很多特征,更像是集兩者于一身的技術(shù)。

因此,非NoSQL即NewSQL的簡(jiǎn)單二分法是不合理的,很多技術(shù)都在將兩者進(jìn)行不斷的融合,至于這個(gè)合理的平衡點(diǎn)在哪里,要取決于這個(gè)分布式存儲(chǔ)技術(shù)要解決的核心問題是什么。

當(dāng)我們談?wù)揘oSQL,更多的是在談?wù)撘环N分布式、非關(guān)系型數(shù)據(jù)存儲(chǔ)技術(shù),而談起NewSQL,更多可能是在討論一種分布式關(guān)系型數(shù)據(jù)庫技術(shù)。當(dāng)用NoSQL或者NewSQL來為一個(gè)技術(shù)進(jìn)行歸類時(shí),更多考慮的可能是該技術(shù)更像什么,例如,如果提供了標(biāo)準(zhǔn)SQL接口以及復(fù)雜事務(wù)能力,優(yōu)先使用NewSQL一詞來描述是更加貼切的,但該技術(shù)幕后的存儲(chǔ)引擎,也許是基于NoSQL技術(shù)實(shí)現(xiàn)的。

***的總結(jié)

在闡述了NoSQL與NewSQL的概念以及兩者的范疇之后,再回到本文標(biāo)題中所提出來的***,該***似乎成了一個(gè)偽***,因?yàn)閮烧咭捕荚诼葸M(jìn)/融合。所以,對(duì)該***存在疑惑的人,更多是針對(duì)如下***:

分布式關(guān)系型數(shù)據(jù)庫技術(shù)是否會(huì)取代分布式非關(guān)系型數(shù)據(jù)存儲(chǔ)技術(shù)?

分布式關(guān)系型數(shù)據(jù)庫技術(shù)在分布式事務(wù)以及關(guān)系型模型上的強(qiáng)化,導(dǎo)致在數(shù)據(jù)吞吐量/并發(fā)能力上的弱化。借助NuoDB官方提供的一個(gè)NuoDB與Spanner/Cockroach的benchmark對(duì)比結(jié)果(“Benchmarking Google Cloud Spanner, CockroachDB, and NuoDB”)來進(jìn)一步說明該觀點(diǎn):

NewSQL Benchmark

上圖中的Workload定義:

 A – Heavy update (50% read, 50% update)
 B – Mostly read (95% read, 5% update)
 C – Read-only (100% read)
 D – Read the latest inserted (90% read, 10% insert)
 E – Scan the latest inserted (90% read, 10% insert)
 F – Read-modify-write (50% read, 50% update)
 

可以看出,無論哪種Workload下,Spaner與CockroachDB的Throughput都是很低的。盡管NuoDB也可以歸類到 NewSQL的范疇中,但它也大量借鑒了NoSQL技術(shù),將事務(wù)機(jī)制與持久化機(jī)制分層處理以及更好的利用緩存技術(shù)是性能取得質(zhì)的提升的關(guān)鍵。上圖中部分Workload中,NuoDB的Throughput幾乎達(dá)到了主流 NoSQL技術(shù)的Throughtput水準(zhǔn),但還是可以看出,當(dāng)讀寫比例相當(dāng)或者寫多讀少的場(chǎng)景下,NuoDB的Throughput較之主流的NoSQL技術(shù)存在明顯的差距。

因此,分布式關(guān)系型數(shù)據(jù)庫技術(shù)與分布式非關(guān)系型數(shù)據(jù)存儲(chǔ)技術(shù)依然是針對(duì)不同的應(yīng)用場(chǎng)景的,前者主要還是針對(duì)傳統(tǒng)RDBMS的部分應(yīng)用場(chǎng)景,而分布式非關(guān)系型數(shù)據(jù)存儲(chǔ)技術(shù),則更適合高吞吐、高并發(fā)的新興應(yīng)用場(chǎng)景。隨著物聯(lián)網(wǎng)、車聯(lián)網(wǎng)的不斷普及,分布式非關(guān)系型數(shù)據(jù)存儲(chǔ)(NoSQL)技術(shù)也會(huì)帶來更大的價(jià)值。兩者還會(huì)走向進(jìn)一步的融合,也會(huì)看到更徹底的分離。


分享文章:NewSQL會(huì)是NoSQL的取代者嗎?
本文URL:http://m.5511xx.com/article/djoppsd.html