

隨著移動互聯網和物聯網的發展,基于大數據的應用已經非常普遍。傳統的關系數據庫在進行大數據處理時越來越感到力不從心,大數據處理要求數據存儲系統有足夠的擴展性,且能夠支持高效的即時查詢。
NoSQL能夠支持分布式事務數據庫是解決大數據領域問題的一個解決方案,NoSQL數據庫可以實現水平擴展以及靈活的數據結構,結合計算引擎框架可以實現復雜的計算,但不支持分布式事務。NewSQL技術的出現,正好彌補了這一不足,既有很好的擴展能力,又能支持分布式事務。
NoSql數據庫


常見NoSql數據庫
我們通常理解的NoSQL數據庫概念源自2009年在San Francisco舉行的一次關于分布式開源數據庫的討論。NoSQL主要指非關系型、分布式、不提供ACID的數據庫設計模式。
當時SQL技術幾乎等同于關系數據庫系統(RDBMS),NoSQL則意味著非關系型(non-rational)。隨著NoSQL數據庫的發展,也加入了SQL能力,NoSQL不再是“Not SQL”,而是“Not only SQL”。
NoSQL涉及到的常用數據庫包括Cassandra、HBase、MongoDB、CouchDB、ClickHouse等。大多數NoSQL技術,弱化了對ACID語義以及復雜關聯查詢的支持,采用了更加簡潔的數據模型,優化了讀寫路徑,從而能夠換取更高的讀寫性能。
總的來說,NoSql數據庫的特點主要是兩點,一是分布式易擴展,二是非關系型的數據模型。
NewSQL數據庫


數據庫經歷了從關系數據庫到NoSQL,NewSQL的發展歷程
NewSQL可以說是傳統的RDBMS與NoSQL技術結合之下的產物,典型NewSQL技術可以理解成分布式關系型數據庫,能夠支持分布式事務是一個NewSql數據庫的基本前提。
NoSQL與NewSQL在技術上有很多類似,比如NewSQL也會用到K-V存儲方式,但在是否支持關系型模型及分布式事務上,還是有比較明顯的區別。
Google Bigtable、HBase、Amazon Dynamo是典型NoSQL技術,而Spanner、CockroachDB以及國內PingCAP公司的TiDB,可以歸類為典型NewSQL技術。
很多NoSQL技術定義了自己獨立的查詢語言接口,對標準SQL的兼容性不好,因此在實際應用上有諸多不便。NewSQL技術正在積極擁抱標準SQL接口,一般都對標準SQL做了很好的兼容,甚至像Kafka這樣的隊列中間件也支持標準SQL,SQL正成為不同系統之間交流數據的共同語言。
從NewSQL到云原生
云計算服務商會做云原生(Cloud Native)數據庫,利用新的硬件及云本身的優勢打造云原生數據庫,比如阿里云的Cloud HBase、PolarDB,華為的GaussDB等。


PolarDB是阿里云的云原生數據庫方案
云原生數據庫是為了更好地服務于云環境下的應用而誕生的,融合了眾多創新技術,本質上是云的能力和數據庫能力的融合。
總的來說,云原生數據庫有以下優點:
- 彈性:彈性是云計算最大的優勢,可以根據CPU數量、存儲容量等計算資源按量付費、動態擴容。
- HTAP:之前TP(事務處理)和AP(分析處理)是分開的,TP用關系型數據庫,AP用非關系數據庫或者大數據存儲。HTAP是將兩種需求融合到一個數據庫,提供兩個入口,一個跑事務,一個跑報表和BI。
- 智能:云原生數據庫的磁盤備份、內存調度等都不需要DBA來操作,全部由數據庫配套的智能化程序來完成。此外,數據庫還能夠自我診斷和自我修復。
- 混合云:因為一些業務的合規性要求,并不是所有數據都能跑在云上,因此還需要使用混合云的架構來部署系統。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。