
隨著移動互聯網和物聯網的發展,基於大數據的應用已經非常普遍。傳統的關係資料庫在進行大數據處理時越來越感到力不從心,大數據處理要求數據存儲系統有足夠的擴展性,且能夠支持高效的即時查詢。
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來操作,全部由資料庫配套的智能化程序來完成。此外,資料庫還能夠自我診斷和自我修復。
- 混合云:因為一些業務的合規性要求,並不是所有數據都能跑在雲上,因此還需要使用混合雲的架構來部署系統。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/290262.html
微信掃一掃
支付寶掃一掃