官术网_书友最值得收藏!

1.3.2 SQL、NoSQL和NewSQL

說到SQL時,大家馬上想到的是“古老”的關系數據庫,它們在過去20年中始終支持高級服務。然而,關系數據庫已開始盡顯疲態,很多人都認為它們難以滿足企業當前面臨的需求。鑒于此,靈活的數據庫行業巨頭已采取積極措施,力圖重塑其既有產品或提供新的解決方案。

NoSQL就是一個這樣的例子。它是非關系數據庫的始作俑者,提供了存儲和檢索非關系數據(如鍵值對、圖、文檔、寬列)的機制。然而,很多NoSQL產品都為支持可用性和分區容錯性而犧牲了一致性:考慮到新時代的重要關切,NoSQL實現了高可用性和彈性伸縮,但不支持事務,也不具備SQL的標準優點。Couchbase、HBase、MongoDB及其他NoSQL數據庫的成功,充分表明了人們對這種做法的支持。NoSQL數據庫有時也強調如下兩點:它們不僅是SQL(Not Only SQL),也認識到了傳統SQL數據庫的價值。出于這種認識,NoSQL數據庫逐步吸納了主流SQL產品的一些優點。

NewSQL可被定義為這樣一種關系數據庫管理系統(relational database management system,RDBMS):致力于讓NoSQL系統是可伸縮的,可用于執行聯機事務處理(online transaction processing,OLTP)任務,同時具備傳統數據庫系統的原子性、一致性、隔離性和持久性(atomicity, consistency, isolation, and durability,ACID)特性。

對于NewSQL,學術界和數據庫行業還在討論中,因此前述的說法并非最終的定義。有關這方面的一項出色資料是論文“What's Really New with NewSQL”,它致力于根據架構和功能對數據庫進行分類。所有宣稱自己為NewSQL產品的數據庫都致力于在一致性、可用性和分區容錯性(capability, availability, and partition tolerance,CAP)定理之間取得良好的平衡。然而,什么樣的數據庫產品可歸類為NewSQL呢?

主站蜘蛛池模板: 米脂县| 保靖县| 天全县| 读书| 武功县| 屯门区| 南投市| 聂荣县| 台山市| 湘潭市| 太康县| 荔波县| 红安县| 怀宁县| 漳浦县| 伽师县| 衡阳县| 清苑县| 武山县| 华蓥市| 沂南县| 闽侯县| 藁城市| 金乡县| 鹤岗市| 赤水市| 芜湖市| 噶尔县| 奇台县| 双江| 松江区| 永川市| 兴安盟| 陵川县| 永丰县| 广饶县| 上饶县| 灌阳县| 临沧市| 临城县| 建湖县|