精品国产亚洲一区二区三区|亚洲国产精彩中文乱码AV|久久久久亚洲AV综合波多野结衣|漂亮少妇各种调教玩弄在线

<blockquote id="ixlwe"><option id="ixlwe"></option></blockquote>
  • <span id="ixlwe"></span>

  • <abbr id="ixlwe"></abbr>

    架構(gòu)與算法創(chuàng)新,讓分布式存儲(chǔ)煥然一新!

    分布式存儲(chǔ)在數(shù)據(jù)存儲(chǔ)產(chǎn)業(yè)中的占比越來(lái)越高,得益于分布式Scale-out的高擴(kuò)展性,以及高速網(wǎng)絡(luò)技術(shù)的發(fā)展,分布式存儲(chǔ)逐漸成為主流,解決海量跨源、跨域、跨協(xié)議的非結(jié)構(gòu)化數(shù)據(jù)“存得下”,“管得好”以及高效互通的問(wèn)題。

    企業(yè)用戶希望從分布式存儲(chǔ)獲取哪些能力呢,可以概括為五點(diǎn):高性能、低成本、高可靠、易管理、易擴(kuò)展。針對(duì)這些核心訴求,鯤鵬BoostKit分布式存使能套件打造了全局緩存特性,本質(zhì)上是一個(gè)分布式存儲(chǔ)使能中間件,即中間的軟件層,這里簡(jiǎn)單將全局緩存支持或者規(guī)劃的特性總結(jié)為資源管理、系統(tǒng)加速以及企業(yè)高級(jí)特性三類(lèi),用于解決伙伴和企業(yè)對(duì)于數(shù)據(jù)存儲(chǔ)的核心需求。

    以高性能需求為例,我們通過(guò)結(jié)合讀寫(xiě)緩存來(lái)縮短讀寫(xiě)訪問(wèn)路徑,提供低時(shí)延訪問(wèn),結(jié)合數(shù)據(jù)聚合實(shí)現(xiàn)隨機(jī)寫(xiě)入轉(zhuǎn)為順序?qū)懭?,大幅削減磁盤(pán)尋道、旋轉(zhuǎn)延遲對(duì)硬盤(pán)能力發(fā)揮的阻礙,以及結(jié)合全新設(shè)計(jì)的元數(shù)據(jù)管理引擎實(shí)現(xiàn)變長(zhǎng)數(shù)據(jù)自適應(yīng)管理。

    全局緩存實(shí)現(xiàn)高性能、低成本、高可靠、易管理、易擴(kuò)展,得益于其架構(gòu),以及算法創(chuàng)新,接下來(lái)我們分別分享其背后的設(shè)計(jì)思路。

    全局緩存的軟件架構(gòu)設(shè)計(jì):遵循清晰、合適、易演進(jìn)原則

    (圖:全局緩存技術(shù)堆棧)

    全局緩存是一個(gè)華為自研的分布式存儲(chǔ)緩存加速套件,支持一體化、自管理、可擴(kuò)展部署,提供掉電保護(hù),并且不存在單點(diǎn)故障問(wèn)題。

    整體的架構(gòu)設(shè)計(jì)遵循清晰簡(jiǎn)潔、合適和易演進(jìn)的原則,從而把系統(tǒng)設(shè)計(jì)的足夠簡(jiǎn)單,原因在于我們知道分布式存儲(chǔ)可以看作是分布式系統(tǒng)的集大成者,其不僅包含各種正常功能場(chǎng)景,比如我們前面提到的資源管理、系統(tǒng)加速以及企業(yè)特性,還包括非常多的異常流程,這些正常流程與異常流程正交以后導(dǎo)致我們系統(tǒng)復(fù)雜度非常容易膨脹。

    雖然任何分布式系統(tǒng)都有正常和異常流程,但其實(shí)是有差別的,因?yàn)榉植际酱鎯?chǔ)承載了用戶核心數(shù)據(jù),是不允許數(shù)據(jù)丟失或不一致的,業(yè)務(wù)恢復(fù)不僅要考慮RTO,還要考慮RPO,增加一個(gè)維度,帶來(lái)的復(fù)雜度不是翻倍,而是升維,本質(zhì)上還是一個(gè)正交的過(guò)程。

    基于此,整個(gè)架構(gòu)設(shè)計(jì)過(guò)程都致力于降低系統(tǒng)復(fù)雜度,第一步就是充分解耦,從圖中可以看到,全局緩存從邏輯和部署都是與計(jì)算集群和存儲(chǔ)集群解耦的,相當(dāng)于一層緩存加速中間件,從而可以實(shí)現(xiàn)自管理、獨(dú)立部署、獨(dú)立運(yùn)行,不侵入Ceph等開(kāi)源軟件,做到應(yīng)用無(wú)感加速。

    解耦之后,全局緩存借鑒微服務(wù)的思想,通過(guò)客戶端適配層、服務(wù)端適配層和存儲(chǔ)代理層等抽象外部接口依賴,相當(dāng)于API網(wǎng)關(guān),對(duì)外屏蔽系統(tǒng)內(nèi)部的復(fù)雜性,最小化場(chǎng)景、協(xié)議以及軟件升級(jí)等帶來(lái)的適配開(kāi)銷(xiāo)。

    對(duì)于全局緩存的軟件架構(gòu),其整體可以看作一個(gè)微內(nèi)核架構(gòu),除了管理工具和ZK等是獨(dú)立進(jìn)程部署以外,為了避免數(shù)據(jù)面和控制面的耦合以及相互影響,我們還將數(shù)據(jù)面和控制面拆分成了獨(dú)立進(jìn)程,這樣就可以避免故障場(chǎng)景等場(chǎng)景的相互耦合與影響。

    但是我們知道,服務(wù)并非拆分的越細(xì)越好,為了實(shí)現(xiàn)高性能、低時(shí)延,全局緩存數(shù)據(jù)面服務(wù)整體部署成獨(dú)立進(jìn)程,避免復(fù)雜的接口框架,消息通訊帶來(lái)的時(shí)延和調(diào)用棧的開(kāi)銷(xiāo);單純看數(shù)據(jù)面,內(nèi)部采用模塊化解耦設(shè)計(jì),包含多個(gè)子系統(tǒng),如多級(jí)讀寫(xiě)Cache、元數(shù)據(jù)索引、數(shù)據(jù)聚合、數(shù)據(jù)持久化等子系統(tǒng),這些子系統(tǒng)之間通過(guò)內(nèi)部接口調(diào)用進(jìn)行交互,不需要走消息通訊,所以調(diào)用鏈路短,時(shí)延低,并且模塊化的設(shè)計(jì)可以使得協(xié)同開(kāi)發(fā)與迭代變得高效和并行。

    在模塊化設(shè)計(jì)之上,全局緩存也遵循solid等設(shè)計(jì)原則,例如讀寫(xiě)緩存、元數(shù)據(jù)DB等依賴于持久化層提供的數(shù)據(jù)持久化服務(wù),它們之間的交互遵循接口隔離和依賴倒置等原則,實(shí)現(xiàn)充分解耦,從而將N*M的復(fù)雜度量級(jí)降低到N+M。

    緩存架構(gòu)創(chuàng)新:讀寫(xiě)分離、前后臺(tái)分離

    針對(duì)緩存架構(gòu),首先,全局緩存采用了讀寫(xiě)分離設(shè)計(jì),從而實(shí)現(xiàn)流程、資源、介質(zhì)、冗余策略的解耦,流程解耦例如避免寫(xiě)緩存刷盤(pán)和讀緩存淘汰相互影響,資源解耦例如實(shí)現(xiàn)讀寫(xiě)緩存獨(dú)立的配額控制,介質(zhì)解耦例如支持RAM/SCM/SSD等不同介質(zhì)加速,冗余策略解耦例如讀寫(xiě)緩存支持不同的副本策略,這樣就可以提高緩存命中率和資源利用率。

    其次,全局緩存采取前后臺(tái)分離的設(shè)計(jì)模式,將請(qǐng)求處理路徑分為前臺(tái)和后臺(tái)兩部分,前臺(tái)部分保證最快的響應(yīng)應(yīng)用的讀寫(xiě)請(qǐng)求,應(yīng)用只會(huì)感知到前臺(tái)部分的執(zhí)行時(shí)間,從而實(shí)現(xiàn)極低的應(yīng)用訪問(wèn)時(shí)延。在實(shí)現(xiàn)讀寫(xiě)分離以及前后臺(tái)分離的緩存架構(gòu)的基礎(chǔ)上,可以進(jìn)行緩存的執(zhí)行流編排,全局緩存的架構(gòu)及其執(zhí)行流可以做到從設(shè)計(jì)上屏蔽或緩解緩存原生的一致性問(wèn)題和雪崩、擊穿、穿透等問(wèn)題。例如,針對(duì)一致性問(wèn)題,數(shù)據(jù)狀態(tài)是在分布式緩存池中維護(hù),客戶端無(wú)狀態(tài),不存在源端狀態(tài)同步開(kāi)銷(xiāo);全對(duì)稱分布式架構(gòu),結(jié)合去中心化路由算法,實(shí)現(xiàn)數(shù)據(jù)精準(zhǔn)路由,數(shù)據(jù)精準(zhǔn)定位到主節(jié)點(diǎn);結(jié)合協(xié)商的執(zhí)行流編排,保障分段逐級(jí)命中最新數(shù)據(jù),例如首先命中寫(xiě)Cache臟數(shù)據(jù),然后L1讀Cache,L2讀Cache,最后才是后端存儲(chǔ),命中即返回,從設(shè)計(jì)上保證不會(huì)讀到老數(shù)據(jù)。

    高性能、低成本核心算法設(shè)計(jì)

    在全局緩存特性中,我們應(yīng)用了規(guī)模化的降本增效算法,這些算法集結(jié)了華為公司海內(nèi)外研究所,以及高校老師的全球智慧,也是全局緩存實(shí)現(xiàn)性能領(lǐng)先、成本領(lǐng)先的核心技術(shù)保障。

    高性能算法主要包括讀路徑加速和寫(xiě)路徑加速兩類(lèi),針對(duì)寫(xiě)路徑加速,我們知道,HDD磁盤(pán)的尋道和旋轉(zhuǎn)延遲是訪問(wèn)時(shí)延的大頭, HDD對(duì)IO數(shù)量和放大非常敏感,以8K數(shù)據(jù)為例,如果是隨機(jī)寫(xiě)入,一般可以做到單盤(pán)100 IOPS量級(jí),而順序?qū)懭胫髁饔脖P(pán)可以達(dá)到3W+ IOPS量級(jí),所以上述的緩存前后臺(tái)分離架構(gòu)的前提是要與高效的算法配合,不然由于后端刷盤(pán)來(lái)不及,很快就會(huì)導(dǎo)致緩存寫(xiě)滿轉(zhuǎn)透寫(xiě)。

    為此,通過(guò)IO聚合算法實(shí)現(xiàn)全周期Append-only模式的磁盤(pán)友好寫(xiě)入,IO聚合過(guò)程可以轉(zhuǎn)化為一個(gè)帶約束的組合優(yōu)化問(wèn)題,并結(jié)合啟發(fā)式方法實(shí)現(xiàn)最小空間浪費(fèi);數(shù)據(jù)聚合以后,需要結(jié)合自研的TeraDB KV數(shù)據(jù)庫(kù)實(shí)現(xiàn)小對(duì)象到聚合對(duì)象的映射管理,命名TeraDB的原因是每臺(tái)服務(wù)器管理的元數(shù)據(jù)量上限大概是700GB,接近1TB;針對(duì)元數(shù)據(jù)管理,全局緩存采用了LSM的結(jié)構(gòu),LSM對(duì)小塊的頻繁更新比較友好,但是由于其分層結(jié)構(gòu),對(duì)讀取不友好,針對(duì)此問(wèn)題,全局緩存設(shè)計(jì)了自適應(yīng)的布隆過(guò)濾器來(lái)實(shí)現(xiàn)批量檢測(cè)Key存在性,提高讀性能,另外由于非結(jié)構(gòu)化數(shù)據(jù)本身數(shù)據(jù)大小多變,我們還設(shè)計(jì)了變長(zhǎng)粒度樹(shù),實(shí)現(xiàn)大小對(duì)象的自適應(yīng)管理,既提高了查詢效率,又避免了資源浪費(fèi),大幅節(jié)省元數(shù)據(jù)開(kāi)銷(xiāo)。

    那么,實(shí)現(xiàn)了IO聚合與映射就可以了嗎?并非如此,因?yàn)閿?shù)據(jù)更新和刪除還是以聚合之前的粒度進(jìn)行,那么在數(shù)據(jù)更新或刪除以后,我們需要進(jìn)行垃圾回收來(lái)釋放空間,垃圾回收會(huì)引入寫(xiě)放大,這就是我們需要支付的開(kāi)銷(xiāo),控制寫(xiě)放大就成了我們是否可以實(shí)現(xiàn)性能提升的關(guān)鍵因素。

    針對(duì)讀路徑,我們結(jié)合豐富的模式識(shí)別與挖掘算法,例如結(jié)合時(shí)間序列預(yù)測(cè)挖掘流式模型,多模特征聚類(lèi)挖掘熱點(diǎn)模型,頻繁模式挖掘得到關(guān)聯(lián)模型,以及粗放式冷熱識(shí)別得到工作集關(guān)聯(lián)模型,基于這些Pattern挖掘算法,輔以全局負(fù)反饋調(diào)整,可以實(shí)現(xiàn)精準(zhǔn)的模式挖掘以及預(yù)取門(mén)限、預(yù)取長(zhǎng)度等參數(shù)的自適應(yīng)整定,在特征不明顯的多源混合場(chǎng)景實(shí)現(xiàn)70%以上緩存命中率,模式較為規(guī)整的負(fù)載下實(shí)現(xiàn)接近100%的緩存命中率。

    算法創(chuàng)新思路之一:理論為基石,探究算法極限

    舉兩個(gè)示例,第一個(gè)是剛才提到的如何實(shí)現(xiàn)理論最優(yōu)的寫(xiě)放大,針對(duì)垃圾回收寫(xiě)放大問(wèn)題,工業(yè)界一般認(rèn)為最優(yōu)回收算法,或者說(shuō)寫(xiě)放大最小的回收算法,是貪心算法,所以在優(yōu)化寫(xiě)放大過(guò)程中不存在算法設(shè)計(jì),只有數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),例如是通過(guò)分級(jí)鏈,還是通過(guò)優(yōu)先隊(duì)列去管理回收對(duì)象。

    但其實(shí)并非如此,針對(duì)這個(gè)問(wèn)題,全局緩存研發(fā)團(tuán)隊(duì)結(jié)合學(xué)術(shù)論文的分析,實(shí)現(xiàn)了基于邏輯時(shí)鐘驅(qū)動(dòng)的垃圾回收建模推導(dǎo),并通過(guò)主動(dòng)分區(qū)實(shí)現(xiàn)理論最優(yōu)寫(xiě)放大算法和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),推導(dǎo)發(fā)現(xiàn)在均勻Workload負(fù)載下,貪心算法確實(shí)是最優(yōu)的,原因在于均勻Workload下面其不具備后效性;但是在非均勻Workload下面,貪心算法并不是最優(yōu)的,而我們知道真實(shí)的業(yè)務(wù)負(fù)載基本都是非均勻Workload。

    具體的推導(dǎo)過(guò)程是我們將每次數(shù)據(jù)更新寫(xiě)入當(dāng)成邏輯時(shí)鐘,來(lái)驅(qū)動(dòng)系統(tǒng)的狀態(tài)進(jìn)行變化,狀態(tài)主要就是每個(gè)聚合對(duì)象的垃圾量,然后套用Lambert方程進(jìn)行時(shí)空特征建模,得到垃圾生成模型,轉(zhuǎn)換成最優(yōu)化問(wèn)題并求取數(shù)值解,實(shí)現(xiàn)OP超供容量的主動(dòng)分區(qū);這樣,在非均勻Workload下,結(jié)合主動(dòng)分區(qū)實(shí)現(xiàn)最優(yōu)OP配額控制,得到理論最優(yōu)解,從右側(cè)圖中可以看出寫(xiě)放大收益可以達(dá)到30%以上,并且比CB等復(fù)雜算法的效果更好。

    算法創(chuàng)新思路之二:算法與架構(gòu)配合,最大化算法效果

    針對(duì)讀路徑加速算法示例,我們不單獨(dú)講算法原理,來(lái)切換一個(gè)視角,主要介紹下如何通過(guò)預(yù)取算法與預(yù)取架構(gòu)配合,最大化發(fā)揮前面提到的智能預(yù)取、數(shù)據(jù)淘汰等算法的效果。

    在預(yù)取架構(gòu)方面,全局緩存創(chuàng)新性的提出Client端推薦引擎與Server端執(zhí)行引擎分離的智能預(yù)取架構(gòu),相對(duì)于業(yè)界流行的分布式緩存預(yù)取模式,兼具單機(jī)推薦的高效&準(zhǔn)確性,以及緩存池的高資源利用率。

    (1)作為對(duì)比,相對(duì)于標(biāo)號(hào)1 Server端本地推薦這種模式,由于我們的數(shù)據(jù)未經(jīng)源端打散,推薦引擎天然具備全局Trace視圖,從而可以進(jìn)行全局精準(zhǔn)推薦,同時(shí)由于推薦引擎部署在客戶端,在共享卷等場(chǎng)景,也不會(huì)發(fā)生多源擾鄰,可以精準(zhǔn)匹配用戶Workload。

    (2)相對(duì)于標(biāo)號(hào)2的Server端中心化推薦這種模式,可以做到不存在單點(diǎn)故障,還可以減少數(shù)據(jù)推送和執(zhí)行策略拉取兩跳網(wǎng)絡(luò)開(kāi)銷(xiāo),如圖中黃色箭頭所示,從而避免緩存?zhèn)蚊?,所謂的偽命中指的是已經(jīng)下發(fā)預(yù)取請(qǐng)求,由于推薦、執(zhí)行鏈路過(guò)長(zhǎng)導(dǎo)致請(qǐng)求到達(dá)時(shí),預(yù)取數(shù)據(jù)還未加載到緩存。

    針對(duì)成本目標(biāo),BoostKit全局緩存通過(guò)EC Turbo、數(shù)據(jù)壓縮、數(shù)據(jù)壓緊等創(chuàng)新算法,提升分布式存儲(chǔ)有效容量,幫助用戶降低成本。EC Turbo支持4+2~22+2大比例EC,用戶可用容量提升2~2.75倍;自研的GLZ數(shù)據(jù)壓縮算法結(jié)合原理級(jí)、結(jié)構(gòu)級(jí)、指令級(jí)三級(jí)優(yōu)化,實(shí)現(xiàn)對(duì)比LZ4、gZip等業(yè)界流行算法壓縮率高30%,并且系統(tǒng)性能也可以提高30%,從而實(shí)現(xiàn)成本、性能雙收益;數(shù)據(jù)壓緊算法配合壓縮算法一起使用,通過(guò)減少壓縮后數(shù)據(jù)因數(shù)據(jù)對(duì)齊產(chǎn)生的補(bǔ)零空間浪費(fèi),實(shí)現(xiàn)更緊湊的數(shù)據(jù)落盤(pán),壓縮率能夠繼續(xù)提升30%。

    總結(jié)來(lái)說(shuō),鯤鵬BoostKit全局緩存結(jié)合EC Turbo、數(shù)據(jù)壓縮、數(shù)據(jù)壓緊等算法突破,相對(duì)于開(kāi)源方案可以實(shí)現(xiàn)3倍以上用戶可用容量提升,大幅節(jié)省TCO;后續(xù)還將推出全局?jǐn)?shù)據(jù)重刪特性,進(jìn)一步提升數(shù)據(jù)縮減率,并覆蓋備份存儲(chǔ)等場(chǎng)景。

    目前,鯤鵬BoostKit全局緩存與某大型運(yùn)營(yíng)商開(kāi)展了聯(lián)合創(chuàng)新,分別采用3臺(tái)X86服務(wù)器和3臺(tái)鯤鵬服務(wù)器組成2個(gè)服務(wù)集群,其他硬件保持相同,然后進(jìn)行緩存命中極限性能測(cè)試。測(cè)試數(shù)據(jù)顯示,全局緩存端到端性能達(dá)到14W IOPS/節(jié)點(diǎn),以及1ms穩(wěn)定時(shí)延;相對(duì)來(lái)說(shuō),X86硬件+開(kāi)源BCache+開(kāi)源Ceph,則為1.2W IOPS/節(jié)點(diǎn),同時(shí)時(shí)延只能做到26ms,全局緩存實(shí)現(xiàn)了10倍的性能優(yōu)勢(shì)。

    如果要了解更多的全局緩存相關(guān)的部署使用方法和學(xué)習(xí)資源,登錄hikunpeng.com——鯤鵬社區(qū)BoostKit專(zhuān)區(qū)獲取詳細(xì)信息。


    極客網(wǎng)企業(yè)會(huì)員

    免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

    2022-07-08
    架構(gòu)與算法創(chuàng)新,讓分布式存儲(chǔ)煥然一新!
    分布式存儲(chǔ)在數(shù)據(jù)存儲(chǔ)產(chǎn)業(yè)中的占比越來(lái)越高,得益于分布式Scale-out的高擴(kuò)展性,以及高速網(wǎng)絡(luò)技術(shù)的發(fā)展,分布式存儲(chǔ)逐漸成為主流,解決海量跨源、跨域、跨協(xié)議的非結(jié)構(gòu)化數(shù)據(jù)“存得下”,“管得好”以及高效互通的問(wèn)題。企業(yè)用戶希望從分布式存儲(chǔ)獲取哪些能力呢,可以概括為五點(diǎn):高...

    長(zhǎng)按掃碼 閱讀全文