成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

國產老兵“虛谷數據庫”初探

原創
數據庫 其他數據庫
虛谷數據庫采用的是原生分布式架構,即是一個和業務邏輯解耦的存儲引擎層以及一個無狀態的SQL計算引擎層組合的。在實現傳統關系型數據庫功能與對象管理同時,提供完整的事務 ACID 特性能力。

虛谷數據庫,是國內一款完全本土化、自研的數據庫產品。其背后的廠商-虛谷偉業,作為一家老牌數據庫廠商,非常低調,之前對其產品了解不多。近期通過中國信息安全評測中心發布的《安全可靠測評結果》名錄中關注到這一產品,并做了一些調研。本文是通過多方材料收集整理而得,并得到了虛谷偉業朋友的大力支持,這里表示感謝。

1. 公司及產品簡介

(1)公司說明

虛谷偉業從官方信息顯示,組建于2018年。其前身是成都歐冠公司,團隊組建于 2002 年,是國內比較早做數據庫的公司之一。公司整體比較低調,總部位于成都,在全國六個大區目前設置了多個分子公司辦事處。據虛谷的同學分享,2022年之前公司整體都是處于研發驅動的方式,在2022年開始進入市場化運作。虛谷的產品從 V1.0 一直到 V12.0,具有多個正式商用版本,同時也可以在網上查到,虛谷從v8.0開始就是分布式架構了。目前虛谷數據庫的應用領域主要是在黨政軍及一些關基行業,例如民航、公安、數據中心等。從上述材料中可以看出來,虛谷是從傳統黨政行業部委出發,然后轉型到分布式領域,現在在涉足一些關基生產業務系統和數據中心業務。

(2)產品介紹

從產品家族來看(如下圖),虛谷產品設計的邏輯是“一核多態全場景”的方式。從他們的產品宣傳材料中得知,他們產品的定位是“數據全生命周期提供商”,即以原創統一的高性能內核為基礎,通過產品的擴展性讓數據規模“從小到大”的客戶都能使用、通過產品的生態工具鏈和兼容性讓用戶“從國外到國內”能做平滑移植、通過分布式的高性能和多實力管理能力讓客戶“從簡單到復雜”的應用都能使用。從圖中也可以看到他們配套提供了統一的管控和標準的交互方式。


(3)原創優勢

虛谷產品有一個顯著優勢,是在于其原創性,其內核采用的是C語言編碼的,據虛谷同事透露,他們的1.0版本只有不到10萬行代碼,是從0行代碼開始編寫的。原創給虛谷帶來了比較突出的優勢,就是在現在業務系統變化較快的情況下,可以從架構核心到外圍功能都能快速迭代,順應國內的需求快速變化,不受控于其他主路線。但是同樣的,原創性也是雙刃劍,他們的生態和兼容性上構建肯定是相較直接沿用開源路線的產品來說更困難的。較早前,虛谷已獲得中國信息安全評測中心發布第一批安全可靠性評測結果名錄(位列十一家廠商之一)。同時,虛谷也獲得了包括國測中心的“原創性證書”以及國保測的“安全數據庫證書”在內的一些安全性背書。

2. 數據庫產品架構

虛谷數據庫采用的是原生分布式架構,即是一個和業務邏輯解耦的存儲引擎層以及一個無狀態的SQL計算引擎層組合的。在實現傳統關系型數據庫功能與對象管理同時,提供完整的事務 ACID 特性能力。

(1)技術架構

從虛谷產品的技術架構來看,是采用 ShareNothing(完全無共享)架構進行集群設計,物理資源無共享,數據切片存儲。核心角色包括主控角色、存儲角色、工作角色和變更收集角色,分別承擔集群的管理、存儲、計算與變更捕捉的職能。一臺物理服務器(虛擬機)可部署一個或多個數據庫角色。比較有特色的一點是,虛谷采用線程模型,從操作系統上來看,每個服務器上看到的都只有一個進程,上面說的主控、存儲、工作等角色是在該進程內部進行管理的。依托于這個體系,虛谷可以做到兩種部署形態,“存算分離”和“存算融合”。


  • 主控節點(管理)
    用于集群管理、心跳檢測、全局鎖仲裁(檢測死鎖并解鎖)等,不參與用戶請求響應。
  • 存儲節點(存儲)
    用于存儲數據庫數據,一般采用1主2備的副本策略,將數據均勻分布,利用多臺服務器的IO能力,加速數據處理。
  • 工作節點(計算)
    用于接收響應用戶請求,是SQL處理核心模塊,將SQL請求解析成數據庫內部任務并通知到各個節點。同時工作角色也承擔計算任務。

(2)核心模塊

從模塊上看,虛谷數據庫的不同角色包含下列模塊:

  • 數據庫管理工具集合
    集合包含數據庫管理工具,可用于用戶可視化對象管理和可視化數據操作;控制臺工具,方便 DBA 簡潔高效地操作數據庫;數據庫遷移工具,用于快速各種數據源中的數據庫對象和數據遷移到虛谷數據庫;數據庫集群監控軟件,用于監控數據庫服務端硬件資源使用情況及數據庫集群狀態。
  • 內存管理模塊
    對于數據庫來說,內存管理是核心模塊,分為全局內存區、動態內存區、數據緩沖區、全局排序區、日志緩沖區 5 個子模塊;分別對應了字典緩沖內存、線程運行內存、數據文件內存、查詢排序內存和日志緩沖內存。
  • 文件管理模塊
    管理數據運行過程中涉及的各類文件,有數據文件、控制文件和日志文件等。
  • 線程管理模塊
    虛谷數據庫采用線程模型,對各類服務線程管理是核心模塊之一。
  • 內網絡通信管理模塊
    管理集群節點間通信,實現節點間數據傳輸和遠程調用。
  • 數據庫邏輯對象管理模塊
    對數據庫對象創建、修改、使用、消亡全生命周期的管理。
  • 開發接口
    提供多種數據庫訪問接口,如:JDBC、ODBC、C-API、Python、GO 等。

3. 核心技術能力

(1)全局強一致

虛谷數據庫,通過事務一致性和數據一致性來保障整個數據庫強一致。一方面在事務層,其采用優化的二階段提交協議來實現分布式事務,即在節點間的事務能根據數據分布方式自動進行事務切分,同時設置節點宕機超時時間,不會讓整個集群無限阻塞等待;另一方面在數據層,則采用數據流同步復制方式結合“可靠 UDP”技術,保證數據副本之間的強一致性。和虛谷的同事溝通了解,這個“可靠UDP”是他們針對分布式數據庫的網絡層做的優化,本質是對UDP協議的封裝,加入了如檢驗、重發等內容,以追求在高頻的數據交換過程中降低TCP協議握手帶來的時延開銷。

(2)多重高可用

在可用性層面,虛谷數據庫擁有存儲、計算、管理和網絡等多層面多領域的高可用能力,進而保證整個數據庫集群的高可用。

  • 存儲:數據多副本

虛谷數據庫,采用數據切片實現分布式數據存儲。在多版本方面,可根據需要進行數據存儲版本數配置,最多支持 3 個數據存儲版本,默認是有 1 個主數據版本,2 個備數據版本。在真實存儲中,主版本輪轉分布,副本隨機分布,數據均勻分布到整個數據庫集群節點中,保證存儲的高可用。在數據拆分粒度上,虛谷數據庫不以邏輯表和業務維度進行數據切割,是以切分物理 CHUNK 的方式進行數據存儲,通過內部算法進行分片處理并存儲到各個存儲節點。數據存儲以 8M 進行自動切片,主版本輪轉分配在各節點,其對應的副本隨機存儲在其他存儲節點,將所有數據都均衡分布到每一個存儲節點中。當某一存儲節點宕機時,會立即通知管理節點;或者會選擇宕機節點上存儲的主版本數據對應的有效數據副本,將其切換為主版本;然后通知主版本向其余未宕機的存儲節點復制還原丟失的數據版本,提供數據訪問服務,避免單點故障導致數據庫業務中斷。

  • 計算:對等無狀態

虛谷數據庫是典型的存算分離架構,其上層的計算節點是無狀態的,沒有持久化數據。其對外服務是完全對等同構的,這意味著用戶連接到任意一個工作節點都可以連接到整個數據庫集群。當工作節點負載過高時,可通過增加工作節點分擔負載壓力,提高并發用戶數。無狀態的所帶來的好處是,當用戶連接數據庫時,如果節點異常也不用擔心,可隨時切換到其他節點,即使所有工作節點都死亡,也不對數據存儲造成影響,后續可再次接入新工作節點即可恢復訪問,可實現自動故障探測和容災處理。

  • 管理:組件高可用

虛谷數據庫的管理是中心化的,管理節點上雖然沒有業務數據,但是也保存了如存儲映射等重要信息。為提升管理節點的可用性,架構上采用了主備冗余設計。當一個管理節點異常時,另一個管理節點會自動接管。此外,用于收集集群數據變更信息的收集節點,也是采用主備雙機方案,在保證事務粒度的情況下也能保證其可靠性。

  • 網絡:多網絡并行

分布式數據庫,存在多角色、多節點,對底層網絡要求很高。虛谷數據庫,提供多網絡并行功能,即在同一集群內部可配置多路網絡進行通信,該功能不依賴操作系統或交換機功能。這種方式不僅能夠提供更大的帶寬,還為可能發生的單網絡故障提供容錯。

(3)高性能內核

虛谷數據庫,還通過一系列底層技術的優化,來提升事務及查詢分析能力。基于虛谷的技術文檔來看,這其中包括但不限于下面這些:

  • 無限制的行級鎖。虛谷數據庫的數據存儲最小粒度為行,其管理鎖的粒度可以從對象級到行級,行級鎖的實現意味可提供極高的并發響應能力。任何情況下不允許鎖升級,大幅降低死鎖的可能性。
  • 基于成本的優化器。虛谷數據庫采用基于代價的路徑優化模型,可讓 SQL 語句根據具體的數據分布情況、索引使用情況、分區情況、聯合查詢情況來做最優的路徑選取調整,從而使 SQL 執行時間最短。
  • 多版本并發控制技術。虛谷數據庫完整實現 MVCC多版本并發控制,維持一個數據的多個版本,使的讀寫操作沒有沖突,避免復雜事務環境中的讀寫操作沖突,提供更好的數據庫響應性能。基于 MVCC 技術,虛谷數據庫實現讀已提交(Read Committed)隔離級別,支持高并發場景下的事務處理。
  • 特有的可靠 UDP 技術。通常采用的 TCP 協議性能損耗大,類似于谷歌的 QUIC ,虛谷數據庫不僅采用 UDP 封包格式通用接口,且在底層包裝改造了一套可靠的 UDP 協議,大量減少性能損耗。
  • RDMA 協議支持。虛谷數據庫 RDMA 功能可直接進行內存訪問,降低網絡時延和 CPU 占用率,數據從一個系統快速移動到遠程系統存儲器中,達到高帶寬、低時延和低資源占用。虛谷數據庫支持 Infiniband 的 RDMA 協議支持,并非使用萬兆接口簡單調用。
  • 多核 NUMA 優化。虛谷數據庫基于多核架構進行了深度優化,對關鍵數據結構分區,降低數據訪問頻次。利用 NUMA 優化降低底層數據流轉沖突,關鍵業務線程綁核,避免核間線程漂移。
  • 元數據分布式管理。虛谷數據庫在管理系統元數據信息時,是將元數據表當做堆表進行管理,具有將元數據表分散到各個節點中管理的能力,避免由于表過多導致訪問元數據表成為性能瓶頸。
  • 并行掃描技術。虛谷數據庫能完全調度整個集群節點的計算和 IO 能力來對用戶發起的 SQL 請求進行處理,并行處理過程自動完成,以整個集群算力為用戶提供高效的大數據查詢分析能力。
  • 智能單元掃描技術。虛谷數據庫基于計算向存儲靠攏的設計理念,開發了獨特的智能單元掃描技術(算子下推),讓數據在存儲節點進行裁剪計算后再匯聚,從而減少了網絡開銷,降低了計算資源消耗,以提升數據庫對 SQL 的響應速度和吞吐量。

(4)多重高安全

虛谷數據庫的安全是采用GM/T 0028體系構建的,設計了一些高安全的數據防控策略,包括訪問控制、身份認證、存儲加密等等。

  • 身份驗證。通過身份驗證,虛谷數據庫可確定該用戶是否具有登錄的權限及其在系統中的系統級角色,以此決定該用戶能夠做什么和不能夠做什么。其密碼強度可進行配置,防止被暴力破解。
  • 自主訪問控制。根據用戶的權限執行自主訪問控制,對用戶操作、訪問的權限管理粒度支持庫、視圖、表、角色及用戶操作等。
  • 基于標記的強制訪問控制。強制訪問控制主要是針對用戶和元組。用戶操作元組時,不僅要滿足自主訪問控制的權限要求,還要滿足用戶和元組之間標記的相容性。這種可精確到行列級的控制能力,增強系統安全性。
  • 存儲加密。虛谷數據庫實現存儲加密,且啟用后對系統影響很小。
  • 網絡訪問控制。虛谷數據庫通過黑白名單等方式,實現對訪問用戶網絡的安全管理,保證了數據庫在復雜網絡環境的數據和行為安全。

(5)高可擴展性

虛谷數據庫基于其優異的分布式架構特點,擁有動態增加節點的能力,可以在集群能力遇到瓶頸的時候進行擴展。如果計算能力不足可以擴展工作節點,存儲能力不足則擴展存儲節點,或存儲計算同時擴展。計算節點由于本身不存儲數據,所以擴展后即可參與計算任務從而增加整個數據庫并發能力和計算能力。存儲節點由于數據存儲與邏輯表無關,是按物理 CHUNK 進行存儲的,所以在擴展存儲節點后,原集群存儲可以按 CHUNK 流轉至新的存儲節點完成節點擴展,擴展后可有效緩解應用瓶頸,增加集群的容量和性能。虛谷數據庫擁有在線動態擴展能力,數據的轉移(復制)不需要人工干預,工作負載在存儲節點之間動態分發,無需停機,實現系統的透明擴展。

(6)生態易用性

虛谷數據庫提供了一系列基于 JAVA 技術的圖形化客戶端工具,用戶可通過不同工具與數據庫服務端進行交互,包括:虛谷數據庫管理工具 XuguManager、虛谷數據庫遷移工具 XuguMigrator、虛谷數據庫集群監控軟件 XuguCM 等。比較有意思的是,虛谷和大多傳統數據庫廠商一樣,采用自研工具的路子,他們自己提供的XuguManager頗有Oracle-SQL Developer的風格,應該也是和他們宣傳的Oracle兼容性配套的吧。另外他們也提供了一個DBever的管理器插件,可以通過DBever直連虛谷數據庫,這應該是為了兼容MySQL生態考慮的。

另外,虛谷花了大量的時間做開發框架的支持,比如主流的MyBatis、Hibernate等。相應的DEMO可以在他們的GITEE主頁查得到:https://gitee.com/XuguDB

4. 產品亮點與展望

通過對虛谷數據庫的學習及簡單的評測,對這一國產數據庫有了粗淺的了解。在學習過程中,有幾個亮點給我非常深的印象。

(1)形似神也似的“兼容性”

一款新產品亦或是相對小眾產品,如何能快速收獲用戶,其兼容能力尤為重要。良好的兼容能力,可以方便用戶快速上手體驗、移植遷移、管理維護等。虛谷數據庫在這方面做了大量的工作,針對業內較為流行的數據庫產品(如Oracle、MySQL),可做到高達90%以上的兼容。這對于在國產化替代中,從功能性能、遷移成本、遷移周期、管理維護等方面具有非常大的優勢。通過對產品的了解,簡單整理個兼容表:

除了上述對其他數據庫產品的兼容外,個人認為更重要的對上下游生態的兼容。數據庫不是孤立產品,其需要依托于底層軟硬件環境及上層應用開發,進而才能發揮其最大作用。虛谷數據庫兼容適配了大量硬件、軟件、應用、工具等,通過提供標準接口方式,方便用戶快速使用。


經過多年合作共建,虛谷數據庫已完成從芯片、硬件、操作系統、云平臺、中間件、驅動與工具及應用軟件的全生態體系構建,打消用戶在選擇使用上的諸多疑慮。

(2)單機分布式的“一體化”

分布式數據庫經常令人詬病的一點就是架構復雜,前期投入資源較多,這也成為很多用戶不選擇分布式的原因。因此如何實現分布式輕量化或讓分布式可逐步擴展成為很多廠商追求的。單機分布式一體化架構,在不同架構間使用統一架構,簡化管理與升級;同時通過提供一種從單機平滑升級到分布式的手段,方便用戶可隨時擴展。虛谷數據庫也提供了這種一體化能力,來滿足用戶多形態需求,即前期可使用單機或小規模分布式,隨著業務的發展可隨時進行彈性擴容,在擴容過程中業務做到“無感”。針對計算層的擴展,虛谷數據庫可實現靈活的計算節點擴展,通過前端的負載均衡,可使應用端無感使用。針對存儲層的擴展,虛谷數據庫可實現存儲節點的動態擴展,并支持數據自動均衡能力,還可根據負載情況在保證QoS的前提下完成數據平衡過程。

這其中的難點是在于存儲節點的擴容。新存儲節點接入集群后,可立即提供存儲服務(新存儲創建、數據讀寫、數據寫入),同時管理節點進行存儲均衡操作,使存儲節點在一定時間內達到均衡。在數據均衡的過程中,首先會去計算均衡的存儲節點遷出和遷入的存儲個數;然后針對每個 CHUNK 嘗試從遷出節點向遷入節點移動存儲,如果該存儲用戶正在使用則跳過,避免對用戶業務產生影響。重復上面的步驟,直到存儲達到平衡。

(3)極致可擴展的“高性能”

分布式數據庫的一大用途,就是滿足業務高并發、高性能的場景需求。以標準的 TPC-C 模型為參照,廠商提供了如下評測結果。虛谷數據庫在三節點(計算、存儲角色混合)、1000 倉,不做任何優化下測試達到 36 萬的tpmC成績。相較于其他分布式數據庫產品,其性能指標領先。且上述成績通過優化可大幅提升,通過對數據分布的調整降低分布式事務比重或采用庫內計算方式減低網絡時延等手段,相信可以取得更優的效果。同時在分布式架構下可根據隨著資源的擴容,進一步提升來滿足用戶的極限場景需求。下圖是與某國內產品在同等資源條件下的測試對比圖。


虛谷數據庫發展展望:

作為深耕國產數據庫二十多年的的“老兵”,虛谷數據庫經過多年低調發展,其產品已逐步發展成熟,在多領域已經取得了長足的發展。可見未來,像虛谷數據庫這樣單機分布式一體化的原生分布式數據庫產品是比較適合于傳統關基領域的國央企和主管單位數字化轉型的,能較大限度地減少業務升級的改造成本和運維難度。隨著近年數據庫國產化浪潮大潮將至,相信未來這一優秀的國產數據庫產品必將破繭而出,取得更大的成績。

責任編輯:姜華 來源: 韓鋒頻道
相關推薦

2023-11-08 07:31:51

國產數據庫YashanDB

2011-11-04 14:07:40

存儲

2011-03-11 09:26:13

2011-03-11 09:14:18

國產數據庫

2010-09-28 11:11:09

Flachcache

2025-04-08 06:00:00

2023-03-06 21:19:19

2023-03-31 17:02:28

2011-03-11 12:51:48

國產數據庫安全

2022-10-21 07:07:33

TiDBHTAP數據庫

2012-03-16 09:29:47

國產數據庫

2023-12-05 07:30:40

KlustronBa數據庫

2011-03-25 14:41:25

國產數據庫

2025-03-28 07:33:09

數據庫AI助手設計

2023-03-29 08:36:33

國產數據庫開源

2013-11-08 00:45:40

國產數據庫

2011-05-24 10:46:21

國產數據庫安全

2024-07-16 08:22:09

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲男人天堂网 | 成人三级电影 | 噜噜噜噜狠狠狠7777视频 | 国产精品美女视频 | 国产精品久久久亚洲 | 自拍偷拍视频网 | 国产精品美女久久久久久免费 | 天天干亚洲 | 黄色综合| 国产精品视屏 | 天天看天天干 | 福利视频网 | 中文字幕在线精品 | 一区二区三区在线免费观看 | 精品毛片在线观看 | 久久9久 | 日韩视频一区 | 成人免费淫片aa视频免费 | 波多野结衣中文视频 | 丝袜美腿一区二区三区 | 精品国产精品国产偷麻豆 | 免费人成激情视频在线观看冫 | 国产精品视频在线观看 | 人人干免费 | 粉嫩一区二区三区四区公司1 | 日本一二三区高清 | 99国产精品视频免费观看一公开 | 麻豆av一区二区三区久久 | 一区二区三区四区在线 | 亚洲精品免费在线 | 国产成人综合一区二区三区 | 亚洲性在线| 日韩a视频 | 91在线视频免费观看 | 精品国产一区二区三区久久久久久 | 一区二区高清 | 在线激情视频 | 在线一区视频 | 国产精品999| 国产中文字幕在线 | 毛片免费在线 |