中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

新一代數(shù)據(jù)庫(kù)技術(shù)在雙11中的黑科技

2018-07-20    來(lái)源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

摘要: 12月13-14日,由云棲社區(qū)與阿里巴巴技術(shù)協(xié)會(huì)共同主辦的《2017阿里巴巴雙11技術(shù)十二講》順利結(jié)束,集中為大家分享了2017雙11背后的黑科技。本文是《新一代數(shù)據(jù)庫(kù)技術(shù)在雙11中的應(yīng)用》演講整理,本文主要從數(shù)據(jù)庫(kù)上云和彈性調(diào)度開(kāi)始談起,重點(diǎn)分享了新一代數(shù)據(jù)庫(kù)以及其在雙11中的應(yīng)用,包括X-DB、X-KV和ESDB等。

12月13-14日,由云棲社區(qū)與阿里巴巴技術(shù)協(xié)會(huì)共同主辦的《2017阿里巴巴雙11技術(shù)十二講》順利結(jié)束,集中為大家分享了2017雙11背后的黑科技。本文是《新一代數(shù)據(jù)庫(kù)技術(shù)在雙11中的應(yīng)用》演講整理,本文主要從數(shù)據(jù)庫(kù)上云和彈性調(diào)度開(kāi)始談起,重點(diǎn)分享了新一代數(shù)據(jù)庫(kù)以及其在雙11中的應(yīng)用,包括X-DB、X-KV和ESDB等。內(nèi)容如下。

分享嘉賓:

張瑞:阿里巴巴研究員,阿里集團(tuán)數(shù)據(jù)庫(kù)技術(shù)團(tuán)隊(duì)負(fù)責(zé)人,經(jīng)歷阿里數(shù)據(jù)庫(kù)技術(shù)變革歷程,連續(xù)六年作為數(shù)據(jù)庫(kù)總負(fù)責(zé)人參與雙11備戰(zhàn)工作。

雙11是一場(chǎng)技術(shù)大練兵,是互聯(lián)網(wǎng)界的超級(jí)工程。需要做到支撐盡可能高的零點(diǎn)峰值,給用戶最好的體驗(yàn);也要做到成本盡可能低,要求極致的彈性能力;還要做到整體系統(tǒng)的穩(wěn)定。

數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)極致彈性能力

數(shù)據(jù)庫(kù)上云

數(shù)據(jù)庫(kù)實(shí)現(xiàn)彈性是比較難的,數(shù)據(jù)庫(kù)對(duì)性能要求非常高,因此,必須實(shí)現(xiàn)數(shù)據(jù)庫(kù)上云,但是如何上云呢?

數(shù)據(jù)庫(kù)上云面臨以下幾個(gè)難點(diǎn):

  1. 數(shù)據(jù)庫(kù)如何上云,并快速構(gòu)建混合云?
  2. 如何降低虛擬化帶來(lái)的性能損耗?
  3. 公有云環(huán)境和內(nèi)部網(wǎng)絡(luò)的互通問(wèn)題。

經(jīng)過(guò)幾年的探索,這些難點(diǎn)都已得到解決。第一,高性能ECS可以和物理機(jī)性能一樣,主要使用了SPDK、DPDK技術(shù)和NVMe存儲(chǔ),讓虛擬化損耗非常小,接近物理機(jī);第二,數(shù)據(jù)庫(kù)彈性混合云問(wèn)題得到解決,可以同時(shí)管理云上和云下環(huán)境,用戶可以在雙11前把混合云構(gòu)建起來(lái),支撐雙十一峰值。

數(shù)據(jù)庫(kù)彈性調(diào)度

只有上云是遠(yuǎn)遠(yuǎn)不夠的,還要進(jìn)行離在線混布。而數(shù)據(jù)庫(kù)實(shí)現(xiàn)彈性調(diào)度的兩大基礎(chǔ)條件是容器化和計(jì)算存儲(chǔ)分離。容器性能需要與物理機(jī)持平,存儲(chǔ)計(jì)算分離依賴于硬件的發(fā)展,25G網(wǎng)絡(luò)和高性能分布式存儲(chǔ)盤(pán)古讓其成為可能。

數(shù)據(jù)庫(kù)存儲(chǔ)計(jì)算分離架構(gòu)如圖,包括存儲(chǔ)層、網(wǎng)絡(luò)層和計(jì)算層,存儲(chǔ)使用阿里自研分布式存儲(chǔ)系統(tǒng)-盤(pán)古,數(shù)據(jù)庫(kù)計(jì)算節(jié)點(diǎn)則部署在阿里自研容器(Pouch)中,除此以外,還有存儲(chǔ)管控系統(tǒng)。

為了實(shí)現(xiàn)存儲(chǔ)和計(jì)算分離,我們?cè)诖鎯?chǔ)上做了許多工作,包括:

二三異步:第三個(gè)副本異步完成,平均延時(shí)降低10%以上,4個(gè)9 latency降低3-4倍;

QoS流控:根據(jù)前臺(tái)業(yè)務(wù)負(fù)載情況控制后臺(tái)IO流量,保證寫(xiě)入性能;

快速Failover:存儲(chǔ)集群?jiǎn)螜C(jī)FO優(yōu)化為5s,達(dá)到業(yè)界領(lǐng)先水平;

高可用部署:?jiǎn)渭核腞ack部署,將數(shù)據(jù)可靠性提升到10個(gè)9。

在數(shù)據(jù)庫(kù)方面我們也做了大量?jī)?yōu)化,最重要的是降低網(wǎng)絡(luò)吞吐,以此來(lái)降低網(wǎng)絡(luò)延遲對(duì)于數(shù)據(jù)庫(kù)性能的影響。比如:redo sync優(yōu)化,吞吐提升100%;由于盤(pán)古存儲(chǔ)支持原子寫(xiě),所以我們關(guān)閉Double Write Buffer,高壓力下吞吐提升20%,帶寬節(jié)省100%。

雙11數(shù)據(jù)庫(kù)混布技術(shù)

容器化和存儲(chǔ)計(jì)算分離,使得數(shù)據(jù)庫(kù)無(wú)狀態(tài)化,具備調(diào)度能力。在雙11高峰,通過(guò)將共享存儲(chǔ)掛載到不同的計(jì)算集群(離線集群),實(shí)現(xiàn)數(shù)據(jù)庫(kù)的快速?gòu)椥浴?/p>

阿里新一代數(shù)據(jù)庫(kù)技術(shù)

阿里最早是商業(yè)數(shù)據(jù)庫(kù),然后我們做去IOE,研發(fā)出阿里MySQL分支AliSQL和分布式中間件TDDL。2016年,我們開(kāi)始思考新一代數(shù)據(jù)庫(kù)技術(shù)X-DB,X代表追求極限性能,挑戰(zhàn)無(wú)限可能的含義。

阿里的業(yè)務(wù)場(chǎng)景對(duì)于數(shù)據(jù)庫(kù)有很高的要求:

數(shù)據(jù)要可擴(kuò)展;

持續(xù)可用、數(shù)據(jù)要強(qiáng)一致;

數(shù)據(jù)量大、重要程度高;

數(shù)據(jù)有明顯的生命周期特性,冷熱數(shù)據(jù)特點(diǎn)鮮明;

交易、庫(kù)存,支付等業(yè)務(wù),操作邏輯簡(jiǎn)單,要求高性能。

因此,定義新一代數(shù)據(jù)庫(kù)就要包含幾個(gè)重要特點(diǎn):具備數(shù)據(jù)強(qiáng)一致、全球部署能力;內(nèi)置分布式、高性能、高可用能力;具備自動(dòng)數(shù)據(jù)生命周期管理能力。

X-DB架構(gòu)圖

X-DB架構(gòu)如圖,引入Paxos分布式一致性協(xié)議解決問(wèn)題;可異地部署,雖然網(wǎng)絡(luò)延時(shí)增加,但能夠保持高性能(吞吐),在同城三節(jié)點(diǎn)部署模式下,性能與單機(jī)持平,同時(shí)具備網(wǎng)絡(luò)抖動(dòng)的高容忍性。

X-DB核心技術(shù)之一:高性能Paxos基礎(chǔ)庫(kù)X-Paxos是實(shí)現(xiàn)三節(jié)點(diǎn)能力的核心,可實(shí)現(xiàn)跨AZ、Region的數(shù)據(jù)強(qiáng)一致能力,實(shí)現(xiàn)5個(gè)9以上的持續(xù)可用率。

X-DB核心技術(shù)之二:Batching & Pipelining。X-DB在事務(wù)提交時(shí),必須保證日志在數(shù)據(jù)庫(kù)節(jié)點(diǎn)的多數(shù)派收到并提交,這是保證數(shù)據(jù)強(qiáng)一致基礎(chǔ),由于事務(wù)在提交時(shí)必須需要跨網(wǎng)絡(luò),這一定會(huì)導(dǎo)致延時(shí)增加,要保證高延時(shí)下的吞吐是非常困難的。Batching & Pipelining技術(shù)保證盡可能批量提交,數(shù)據(jù)可以亂序接收和確認(rèn),最終保證日志順序提交?梢栽诟哐訒r(shí)的情況下,保持很高的吞吐能力。

X-DB核心技術(shù)之三:異步化提交,數(shù)據(jù)庫(kù)線程池在提交時(shí)會(huì)等待,為了最大程度提升性能,我們采用了異步化提交技術(shù),最大可能保證數(shù)據(jù)庫(kù)線程池可以高效工作。通過(guò)這些技術(shù)保證X-DB在三節(jié)點(diǎn)模式下的高吞吐量。

X-DB與MySQL Group Replication的對(duì)比測(cè)試

我們與Oracle官方的Group Replication作對(duì)比。在三節(jié)點(diǎn)同IDC部署模式下,sysbench標(biāo)準(zhǔn)化測(cè)試。Insert場(chǎng)景,我們可以做到MySQL官方的2.4倍,響應(yīng)時(shí)間比官方低。

在三節(jié)點(diǎn)三地部署模式下,sysbench標(biāo)準(zhǔn)化測(cè)試。Insert場(chǎng)景,X-DB(5.04萬(wàn))性能優(yōu)勢(shì)特別明顯,是MySQL GR(0.85萬(wàn))的5.94倍,響應(yīng)延時(shí)X-DB(58ms)是MySQL GR(150ms)的38%。

典型應(yīng)用場(chǎng)景

同城跨AZ部署替代傳統(tǒng)主備模式,我們把原來(lái)主備模式變成三節(jié)點(diǎn),解決跨AZ數(shù)據(jù)質(zhì)量問(wèn)題和高可用問(wèn)題。跨AZ數(shù)據(jù)強(qiáng)一致,單AZ不可用數(shù)據(jù)零丟失、單AZ不可用秒級(jí)切換、切換自封閉,無(wú)第三方組件。相對(duì)主備模式零成本增加。

跨Region部署,用更底層的數(shù)據(jù)庫(kù)技術(shù)解決異地多活問(wèn)題,三地六副本(主備模式)降低為三地四副本(三地五節(jié)點(diǎn)四數(shù)據(jù)),對(duì)于業(yè)務(wù)來(lái)說(shuō),可以享受跨Region數(shù)據(jù)強(qiáng)一致,單個(gè)Region不可用零數(shù)據(jù)丟失;跨Region強(qiáng)同步下依然保持高性能;切換策略靈活,可以優(yōu)先切換同Region,也可定制跨Region切換順序。

數(shù)據(jù)庫(kù)在雙11中的黑科技

X-KV在雙11中的應(yīng)用

X-KV是基于MySQL Memcached plugin的增強(qiáng),今年我們做了大幅度的改進(jìn),支持更多數(shù)據(jù)類型,支持非唯一索引、組合索引,支持Multi get 功能,支持Online Schema change,最大變化是通過(guò)TDDL支持SQL轉(zhuǎn)換。對(duì)于業(yè)務(wù)方,X-KV優(yōu)勢(shì)是超高讀取性能,數(shù)據(jù)強(qiáng)一致;減少應(yīng)用響應(yīng)時(shí)間,降低成本;同時(shí)支持SQL,應(yīng)用可以透明遷移。

TDDL for X-KV優(yōu)化如下:

獨(dú)立KV連接池:SQL和KV連接池相互獨(dú)立;變更時(shí),兩套連接池保持協(xié)同一致;應(yīng)用可以快速在兩套接口之間切換。

優(yōu)化的KV通信協(xié)議:不再需要分隔符,協(xié)議實(shí)現(xiàn)。

結(jié)果集自動(dòng)類型轉(zhuǎn)換:字符串自動(dòng)轉(zhuǎn)換為MySQL類型。

交易賣家?guī)斓男阅芷款i解決方案

隨著雙11交易量增長(zhǎng),近兩年交易賣家?guī)斓耐窖訒r(shí)一直比較大,導(dǎo)致商戶不能及時(shí)處理雙11訂單;且賣家?guī)煊写罅繌?fù)雜的查詢,性能差。我們?cè)?jīng)通過(guò)為大賣家設(shè)置獨(dú)立隊(duì)列、同步鏈路合并操作和賣家?guī)煜蘖鞯冗M(jìn)行優(yōu)化,但仍然沒(méi)有完全解決問(wèn)題。

ESDB是基于ES打造的分布式文檔數(shù)據(jù)庫(kù),我們?cè)贓S的基礎(chǔ)上,支持了SQL接口,應(yīng)用可以從MySQL無(wú)縫遷移到ESDB;針對(duì)大賣家,提供動(dòng)態(tài)二級(jí)散列功能,解決大賣家同步的性能瓶頸。同時(shí)還做了大量的性能優(yōu)化和限流保護(hù)等功能。

數(shù)據(jù)庫(kù)監(jiān)控系統(tǒng)演進(jìn)

數(shù)據(jù)庫(kù)秒級(jí)監(jiān)控的技術(shù)挑戰(zhàn)有很多,具體有以下四點(diǎn):

  1. 海量數(shù)據(jù):平均每秒處理1000萬(wàn)項(xiàng)監(jiān)控指標(biāo),峰值1400萬(wàn);
  2. 復(fù)雜的聚合邏輯:地域、機(jī)房、單元、業(yè)務(wù)集群、數(shù)據(jù)庫(kù)主備等多維度數(shù)據(jù)聚合;
  3. 實(shí)時(shí)性要求高:監(jiān)控盯屏需要立即看到上一秒的監(jiān)控?cái)?shù)值;
  4. 計(jì)算資源:占用盡可能少的資源進(jìn)行采集和計(jì)算。

整個(gè)鏈路經(jīng)歷三代架構(gòu):第一代,Agent + MySQL;第二代,Agent + datahub + 分布式NoSQL;第三代,Agent + 實(shí)時(shí)計(jì)算引擎 + HiTSDB。

HiTSDB是阿里自研的時(shí)序數(shù)據(jù)庫(kù),通過(guò)實(shí)時(shí)計(jì)算引擎將秒級(jí)性能數(shù)據(jù)、全量SQL運(yùn)行狀況進(jìn)行預(yù)先處理后,存儲(chǔ)在HiTSDB中。通過(guò)第三代架構(gòu),實(shí)現(xiàn)了雙11高峰不降低的秒級(jí)監(jiān)控能力,這對(duì)我們了解系統(tǒng)運(yùn)行狀況、診斷問(wèn)題是非常有幫助的。

CloudDBA在雙11中的應(yīng)用

阿里擁有業(yè)界最富有經(jīng)驗(yàn)的DBA,海量的性能診斷數(shù)據(jù)。我們的目標(biāo)是把阿里DBA的經(jīng)驗(yàn)、大數(shù)據(jù)和機(jī)器智能技術(shù)結(jié)合起來(lái),目標(biāo)是三年后不再需要DBA做數(shù)據(jù)庫(kù)診斷、優(yōu)化等工作,而是讓機(jī)器來(lái)完成數(shù)據(jù)庫(kù)的智能化管理。我們認(rèn)為自診斷、自優(yōu)化、自運(yùn)維是未來(lái)數(shù)據(jù)庫(kù)技術(shù)發(fā)展的重要方向。

CloudDBA在今年雙11也做了一些探索,通過(guò)對(duì)全量SQL以及監(jiān)控?cái)?shù)據(jù)的分析,我們實(shí)現(xiàn)了SQL自動(dòng)優(yōu)化(慢SQL調(diào)優(yōu))、空間優(yōu)化(無(wú)用表無(wú)用索引分析)、訪問(wèn)模型優(yōu)化(SQL和KV)和存儲(chǔ)空間增長(zhǎng)預(yù)測(cè)等功能。

展望明年雙11,Higher,F(xiàn)aster,Smarter

更高:更高交易創(chuàng)建峰值;

更快:高性能數(shù)據(jù)庫(kù)、高性能存儲(chǔ);

更智能:CloudDBA發(fā)揮更大價(jià)值。

 

來(lái)自:https://segmentfault.com/a/1190000012540062

 

標(biāo)簽: idc Mysql 大數(shù)據(jù) 公有云 互聯(lián)網(wǎng) 機(jī)房 數(shù)據(jù)庫(kù) 通信 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:Redis 數(shù)據(jù)類型及應(yīng)用場(chǎng)景

下一篇:(譯)TensorFlow 廣度和深度學(xué)習(xí)的教程