日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

云原生数据库POLARDB专场“硬核”解析

發(fā)布時間:2024/8/23 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 云原生数据库POLARDB专场“硬核”解析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

POLARDB是阿里巴巴自主研發(fā)的云原生關(guān)系型數(shù)據(jù)庫,目前兼容三種數(shù)據(jù)庫引擎:MySQL、PostgreSQL、Oracle。POLARDB的計算能力最高可擴展至1000核以上,存儲容量可達100TB。?
POLARDB融合了商業(yè)數(shù)據(jù)庫穩(wěn)定、可靠、高性能的特征,同時具有開源數(shù)據(jù)庫簡單、可擴展、高速迭代的優(yōu)勢,適合各個行業(yè)公司的創(chuàng)新業(yè)務使用。本專場中,來自阿里云、江娛互動以及猿輔導的各位技術(shù)大咖一起共同探討了下一代云原生數(shù)據(jù)庫POLARDB。

1、云原生數(shù)據(jù)庫的演進方向和客戶價值

阿里云智能數(shù)據(jù)庫總經(jīng)理曹偉為大家介紹了云原生數(shù)據(jù)庫的演進方向以及阿里云POLARDB數(shù)據(jù)庫的產(chǎn)品能力。

阿里云RDS和POLARDB都屬于OLTP的關(guān)系性數(shù)據(jù)庫,那就讓我們先看下全球關(guān)系型數(shù)據(jù)庫的市場情況。

如今,關(guān)系型數(shù)據(jù)庫依舊是“老大哥”,但是過去的十年中關(guān)系型數(shù)據(jù)庫領(lǐng)域也發(fā)生了一些微妙的變化。伴隨著開源運動的興起和MySQL、PostgreSQL等數(shù)據(jù)庫的出現(xiàn),很多用戶開始在生產(chǎn)系統(tǒng)中大量使用開源數(shù)據(jù)庫,因此商業(yè)數(shù)據(jù)庫的市場受到了一定的擠壓。

開源數(shù)據(jù)庫的出現(xiàn)影響了整個數(shù)據(jù)庫市場的格局和版圖,也為阿里巴巴在數(shù)據(jù)庫市場提供了一個重大的機會。經(jīng)過十年的時間,阿里云數(shù)據(jù)庫做到了“全國第一,全球領(lǐng)先”。當然,影響數(shù)據(jù)庫格局的重要因素除了開源之外,還有云計算的興起。

在云時代,數(shù)據(jù)庫的演化經(jīng)歷了從采購License自建到云上托管數(shù)據(jù)庫再到云原生數(shù)據(jù)庫的轉(zhuǎn)變。過去云是云,數(shù)據(jù)庫是數(shù)據(jù)庫,數(shù)據(jù)庫只是部署在云上。但在云原生時代,數(shù)據(jù)庫和云是合二為一的,云就是數(shù)據(jù)庫,數(shù)據(jù)庫就是云。

云原生數(shù)據(jù)庫具有以下的幾個發(fā)展趨勢:

彈性:彈性不僅僅是規(guī)格的彈性,而是未來CPU、容量等計算資源都可以按量付費。?
HTAP:之前TP和AP是分開處理的,TP使用關(guān)系型數(shù)據(jù)庫,而AP使用大數(shù)據(jù)存儲。未來則會融合兩者,提供一個入口跑事務,一個入口跑報表和BI。?
智能:智能讓數(shù)據(jù)庫更加實用,未來數(shù)據(jù)庫的磁盤備份、內(nèi)存調(diào)度等都不需要DBA來操作,而是全部由數(shù)據(jù)庫自己來完成。此外,數(shù)據(jù)庫還能夠自動完成診斷和修復。?
混合云:因為一些合規(guī)的要求,并不是所有數(shù)據(jù)都能跑在云上,因此還需要使用這種云上云下互聯(lián)的生態(tài)。

云原生數(shù)據(jù)庫已經(jīng)成為了一種趨勢,智能和混合負載成為了用戶使用數(shù)據(jù)庫必須依賴的特性。而由于這些特性具有非常高的技術(shù)門檻,因此在未來的兩到三年內(nèi),云原生技術(shù)落后的數(shù)據(jù)庫廠商必將會被淘汰。

對于很多企業(yè)而言,如果采用自建數(shù)據(jù)庫方案,那么無論是對于研發(fā)還是運維而言,都會帶來很多痛點,比如:

活動上線時造成壓力突增,而數(shù)據(jù)庫卻來不及升級;?
業(yè)務發(fā)展很快,來不及進行拆庫,也來不及分庫分表;?
應用擴容之后,上百臺ECS連接一臺數(shù)據(jù)庫,因此在高并發(fā)下性能很差;?
使用讀寫分離,但是剛更新的數(shù)據(jù)卻查詢不到;?
主從復制經(jīng)常中斷;?
一次全量數(shù)據(jù)備份需要大量時間,并且必須鎖表等。

這些都是互聯(lián)網(wǎng)公司在使用自建數(shù)據(jù)庫時會遇到的問題。那么,如何解決這些問題呢?答案就是需要一個強大的云原生數(shù)據(jù)庫。

因此,阿里云提供了POLARDB數(shù)據(jù)庫。POLARDB基于業(yè)界先進的Shared-Everything架構(gòu),簡單而言,就是借助高速的RDMA網(wǎng)絡(luò)將所有數(shù)據(jù)庫節(jié)點連接在同一網(wǎng)絡(luò)下。POLARDB采用計算與存儲分離的架構(gòu),數(shù)據(jù)節(jié)點是無狀態(tài)的,因此一旦發(fā)生宕機可以隨時進行遷移。

對于企業(yè)級數(shù)據(jù)庫而言,一般會從可靠性、可用性、性能、彈性、成本和易用性這六個方面進行評價。

在可靠性方面,POLARDB基于Parallel Raft協(xié)議并借助RDMA能夠做到RPO=0。此外,POLARDB基于TCP的遠程物理復制技術(shù)實現(xiàn)了跨AZ的容災。

在可用性方面,POLARDB借助Parallel Raft復制技術(shù)使得單節(jié)點存儲切換RTO控制在10毫秒以內(nèi),基于Warm Buffer Pool技術(shù)使得讀寫節(jié)點重啟速度加快4倍以上,并且基于跨節(jié)點物理復制技術(shù)使得日志并發(fā)應用的節(jié)點間延遲控制在100毫秒以內(nèi)。

在性能方面,POLARDB使用了高速硬件和用戶態(tài)I/O協(xié)議棧,使得計算節(jié)點的寫延遲小于100us,而讀帶寬大于4GB/s。除此之外,還在I/O上進行了優(yōu)化,借助Parallel Query技術(shù)使得TPC-H性能提升超過25倍。

在成本方面,POLARDB這樣的云原生數(shù)據(jù)庫的成本往往低于傳統(tǒng)的托管數(shù)據(jù)庫。這是因為企業(yè)在使用POLARDB時可以按需擴容,彈性伸縮,而這是在實現(xiàn)存儲與計算分離的云原生架構(gòu)誕生之前無法實現(xiàn)的。目前來看,相較于RDS,使用POLARDB將會使得成本降低約44%,這就是技術(shù)釋放的紅利。

在易用性方面,POLARDB可以100%兼容RDS,并且可以在阿里云上一鍵將RDS替換為POLARDB,此外還提供了智能讀寫分離、性能洞察以及SQL審計等優(yōu)秀的功能。

此外,POLARDB在2019年也實現(xiàn)了技術(shù)的全面升級。首先,POLARDB MySQL 8.0兼容版于9月12日正式發(fā)布,這是全球第一個兼容MySQL 8.0版本的云原生數(shù)據(jù)庫。其次,POLARDB分布式數(shù)據(jù)庫服務也正式發(fā)布,其存儲容量支持最多超過100TB。再次,POLARDB的高性能存儲引擎X-Engine即將發(fā)布,X-Engine存儲引擎具有高性能和高壓縮率,并且經(jīng)歷了2018年雙11的實戰(zhàn)考驗。此外,POLARDB對于Oracle的語法兼容性特性也即將實現(xiàn)商業(yè)化,能夠為用戶帶來將近6倍的成本降低。此外,本次的云棲大會上還正式發(fā)布了POLARDB一體機,它能夠更好地幫助用戶在私有云上使用POLARDB數(shù)據(jù)庫。

目前,阿里云POLARDB數(shù)據(jù)庫已經(jīng)成了增長最快的云數(shù)據(jù)庫產(chǎn)品,未來也將會提供更多的特性,為客戶帶來更多的價值。

2、POLARDB MySQL存儲引擎優(yōu)化實踐

楊辛軍(Jimmy Yang) 阿里云智能資深技術(shù)專家為大家介紹了阿里云POLARDB 8.0基于MySQL 8.0所做的存儲引擎優(yōu)化實踐。

POLARDB實現(xiàn)了快速高效的物理復制,使得IO操作減少了50%,同時能夠達到100T的存儲容量。與此同時,相比于原本的邏輯復制,POLARDB的物理復制更加可靠、高效,并且對于性能影響幾乎不可見。傳統(tǒng)的邏輯復制比物理復制延遲大很多,而且可能會出現(xiàn)系統(tǒng)堵塞,對業(yè)務造成影響,物理復制則不會產(chǎn)生這樣的影響。此外,POLARDB基于共享存儲還實現(xiàn)了非堵塞、低延遲的DDL復制,并且支持快速動態(tài)的讀擴展,最高支持擴展到16個只讀節(jié)點。

POLARDB是全球第一個具有高效物理復制的,共享存儲并兼容MySQL 8.0的云數(shù)據(jù)庫。POLARDB不僅包含了MySQL 8.0的所有重要功能,還在MySQL內(nèi)核引擎的基礎(chǔ)之上進行了大量的優(yōu)化。

雖然POLARDB使用了物理復制,但是基于客戶對于數(shù)據(jù)進行數(shù)據(jù)分析和傳輸需要Binlog的考慮,POLARDB也支持了Binlog。在性能優(yōu)化方面,POLARDB最新的“Copy Page”功能減少了主節(jié)點Flush Constraint。POLARDB對于邏輯鎖系統(tǒng)進行了分區(qū),減少了mutex的沖突,并且將死鎖檢測實現(xiàn)了并行化。POLARDB對于Transaction System也進行了優(yōu)化,使用Lock Free數(shù)據(jù)結(jié)構(gòu)來管理Transaction System的Lists。

相比于POLARDB 5.6版本,POLARDB 8.0版本在性能表現(xiàn)上有了顯著提升,在關(guān)鍵情況下都有了數(shù)倍的改進。相比于MySQL 8.0的官方版本,POLARDB 8.0的優(yōu)化改進所帶來的效果也非常明顯,尤其是物理復制方面具有顯著的優(yōu)勢,在Insert情況下POLARDB性能可達到MySQL的約6倍。

官方MySQL向8.0版本演進時過于重視高配機型的適配,而忽略了小型機的性能。而云上用戶大部分還是用的8核、16核的小型機,因此使用MySQL8.0的性能會發(fā)生退化。因此,阿里云POLARDB數(shù)據(jù)庫針對于這個問題進行了一系列優(yōu)化。

相較于MySQL 8.0,阿里云POLARDB 8.0版本提供了更多的內(nèi)核引擎功能,比如獨立可擴展的共享Buffer Pool、行級壓縮、全球?qū)嵗С帧⒉⑿蠨DL、分區(qū)表自建索引以及自建分區(qū)表等。

3、POLARDB MySQL并行查詢優(yōu)化詳解

阿里云智能資深技術(shù)專家封仲淹為大家詳細介紹了POLARDB基于MySQL 8.0內(nèi)核所做的并行查詢優(yōu)化。

并行查詢是POLARDB 8.0版本重磅推出的一個特性,阿里云POLARDB團隊投入了大量人力和物力來開發(fā)這個特性,并且從目前來看,客戶對于并行查詢的反饋非常好。

首先思考一個問題:為什么需要并行查詢?阿里使用MySQL的歷史已經(jīng)過了十余年,在MySQL使用中遇到的所有問題,阿里基本都遇到過。其中最令人頭痛的問題就是當MySQL表的數(shù)據(jù)量特別大時,查詢會非常的慢。大部分方案都是通過拆庫將數(shù)據(jù)量縮小。

此外,業(yè)界的一個趨勢CPU單核頻率達到了瓶頸,增長放緩。而我們對于計算能力的訴求是永無止境的,因此CPU只能向著多核演進。而MySQL屬于傳統(tǒng)事務型數(shù)據(jù)庫,其無法并行執(zhí)行單條Query,因此無法充分利用多核的作用。業(yè)界的通用做法就是并行查詢,如今幾乎所有商業(yè)數(shù)據(jù)庫都提供并行查詢的能力,將任務分攤給多個線程并行計算,大幅度縮短計算時間。

那么,如何實現(xiàn)并行查詢呢?并行查詢首要關(guān)注的就是數(shù)據(jù)分區(qū),這樣才能使得每個Worker同時工作,互不干擾。由優(yōu)化器決定分區(qū)的數(shù)量,并且讓 Worker與分區(qū)動態(tài)綁定,實現(xiàn)“能者多勞”,防止熱點問題的出現(xiàn),使得計算更加均勻,保障了并行查詢的線性性能提升。在并行計算里面,將單線程Plan Tree改為了多線程,劃分Worker和Leader兩個角色,盡可能將所有算子下推到Worker中,利用Worker并行能力加速,而讓Leader做匯總和反饋。

那么,并行查詢的效果如何呢?在TPCH 100G數(shù)據(jù)量的情況下,使用POLARDB并行查詢時發(fā)現(xiàn)70%的查詢可以被加速,40%的加速比超過10倍,幾乎能夠?qū)PU能力完全發(fā)揮出來。

與此同時,并行查詢還具有線性增長的能力,這意味著當數(shù)據(jù)量大的時候,只需要給與足夠多的CPU和內(nèi)存,處理能力就能夠?qū)崿F(xiàn)線性增長。在TPCH 5G、10G、20G以及40G四種數(shù)據(jù)量維度下,不斷調(diào)整并發(fā)度,而性能曲線基本上出現(xiàn)線性增長趨勢。

使用并行查詢也比較簡單,用戶可以在控制臺、Session或者SQL中進行設(shè)置自己需要的并發(fā)度。在未來,POLARDB會實現(xiàn)自動的DOP以及ResourceManager,并將支持Subquery、GIS和Blob以及Procedure等。

4、POLARDB 兼容Oracle能力解密與遷移

阿里云智能資深技術(shù)專家蔡松露為大家深度了揭秘POLARDB是如何實現(xiàn)兼容Oracle能力的。

之前POLARDB主要兼容MySQL、PostgreSQL等開源數(shù)據(jù)庫,而現(xiàn)在POLARDB也已經(jīng)兼容了Oracle,這和之前兼容開源數(shù)據(jù)庫是不同的。之所以要兼容Oracle主要有幾個方面的原因,首先目前公有云已經(jīng)進入了深水區(qū),因此需要更多地深入線下的存儲和計算場景;其次在如今的政治環(huán)境中,國家層面對于“去O”有了新的要求,而目前國內(nèi)市場還屬于真空。基于以上背景、機遇和挑戰(zhàn),阿里云推出了POLARDB兼容Oracle的產(chǎn)品。而如何實現(xiàn)真正的兼容,以及如何將數(shù)據(jù)從Oracle遷移到POLARDB都存在很多挑戰(zhàn)。

POLARDB目前100%兼容了MySQL 5.6、MySQL 8.0以及PostgreSQL 11,此外還高度兼容了Oracle,因為Oracle語法本身非常復雜,因此整體兼容度可以達到95%左右。除了兼容Oracle之外,基于POLARDB本身的能力可以在Proxy層實現(xiàn)自定義讀寫分離和自動負載均衡。Oracle在引擎層能夠提供多寫能力,但是POLARDB提供的是一寫多讀能力。存儲層的Polar Store類似于Oracle的ASM。POLARDB本身的能力基本都被其兼容Oracle的產(chǎn)品復用了。

POLARDB Oracle版本從幾個層次做了兼容,首先是操作界面能夠完全兼容,對于DBA而言遷移成本基本為0。其次,對于應用開發(fā)而言,目前POLARDB使用的PG開源的SDK。而對于引擎架構(gòu)而言,POLARDB的架構(gòu)基本和Oracle類似。目前使用的存儲也是和ASM對標的。

兼容只是起點,使用POLARDB不只是獲得了對于Oracle的兼容性,還提供了更強大的能力。不僅能夠獲得云原生能力,兼容更多的數(shù)據(jù)生態(tài),并且還提供了更多的數(shù)據(jù)增值服務以及業(yè)界的解決方案,其背后是整個阿里巴巴生態(tài)的技術(shù)能力。

本次云棲大會上發(fā)布的POLARDB一體機使用了云原生的管控系統(tǒng),沉淀了阿里巴巴之前在公有云上積累的管控經(jīng)驗。一體機使用了軟硬一體化設(shè)計,實現(xiàn)了整機柜交付,并且集成了大量的成熟新硬件。主要面向政企行業(yè),能夠?qū)崿F(xiàn)從Oracle一鍵遷移。一體機使用K8S底座,能夠方便與自有系統(tǒng)集成。

Oracle數(shù)據(jù)庫遷移需要經(jīng)過評估、測試、遷移、管理、分析診斷以及付費等諸多環(huán)節(jié),而阿里云為用戶在各個階段提供了非常完善的功能。

總結(jié)而言,對于Oracle的兼容性可以分為五個維度:

? 工具和生態(tài):兼容DBA、開發(fā)者等相關(guān)人員的使用習慣;

? SQL語法:對應用而言需要改造成本接近于零;

? 性能:避免性能退化;

? 成本:可以將成本做到極低;

? 部署:線上線下實現(xiàn)混合云架構(gòu)。

那么,如何做遷移呢?阿里云提供了數(shù)據(jù)庫和應用遷移(ADAM),其包含了采集、畫像、評估、改造以及遷移系統(tǒng),能夠幫助企業(yè)最大限度降低ORACLE數(shù)據(jù)庫和應用遷移上云的風險、技術(shù)難度和實施周期。ADAM脫胎于阿里巴巴內(nèi)部“去O”的實踐,能夠幫助用戶做到一鍵上云。

5、使用云原生技術(shù)構(gòu)建可擴展的游戲數(shù)據(jù)庫架構(gòu)

江娛互動CTO羅田唯為大家介紹了如何使用云原生技術(shù)構(gòu)建可擴展的游戲數(shù)據(jù)庫架構(gòu)。

江娛互動是一家專注于小游戲公司,頭部產(chǎn)品是“世界爭霸”小游戲。 “世界爭霸”小游戲首先算是一個大型社交系統(tǒng),目前的服務數(shù)量達到了200多個,超過1百萬日活,每天5億次用戶請求。其次是大型數(shù)據(jù)庫系統(tǒng),目前有200多個數(shù)據(jù)庫實例,總數(shù)據(jù)量在10TB之上。最后,游戲還是大型日志系統(tǒng),這對于分析玩家很重要,“世界爭霸”每天日志量在50TB之上。

對于游戲產(chǎn)業(yè)而言,面對著低延遲、重支付和全球同服的挑戰(zhàn)。面對海量的請求、數(shù)據(jù)和日志,服務器數(shù)量多、架構(gòu)復雜以及帶來運維壓力大,還有研發(fā)團隊能力不足、研發(fā)周期短以及要求高的挑戰(zhàn),完全由自己團隊負責是無法搞定的。

“世界爭霸”小游戲數(shù)據(jù)總量很大,單表數(shù)據(jù)量也大,并且QPS也很高。如果使用自建數(shù)據(jù)庫方案,使用MySQL數(shù)據(jù)庫,并且使用Cobar中間件做分庫分表。自建數(shù)據(jù)庫的方案缺點很明顯,架構(gòu)比較復雜,搭建和維護的成本都非常高,并且穩(wěn)定性難以保障。如果采用上云的傳統(tǒng)方案就是使用阿里云RDS來替代MySQL,這樣的缺點也是這種方案不夠靈活,這樣的方案對于傳統(tǒng)電商而言可能夠用,但是對于游戲而言是不足夠的,雖然搭建和維護比較方便,但是穩(wěn)定性卻不夠好。

從2019年5月使用POLARDB以來,江娛互動目前已經(jīng)成為了POLARDB華北區(qū)最大客戶。POLARDB的優(yōu)點在于存儲和計算分離,擴展性強,并且單表容量大,小表性能平穩(wěn),同等規(guī)格下是RDS性能的7倍,并且相較于RDS能夠節(jié)省一半成本。POLARDB穩(wěn)定性也非常高,SLA接近于100%。

6、大規(guī)模實時互動課堂下的POLARDB實踐

猿輔導資深研發(fā)架構(gòu)師李陽明為大家介紹了在線教育公司猿輔導的大規(guī)模實時互動課堂下的POLARDB實踐。

猿輔導是一家在線教育公司,正在為超過2.5億的中小學生和家長提供多元化的智能教育服務,主營業(yè)務為在線題庫、拍照搜題、實時互動課堂、直播云輔導等。

猿輔導對于實時互動課堂的定義包含三個要素:實時可互動、活動類型豐富以及用戶體驗穩(wěn)定一致。對于在線課程測驗這個典型場景主要面對的挑戰(zhàn)有三條,即流量規(guī)模比較大,業(yè)務需求多樣和業(yè)務變更頻繁。首先,對于猿輔導這樣的面向K12在線教育而言,流量會有明顯的周期差異,存在明顯的波峰和波谷,中小學生往往會在工作日的晚上或者周末才有時間上課。此外,房間規(guī)模也不同,猿輔導有上千個千人班級,還有若干十萬人的班級,而這兩種班級的流量是不同的。其次,猿輔導的業(yè)務需求比較多樣,不同年級的功能側(cè)重點不同,不同角色關(guān)心的內(nèi)容也不同。

猿輔導最初使用MySQL + Redis方案,MySQL落盤核心數(shù)據(jù)并提供回放服務,Redis則實現(xiàn)各種榜單供直播使用。這種方案的問題是Redis數(shù)據(jù)無法復用,導致寫多份,并且單機MySQL存在性能瓶頸無法支持更高的QPS。后來猿輔導就引入了POLARDB數(shù)據(jù)庫,并將統(tǒng)計功能進行了微服務化,去掉了Redis。

這樣的方案運行了半年,也遇到了三點主要的問題:處理能力被高估、缺乏隔離和缺乏擴展性。于是猿輔導借助POLARDB實現(xiàn)的數(shù)據(jù)庫架構(gòu)的再次演進,實現(xiàn)了數(shù)據(jù)庫的垂直拆分、水平拆分、讀寫分離和提交異步化。

猿輔導現(xiàn)在的數(shù)據(jù)庫架構(gòu)還存在著一些遺留的問題,比如負載均衡策略不可配、永久回放帶來數(shù)據(jù)負擔以及課堂外數(shù)據(jù)統(tǒng)計也是一個負擔。因此,猿輔導也進行了一些負載均衡方面的優(yōu)化,比如支持按照負載進行Shard調(diào)度,也支持手工指定房間的Shard,而且使得基礎(chǔ)組件支持動態(tài)下發(fā)分片信息。


原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

總結(jié)

以上是生活随笔為你收集整理的云原生数据库POLARDB专场“硬核”解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。