NewSQL 常用NewSQL資料庫梳理

2021-10-08 07:01:55 字數 2947 閱讀 4741

很多企業都需要處理來自多個資料來源的複雜資料,因此需要利用資料庫管理系統來儲存和管理資料。現在,有很多不同型別的資料庫系統,而找到乙個正確的資料庫不是一件容易的事。這需要考慮業務需求,以便選擇正確的資料庫管理系統。

企業使用關聯式資料庫管理系統(rdbms)來儲存和管理他們的資料。然而,這些系統無法處理海量的複雜資料,無法滿足當今資料庫使用者的需求。因此,很多企業都在尋找能夠在保持傳統資料庫系統重要特性的同時,也能提供可伸縮性、可用性和高效能的資料庫系統。資料庫軟體**商也已經確定了這一需求,並開發了newsql資料庫來彌補傳統資料庫系統的缺陷。

newsql資料庫是現代sql資料庫,它解決了與傳統聯機事務處理(oltp)rdbms相關的一些主要問題。它們在保持傳統資料庫管理系統優點的同時,力求實現nosql資料庫的可伸縮性和高效能。換句話說,newsql資料庫是一種特殊的關係資料庫系統,它結合了傳統資料庫oltp 和nosql的高效能和可伸縮性。它們保持了傳統dbms的acid(原子性、一致性、隔離性和永續性)。acid事務特性確保了完整的業務流程、併發事務、系統故障或錯誤時的資料完整性,以及事務前後的一致性。

newsql資料庫在內部設計方面有所不同,但它們都是執行在sql上的rdbms。它們使用sql來接收新資訊,同時執行許多事務,並修改資料庫的內容。newsql系統的主要包括新的技術架構、透明的資料分片中介軟體、sql引擎和資料庫即服務(dbaas)。

分割槽/分片:幾乎所有的newsql資料庫管理系統都是通過將資料庫劃分為不同的子集(稱為分割槽或分片)來擴充套件的。資料庫中的表被水平地分割成幾個分片,這些分片的邊界基於列值來劃分,來自不同表的相關片段被連線以建立分割槽。

副本: 此功能允許資料庫使用者建立和維護資料庫以及副本。資料庫的副本儲存在與主站相連線的遠端站點或距離很遠的站點。使用者可以同時更新副本,也可以更新乙個節點並將結果狀態轉移到其他副本

輔助索引(二級索引): 輔助索引允許資料庫使用者通過使用主鍵以外的其他值有效地訪問資料庫記錄。

併發控制: 此功能可解決多使用者系統中當多個使用者同時訪問或修改資料時可能出現的問題。newsql系統使用此功能來確保同步事務,同時保持資料完整性。

故障恢復:newsql資料庫有一種故障恢復的機制,使它們能夠在系統崩潰時恢復資料到一致的狀態。

其中一些好處包括:

vitess 是乙個分布式 mysql 工具集,它可以自動分片儲存 mysql 資料表,將單個 sql 查詢改寫為分布式傳送到多個 mysql server 上,支援行快取(比 mysql 本身快取效率高)與複製容錯等。vitess 4.0 中有許多改進,可以使新使用者更容易使用,可以很容易的在k8s上部署vitess,從單一的 mysql 或 mariadb 遷移到vitess 成為可能,而應用對此有所感知。

cockroachdb (蟑螂資料庫)是乙個可伸縮的、支援地理位置處理、支援事務處理的資料儲存系統。cockroachdb 提供兩種不同的的事務特性,包括快照隔離(snapshot isolation,簡稱si)和順序的快照隔離(ssi)語義,後者是預設的隔離級別。

蟑螂是乙個分布式的k/v資料倉儲,支援acid事務,多版本值儲存是其首要特性。主要的設計目標是全球一致性和可靠性,從蟑螂的命名上是就能看出這點。蟑螂資料庫能處理磁碟、物理機器、機架甚至資料中心失效情況下最小延遲的服務中斷;整個失效過程無需人工干預。蟑螂的節點是均衡的,其設計目標是同質部署(只有乙個二進位製包)且最小配置。cockroachdb 無需重新配置,也無需進行大規模的架構大修 就可以水平擴充套件,只需在集群中新增乙個新節點就可以了,cockroachdb就會處理底層的複雜性。

只需向集群新增新節點即可進行擴充套件

自動平衡和分配分段的範圍,不是分片

在所有節點上均勻地優化,以提公升伺服器利用率

mariadb 2023年收購了clustrixdb,它目前是乙個類mysql的關聯式資料庫, 可以很容易的從mysql遷移 到clustrixdb。clustrixdb與mysql客戶機相容,但與mazon aurora不同,它是分布式的,可以擴充套件寫操作,並且不會產生單獨的io和儲存費用,它從底層就支援web、移動和物聯網(iot)等具有最極端的可擴充套件性要求的應用程式,並且是在不損害關鍵特性的情況下做到這一點,資料庫需要為帶有關鍵型任務應用程式提供對可靠資料訪問服務:事務和sql。

memsql最大的賣點就是效能,同時相容相容mysql。memsql,2023年12月14日發布,是世界上最快的關聯式資料庫,能實現每秒150萬次事務。memsql是乙個分布式的、高度可伸縮的sql資料庫,可以在任何地方執行。我們使用熟悉的關係模型為事務性和分析性工作負載提供最高效能.memsql是乙個可擴充套件的sql資料庫,它不斷地吸收資料,為您的業務一線執行操作分析。使用acid事務每秒接收數百萬個事件,同時以關係sql、json、地理空間和全文搜尋格式分析數十億行資料。

nuodb 是世界上首個也是唯一乙個具有專利的、彈性可伸縮的sql關聯式資料庫,主要用於去集中化的計算資源。我們完全從頭開始設計這麼乙個全新的資料庫,100% acid 保證以及相容 sql 標準規範。支援複雜資料庫管理任務如分割槽、快取集群和效能調優等等。

altibase 資料庫完美結合了,並提出了乙個新概念---hybrid dbms。altibase 提供高效能、容錯能力和事務管理的方便性,特別是在通訊、網上銀行、**交易、實時應用和嵌入式系統領域。

voltdb是乙個記憶體中的開源oltp sql資料庫,能夠保證事務的完整性(acid)。它是postgres和ingres聯合創始人mike stonebraker領導開發的下一代開源資料庫管理系統。它能在現有的廉價伺服器集群上實現每秒數百萬次資料處理。voltdb大幅降低了伺服器資源 開銷,單節點每秒資料處理遠遠高於其它資料庫管理系統。不同於nosql的key-value儲存,voltdb能使用sql訪問,支援傳統資料庫的 acid模型。voltdb**採用gplv3授權,支援訂閱費用從15,000美元起步。

citus面向高速簡單的事務,高吞吐量批量載入以及高速亞秒級分析查詢。它還整合了cstore/hll等很多外掛程式。乙個限制是在某些情況下它不支援所有sql查詢或複雜事務。citusdb採用postgresql的外掛程式形式(not a fork),即享受postgresql的強大支援,又同時擁有分布式資料庫能力。citus的企業版是要收費的。

《NewSQL與NoSQL的討論》

newsql與nosql的討論 現今,完全放棄傳統關聯式資料庫並忙於使用新興的nosql資料庫可能還不是乙個合理的選擇。相反改進後的sql 結構化查詢語言 系統可能會對一些技術細節進行調整。在8月23日加利福尼亞聖何塞市舉行的nosql 2011大會上分布式資料庫公司voltdb的首席技術官mich...

分布式 NewSQL 對比

說明 pingcap 公司基於 google spanner f1 實現的開源分布式 newsql 資料庫。開源分布式 newsql 關係型資料庫 tidb 是新一代開源分布式 newsql 資料庫,模型受 google spanner f1 的啟發,實現了自動的水平伸縮,強一致性的分布式事務,基於...

以NuoDB為代表的NewSQL

編者按 10年前的資料庫市場基本上是一潭死水,oracle 微軟 ibm和sybase四家公司佔據了全部的市場份額。但隨著開源軟體 雲計算以及現在大資料的發展,資料庫技術又迎來了新的契機,其中湧現了大批創業公司,資料庫創新的熱情也再度被調動起來。最近資料庫初創公司nuodb又獲得了1400萬美元的融...