華為云云原生資料庫:A Philosophy about “less”

来源:https://www.cnblogs.com/huaweiyun/archive/2023/01/18/17059293.html
-Advertisement-
Play Games

摘要:斯坦福教授、Tcl語言發明者John Ousterhout的著作《A Philosophy of Software Design》提出了一個經久不衰的觀點——軟體設計的核心在於降低複雜性。 在新技術不斷涌現的雲時代,出現了一種“技術過載”現象——本應幫助企業提高效率的技術,反倒讓企業心生焦慮, ...


摘要:斯坦福教授、Tcl語言發明者John Ousterhout的著作《A Philosophy of Software Design》提出了一個經久不衰的觀點——軟體設計的核心在於降低複雜性。

在新技術不斷涌現的雲時代,出現了一種“技術過載”現象——本應幫助企業提高效率的技術,反倒讓企業心生焦慮,企業擔心不會用、用不好,這在資料庫領域體現得十分突出。

資料庫是現代企業的核心系統,隨著雲計算從根本上改變IT產業的格局,資料庫重構突然變成了“容易”的事。“事出反常必有妖”,為了重構而重構的資料庫,給企業和開發者們帶來了新的挑戰。

他們要面對不同資料庫的複雜理念和運維,這些複雜性不應該被讓渡到使用者的層面。

斯坦福教授、Tcl語言發明者John Ousterhout的著作《A Philosophy of Software Design》提出了一個經久不衰的觀點——軟體設計的核心在於降低複雜性。

資料庫可謂是最複雜的關鍵基礎軟體之一,關於如何降低資料庫複雜性的思考,在當下變得十分應景。書中提到的一些方法,例如分層、抽象和複雜性下沉,正在先行者華為云云原生資料庫GaussDB身上得到新的演繹,也推動著雲原生資料庫走向下一階段。

分層和抽象之後

在軟體領域,分層和抽象的邏輯並不陌生,電腦體繫結構、TCP/IP網路協議等都是這種理念的體現,在雲計算領域,IaaS、PaaS、SaaS是雲計算平臺的三層能力,實際上就是雲對傳統IT的分層和抽象。

IaaS讓開發者不必考慮計算、存儲和網路等資源調度,PaaS提供中間件和豐富的平臺能力,SaaS提供開箱即用的應用,從IaaS到SaaS,抽象的程度越來越高,使用者關心的技術細節也就越來越少,正如現在幾乎沒有人關註電腦體系機構和TCP/IP網路協議一樣。

資料庫的雲原生化,就是一個不斷提高抽象程度的過程,資料庫廠商希望藉此降低複雜性。

此前,傳統資料庫或者新誕生的雲原生資料庫,都在貼近雲技術進行改造和重塑,開發者對後端資源的關註有所降低,但這依然不足以讓雲原生資料庫的複雜性降低到令人滿意的水平。

華為雲資料庫服務產品部總經理蘇光牛

華為雲資料庫服務產品部總經理蘇光牛表示,從雲化到雲原生化,過去更多是做服務化,今天更多是對資料庫內核進行重構,實現基於雲的架構來構建、真正的“生於雲、長於雲”的資料庫。

譬如從產品方面來講,傳統資料庫基於單機主備架構來構建,要做到雲化,需要對產品的整體架構做重構,貼合雲的各種技術棧來進行,例如:分散式存儲和對象存儲,容器化等基礎技術。

再從商業模式來講,資料庫雲化需要改變客戶使用傳統資料庫的模式,重點從按需的使用模式出發,端到端的客戶體驗的優化,比如Serverless模式,這是簡單的資料庫服務化做不到的,從IaaS的資源調度到Serverless,就是抽象程度提高的典型例子。

新的階段,資料庫所面臨的挑戰有四個方面,時效性、可用性、多模融合和性價比,錶面看起來似乎還是那些要求,但是要求資料庫廠商對技術的把握和業務的理解,再上一個臺階。

A Philosophy about “less”

John Ousterhout告訴我們,如果一定要在某個層次處理複雜性,這個層次越低越好,資料庫的複雜性和下層功能相關,下沉之後能夠解決其他層次和整體的複雜性,華為雲便是這麼做的。

華為雲認為,未來的雲資料庫需要做三大轉變,第一是從關註資源的規劃部署,轉變為聚焦應用如何更好地使用;第二是從關註數據的物理部署,轉變為如何讓數據全域可用;第三是從關註多個分離模型的數據轉變為多模融合,從關註單一交易或分析業務(TP或者AP)負載,轉為HTAP一體化負載,資料庫根據業務類型和負載自動選擇合適的引擎來處理。

為了實現這些轉變,資料庫領域需要引入新的技術,實現雲原生資料庫的Serverless、Regionless、Modeless,也是華為雲GaussDB的技術哲學——A Philosophy about “less”,讓複雜的事情簡單化。

蘇光牛提到,Serverless讓應用彈性透明地調度和無損透明切換成為可能,過去的Serverless主要是單機伸縮和無狀態管理,可能會引起業務中斷、受損,雲原生Serverless將從通用場景出發,實現失耦狀態的常態管理。

Regionless讓數據全域可用,用戶只需要關註流量從哪裡來,用戶從哪裡訪問,資料庫將數據分佈到不同的Region,應用就近、隨時隨地訪問數據。全球分佈統一管理的資料庫管理系統和資料庫的部署能力,將成為資料庫的核心競爭力。

Modeless帶來資料庫極簡體驗,傳統的資料庫只能支持單一負載或者單一模式(KV、文檔、時序、寬表等),而企業的應用在融合,交易和分析任務兼有,還有圖像和地理信息。

GaussDB分別採用HTAP和多模資料庫技術,一個入口處理多樣負載、一個入口處理多種數據類型,有效地避免了傳統解決方案的抽取、轉換和裝載繁瑣的過程,實現一站式處理,業務接入效率可從數月縮短至數天。

可以看出,為瞭解決資料庫的複雜性問題,華為雲下沉到了更深一層,Serverless是更進一步的資源抽象,Regionless是更進一步的空間抽象,Modeless是更進一步的模型抽象,三者都實現了雲原生化細顆粒度的解決方式。

“無感知”的資料庫

“Less is more”,抽象的程度越高,使用者就越不必關心具體技術和細節,但這並不意味著資料庫技術難度降低,相反,資料庫廠商把複雜做成簡單,內斂比外化要難得多。

例如華為雲無感知的資源調度框架AST,智能判斷用戶負載,實時匹配負載資源將用戶成本降到最低;全域數據分層引擎GTE,將部分不常用數據放到低成本的對象存儲上,GTE引擎還能支持多個實例共用一份數據同時讀取;NDPQ近存儲並行查詢技術,把一些運算元下推到存儲上進行計算,計算節點和存儲節點都能夠進行本地處理,減少網路帶寬傳輸,提高業務效率。

資料庫的複雜性下沉,既是技術的下沉,華為雲GaussDB將複雜性下沉到離用戶更遠的一層,也是場景應用的下沉,讓資料庫去適配應用開發者的習慣,企業用戶離DaaS(Database as a Service)才能越來越近。

華為從2007年就開始研發記憶體資料庫,起初是因為電信領域對數據的要求極高,市場上找不到能與之較好契合的資料庫。後來隨著華為業務的發展,華為不斷投入資源研發資料庫,打造了一系列資料庫產品。

蘇光牛提到,華為本身對資料庫的要求就是全方位的,包括:華為自身的IT系統、華為成熟的ICT業務以及華為的互聯網業務、終端雲等需求,GaussDB既要滿足金融政企對資料庫的嚴苛訴求,也要滿足互聯網行業這樣典型的To C類業務訴求,這是華為雲資料庫區別於其他廠商的關鍵。

因此,GaussDB一開始就瞄準全行業不同場景,與雲平臺的技術能力深度結合,把雲原生資料庫的彈性、極簡體驗做到極致,這也是資料庫的未來,企業無需關註資料庫的類型,即可擁有無感知的體驗。

動圖封面  

例如華為運動健康App,全球範圍內用戶數超4億,月活躍用戶數超過9000萬,它選擇了華為雲GaussDB(for Cassandra),存算分離架構可以很好滿足業務海量併發的需求,同時具備快速擴容能力,高峰期承載上千萬QPS,最大能夠支持百億行的表。

互聯網應用重視資料庫的性價比,且對彈性擴展的靈活性要求高,GaussDB(for Cassandra)能夠保證業務高併發運行的同時,實現低時延,很好地滿足了穿戴設備數據寫入的需求。

再如永安保險,保險業務對資料庫的擴展性、性能等要求極高,更要滿足數據安全與災備監管要求,新時代業務敏捷創新與上線,呼喚雲化開放架構和分散式技術,永安保險希望找到“一專多能”的雲原生資料庫。

華為雲GaussDB(for MySQL)和數據複製服務DRS,支持主流商業資料庫生態,全棧工具鏈助力切換主流商業資料庫,業務無需改造,資源彈性擴容能力強,且華為雲DRS簡單易用、安全可靠,實現了永安保險意外險和健康險業務的高效上雲。

保險業務屬於金融場景,是資料庫領域的核心地帶之一,在雲原生時代的大背景下,以華為雲GaussDB整體為代表的“新”資料庫,正在挑戰Oracle和IBM DB2等為代表的“舊”資料庫,新與舊的博弈,最終由客戶業務場景來評判,雲原生資料庫正在攻城略地。

在全方位場景化的驅動下,華為雲資料庫凝練出自己的發展方向,讓企業客戶不必糾結於複雜的技術,儼然也成為雲原生資料庫行業的風向標,雲原生資料庫的成熟態,行且將至。

 

點擊關註,第一時間瞭解華為雲新鮮技術~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 用.net6開發一個Winform程式,處理Excel文件,並把結果導出Excel文件。 要用到兩個演算法,一是turf.js庫的booleanPointInPolygon方法,判斷經緯度坐標是否在區域內;二是經緯度糾偏演算法,因為對方給的區域坐標集合有偏移,需要糾偏。 這兩個演算法,網上找C#的實 ...
  • 作者:小牛呼嚕嚕 | https://xiaoniuhululu.com 電腦內功、JAVA底層、面試、職業成長相關資料等更多精彩文章在公眾號「小牛呼嚕嚕」 大家好,我是呼嚕嚕。我們都知道現代電腦採用 0 和 1 組成的二進位,來表示所有的信息。那大家是不是有時候會有這些疑問:為什麼電腦採用了 ...
  • 前言 我們在學習 51 單片機的過程中會用到延時,比如一個簡單的流水燈就需要延時來控制依次點亮的時間,或者一些模塊在單片機發出讀數據指令後,需要延時幾十微秒才可以讀出數據等等,這些都離不開延時,所以我們需要一個精準的延時函數來滿足我們的需求。 本篇介紹一個最簡單並且延時最精準的 51 單片機延時函數 ...
  • GreatSQL社區原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 GreatSQL是MySQL的國產分支版本,使用上與MySQL一致。 作者: 葉金榮 文章來源:GreatSQL社區原創 如何快速臨時禁止某賬戶登入 角色ROLES管理需要先激活 關於授權的其他幾點補充 如何複製/復用賬戶 ...
  • GreatSQL社區原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 GreatSQL是MySQL的國產分支版本,使用上與MySQL一致。 作者: JennyYu 文章來源:GreatSQL社區原創 前言 兩表使用nest loop(以下簡稱NL)方式進行連接,小表驅動大表效率高,這似乎是大 ...
  • 摘要:華為雲EI DTSE技術佈道師王躍,針對統計信息對於查詢優化器的重要性,GaussDB(DWS)最新版本的analyze當前能力,與開發者和伙伴朋友們展開交流互動,幫助開發者快速上手使用統計信息的自動收集功能。 在本期《統計信息大揭秘——SQL執行優化之密鑰》的主題直播中,我們邀請到華為雲EI ...
  • 摘要:近日,中國信息通信研究院(簡稱“中國信通院”)公佈了第十五批“可信資料庫”評測結果。華為雲GaussDB(for MySQL)憑藉過硬的技術實力順利通過“HTAP資料庫基礎能力評測”。 本文分享自華為雲社區《華為雲GaussDB(for MySQL)通過中國信通院“可信資料庫”評測》,作者:G ...
  • 彙總數據 聚集函數 聚集函數(aggregate function) 運行在行組上,計算和返回單個值的函數。 | 函 數 | 說 明 | | : | : | | AVG() | 返回某列的平均值 | | COUNT() | 返回某列的行數 | | MAX() | 返回某列的最大值 | | MIN() ...
一周排行
    -Advertisement-
    Play Games
  • 1、預覽地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 隨著網路的發展,企業對於信息系統數據的保密工作愈發重視,不同身份、角色對於數據的訪問許可權都應該大相徑庭。 列如 1、不同登錄人員對一個數據列表的可見度是不一樣的,如數據列、數據行、數據按鈕 ...
  • 前言 上一篇文章寫瞭如何使用RabbitMQ做個簡單的發送郵件項目,然後評論也是比較多,也是準備去學習一下如何確保RabbitMQ的消息可靠性,但是由於時間原因,先來說說設計模式中的簡單工廠模式吧! 在瞭解簡單工廠模式之前,我們要知道C#是一款面向對象的高級程式語言。它有3大特性,封裝、繼承、多態。 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 介紹 Nodify是一個WPF基於節點的編輯器控制項,其中包含一系列節點、連接和連接器組件,旨在簡化構建基於節點的工具的過程 ...
  • 創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
  • 最近在不少自媒體上看到有關.NET與C#的資訊與評價,感覺大家對.NET與C#還是不太瞭解,尤其是對2016年6月發佈的跨平臺.NET Core 1.0,更是知之甚少。在考慮一番之後,還是決定寫點東西總結一下,也回顧一下.NET的發展歷史。 首先,你沒看錯,.NET是跨平臺的,可以在Windows、 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 添加節點(nodes) 通過上一篇我們已經創建好了編輯器實例現在我們為編輯器添加一個節點 添加model和viewmode ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...
  • 類型檢查和轉換:當你需要檢查對象是否為特定類型,並且希望在同一時間內將其轉換為那個類型時,模式匹配提供了一種更簡潔的方式來完成這一任務,避免了使用傳統的as和is操作符後還需要進行額外的null檢查。 複雜條件邏輯:在處理複雜的條件邏輯時,特別是涉及到多個條件和類型的情況下,使用模式匹配可以使代碼更 ...
  • 在日常開發中,我們經常需要和文件打交道,特別是桌面開發,有時候就會需要載入大批量的文件,而且可能還會存在部分文件缺失的情況,那麼如何才能快速的判斷文件是否存在呢?如果處理不當的,且文件數量比較多的時候,可能會造成卡頓等情況,進而影響程式的使用體驗。今天就以一個簡單的小例子,簡述兩種不同的判斷文件是否... ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...