日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
EB級(jí)存儲(chǔ)引擎背后的技術(shù)

EB級(jí)存儲(chǔ)引擎背后的技術(shù)

作者:佚名 2017-07-11 16:27:14

云計(jì)算 自從互聯(lián)網(wǎng)從web1.0跨入到SNS時(shí)代,用戶開始從站點(diǎn)獲取數(shù)據(jù)跨入到用戶自己產(chǎn)生數(shù)據(jù),分享數(shù)據(jù),這時(shí)用戶的數(shù)據(jù)存儲(chǔ)開始急劇增長(zhǎng)。更重要的是時(shí)代的發(fā)展,用戶內(nèi)容從文字時(shí)代跨入到了圖片時(shí)代,這個(gè)時(shí)代的明星產(chǎn)品--qq相冊(cè)的誕生,更是讓用戶分享數(shù)據(jù)達(dá)到了一個(gè)頂峰。

1、序言

自從互聯(lián)網(wǎng)從web1.0跨入到SNS時(shí)代,用戶開始從站點(diǎn)獲取數(shù)據(jù)跨入到用戶自己產(chǎn)生數(shù)據(jù),分享數(shù)據(jù),這時(shí)用戶的數(shù)據(jù)存儲(chǔ)開始急劇增長(zhǎng)。更重要的是時(shí)代的發(fā)展,用戶內(nèi)容從文字時(shí)代跨入到了圖片時(shí)代,這個(gè)時(shí)代的明星產(chǎn)品--qq相冊(cè)的誕生,更是讓用戶分享數(shù)據(jù)達(dá)到了一個(gè)頂峰。在這個(gè)數(shù)據(jù)開始飛速增長(zhǎng)的時(shí)代,當(dāng)時(shí)是沒有合適的存儲(chǔ)引擎和方案來支持的。在qq相冊(cè)飛速發(fā)展的同時(shí),由當(dāng)時(shí)存儲(chǔ)系統(tǒng)的萬(wàn)金油--mysql搭建的存儲(chǔ)解決方案,遇到了訪問延時(shí)高,擴(kuò)容困難,成本高,等問題。而這一類問題也同樣困擾著所有的互聯(lián)網(wǎng)公司。因?yàn)槟菚r(shí)是一個(gè)沒有真正存儲(chǔ)系統(tǒng)的混亂時(shí)代。這個(gè)時(shí)代,我們的存儲(chǔ)還不到1PB。

這時(shí)在GFS,bigtable等論文中,各大互聯(lián)網(wǎng)公司從困擾中找到靈感,紛紛效仿推出類GFS存儲(chǔ)引擎。騰訊也不例外,由TEG--架構(gòu)平臺(tái)部研發(fā)的TFS存儲(chǔ)家族橫空出世,并推進(jìn)了由沒有定制存儲(chǔ)系統(tǒng)的混亂時(shí)代向TFS1.0的演進(jìn)。

2、TFS家族誕生

TFS家族1.0整體設(shè)計(jì)中包含對(duì)開發(fā),運(yùn)維,資源管理等各個(gè)要素的考慮,并由各個(gè)相關(guān)要素的組件組成。其中最重要的兩個(gè)引擎組件為基于SAS和內(nèi)存的KV索引存儲(chǔ)引擎,以及基于SATA的數(shù)據(jù)存儲(chǔ)引擎。正是這兩個(gè)核心引擎解決了騰訊存儲(chǔ)在跨越PB級(jí)別中,所遇到的存儲(chǔ)上的難題。

2.1 KV存儲(chǔ)引擎特性

以農(nóng)牧場(chǎng)為代表,基于社交關(guān)系的各種應(yīng)用和游戲越來越多。這類應(yīng)用或游戲的特點(diǎn)是單個(gè)用戶的一個(gè)操作會(huì)涉及大量數(shù)據(jù)的讀寫,而且是對(duì)于數(shù)據(jù)的部分讀寫,對(duì)后臺(tái)數(shù)據(jù)存儲(chǔ)帶來的極大的性能挑戰(zhàn)。傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)如Mysql更偏向數(shù)據(jù)一致性的保證,復(fù)雜的引擎設(shè)計(jì)注定了性能相對(duì)較低,雖然讀性能可以通過實(shí)現(xiàn)Cache解決,但是寫性能始終是一個(gè)不能規(guī)避的難題。因此,key-value形式數(shù)據(jù)庫(kù)特別適合,特點(diǎn)是小塊數(shù)據(jù)的快速存取、數(shù)據(jù)弱一致性。TFS家族的KV存儲(chǔ)引擎就是為這種業(yè)務(wù)場(chǎng)景而誕生的通用、高速、持久化Nosql存儲(chǔ)系統(tǒng)。KV存儲(chǔ)引擎具備高性能 、低成本、高可用的良好業(yè)務(wù)體驗(yàn),能輕松應(yīng)對(duì)海量數(shù)據(jù)訪問、存儲(chǔ)成本敏感、延時(shí)敏感等問題,并且安全可靠 ,擁有多份熱點(diǎn)數(shù)據(jù)和流水落盤,備份中心備份數(shù)據(jù)和流水,具備回檔能力。

業(yè)務(wù)根據(jù)數(shù)據(jù)讀寫時(shí)延的需求,可以自由選擇內(nèi)存,SSD,SAS等做為存儲(chǔ)介質(zhì),甚至可以更通用的讓系統(tǒng)自動(dòng)選擇冷熱數(shù)據(jù)存儲(chǔ)在不同的介質(zhì)上。在內(nèi)存中存取延時(shí)達(dá)到***的us級(jí)別,支持超高并發(fā)的讀寫請(qǐng)求,普通單機(jī)可跑到30w/s讀或11w/s 寫。在加入多隊(duì)列支持和10G網(wǎng)卡后單機(jī)性能超過100w/s。這種讀寫性能,***的解決了農(nóng)牧場(chǎng)的高并發(fā)寫問題。

KV引擎最重要的特性是多個(gè)介質(zhì)集群中,可以自動(dòng)調(diào)度數(shù)據(jù),下圖就內(nèi)存集群和SSD集群之間的數(shù)據(jù)自動(dòng)調(diào)度。將熱數(shù)據(jù)存儲(chǔ)在內(nèi)存集群,冷數(shù)據(jù)存儲(chǔ)在成本更低的SSD存儲(chǔ)集群有幾個(gè)優(yōu)點(diǎn):用戶訪問是透明的,成本是降低的,體驗(yàn)是提升的。

2.2 文件存儲(chǔ)引擎特性

TFS文件存儲(chǔ)引擎分為數(shù)據(jù)層、索引層和邏輯層三個(gè)部分。數(shù)據(jù)層負(fù)責(zé)文件數(shù)據(jù)的存儲(chǔ),提供k-v接口,Value長(zhǎng)度一般限定為1M,大文件由邏輯層切分成多個(gè)片順序存儲(chǔ)。索引層包含文件索引、目錄索引和去重索引。文件索引保存文件的元信息(創(chuàng)建時(shí)間、修改時(shí)間、文件長(zhǎng)度)、分片信息和業(yè)務(wù)自定義的blob字段。目錄索引提供按照目錄樹組織的索引結(jié)構(gòu),索引中只保存文件、目錄的元信息和在文件中的key。去重索引保存了分片的哈希值與數(shù)據(jù)層key的對(duì)應(yīng)關(guān)系,用于上傳時(shí)查找已經(jīng)存在的數(shù)據(jù)分片,避免重復(fù)上傳。邏輯層串聯(lián)文件上傳、下載、刪除、修改等所有接口的流程控制,提供原子操作。

TFS文件存儲(chǔ)引擎主要解決了索引數(shù)據(jù)的存儲(chǔ)問題,數(shù)據(jù)層的管理,以及業(yè)務(wù)文件存儲(chǔ)特性的需求。

在TFS1.0家族的強(qiáng)力支撐下,我們解決了在圖片時(shí)代,SNS場(chǎng)景的存儲(chǔ)問題,這時(shí)用戶的數(shù)據(jù)依然急劇增長(zhǎng),由PB級(jí)別,飛速發(fā)展到幾百P級(jí)別。用戶的SNS場(chǎng)景依然猛烈的發(fā)展,但用戶內(nèi)容卻慢慢的由圖片在向視頻轉(zhuǎn)變,隨著IT技術(shù)的發(fā)展,用戶的內(nèi)容質(zhì)量越來越高,視覺體驗(yàn)越來越好,這都意味著***層的數(shù)據(jù)存儲(chǔ)爆發(fā)式的增長(zhǎng)。而這些增長(zhǎng)下,TFS1.0家族顯得越來越跟不上時(shí)代的發(fā)展,從而暴漏出了索引層成本高,功能不夠豐富,數(shù)據(jù)層的數(shù)據(jù)安全與成本之間的矛盾。在新時(shí)代新存儲(chǔ)矛盾的觸發(fā)下,TFS家族由1.0升級(jí)到了2.0版本,從而應(yīng)對(duì)降低存儲(chǔ)成本以及新存儲(chǔ)功能的需求。

3、新TFS時(shí)代

3.1.1 數(shù)據(jù)存儲(chǔ)引擎的升級(jí)

為了降低數(shù)據(jù)存儲(chǔ)成本,我們采取用計(jì)算換取空間的做法,與傳統(tǒng)3副本存儲(chǔ)方式相比, TFS新文件存儲(chǔ)引擎的副本數(shù)只有1.X份,在保證數(shù)據(jù)可靠性的前提下,TFS通過犧牲一部分訪問性能,換取更大的成本收益。采取的是RS編碼方式,在M份業(yè)務(wù)數(shù)據(jù)塊的基礎(chǔ)上編碼計(jì)算出X份校驗(yàn)塊, 一共M+X個(gè)塊組成一個(gè)條帶落地存儲(chǔ)。

3.1.2 索引存儲(chǔ)引擎的升級(jí)

我們使用了多年的KV存儲(chǔ)引擎,也遇到了新的挑戰(zhàn),不支持范圍查詢接口。業(yè)務(wù)有相關(guān)需求時(shí),需要通過大量數(shù)據(jù)組織邏輯,以構(gòu)建出適用的數(shù)據(jù)模型。所以TFS家族推出新的類LevelDB存儲(chǔ)引擎,豐富TFS家族中的組件,主要設(shè)計(jì)如下:

通過業(yè)務(wù)場(chǎng)景和底層平臺(tái)的深度配合,對(duì)外提供了豐富的數(shù)據(jù)處理接口。

3.1.3 業(yè)務(wù)形態(tài)的深度理解

在TFS家族核心組件全面升級(jí)的過程中,我們不光需要底層平臺(tái)的強(qiáng)力支持,更需要在對(duì)業(yè)務(wù)深度理解的前提下,做出精準(zhǔn)的存儲(chǔ)策略,打造出專業(yè)的定制存儲(chǔ)系統(tǒng)。

在基于TFS打造的專業(yè)圖片平臺(tái),圖片平臺(tái)以穩(wěn)定可靠的圖片存儲(chǔ)及加速下載為基礎(chǔ),配套以強(qiáng)大的圖片處理、自動(dòng)化的違禁圖審核功能,并針對(duì)業(yè)務(wù)模型做冷熱流量調(diào)度、存儲(chǔ)數(shù)據(jù)降冷等一系列成本體驗(yàn)優(yōu)化,為圖片客戶提供了一套完整的解決方案。強(qiáng)大的圖片處理功能涵蓋了各類應(yīng)用場(chǎng)景,有圖片縮放、裁剪、旋轉(zhuǎn),圖片水印,格式轉(zhuǎn)換,信息獲取等,支持上傳時(shí)處理后落地存儲(chǔ),也支持下載時(shí)實(shí)時(shí)生成。同時(shí)圖片豐富的表現(xiàn)力,也讓違禁圖十分活躍,圖片平臺(tái)配有上傳即可觸發(fā)的全自動(dòng)審核流程,平臺(tái)具備整套審核及禁圖操作,業(yè)務(wù)無(wú)需參與即可輕松享有。

在文件存儲(chǔ)平臺(tái)上,在TFS家族中推出了一系列針對(duì)不同用戶場(chǎng)景使用的分支存儲(chǔ)系統(tǒng),包括適應(yīng)騰訊視頻等高頻存儲(chǔ)業(yè)務(wù)使用的多副本存儲(chǔ)引擎,適應(yīng)QQ離線傳文件等臨時(shí)存儲(chǔ)業(yè)務(wù)使用的即刪即用存儲(chǔ)引擎,等等。往往一個(gè)業(yè)務(wù)的文件不可能只適應(yīng)一個(gè)存儲(chǔ)系統(tǒng),大多數(shù)文件隨著時(shí)間的推移會(huì)逐漸變冷,通過對(duì)各個(gè)業(yè)務(wù)的深入理解,對(duì)用戶行為的深度理解,以及大量的數(shù)據(jù)分析,平臺(tái)實(shí)現(xiàn)了文件在各個(gè)存儲(chǔ)引擎之間的智能調(diào)度,大大節(jié)省了存儲(chǔ)成本。

3.1.4 自動(dòng)的運(yùn)營(yíng)體系

架平的運(yùn)營(yíng)體系主要包括基礎(chǔ)配置CMDB、成本預(yù)算核算、報(bào)表&流程&測(cè)試、質(zhì)量監(jiān)控、現(xiàn)網(wǎng)操作這五大塊,這五大部分組合成一個(gè)完整的運(yùn)營(yíng)體,為部門業(yè)務(wù)安全可靠高效的運(yùn)營(yíng)保駕護(hù)航。

CMDB:基礎(chǔ)性的配置管理,包括了設(shè)備、機(jī)房、業(yè)務(wù)等基礎(chǔ)信息,主要提供設(shè)備資源提前報(bào)備、到貨驗(yàn)收初始化、高危端口管理、設(shè)備轉(zhuǎn)移退役等功能;

成本預(yù)算核算:部門本身不直接對(duì)外營(yíng)收,但卻承載了公司海量的存儲(chǔ)、CDN服務(wù),部門每年的運(yùn)營(yíng)成本占了公司總運(yùn)營(yíng)成本的相當(dāng)一部分,必然要有全面、嚴(yán)謹(jǐn)?shù)某杀竟芸睾怂悖缓蠓謹(jǐn)偟椒?wù)的各個(gè)業(yè)務(wù)部門;

報(bào)表&流程&測(cè)試:業(yè)務(wù)多報(bào)表多,需要有個(gè)報(bào)表系統(tǒng)來統(tǒng)一管理,現(xiàn)網(wǎng)變更的管理、突發(fā)事件產(chǎn)生后在哪里跟進(jìn)、驗(yàn)證是否解決等,以及對(duì)現(xiàn)網(wǎng)質(zhì)量關(guān)鍵的保障一環(huán)就是模塊開發(fā)完成后發(fā)布到現(xiàn)網(wǎng)前,還需要先過自動(dòng)化測(cè)試這一環(huán)節(jié),以便發(fā)現(xiàn)潛在的BUG;

質(zhì)量監(jiān)控:我們的眼睛,時(shí)刻盯著數(shù)十萬(wàn)臺(tái)服務(wù)器、成百上千個(gè)業(yè)務(wù),一旦出現(xiàn)異常,最快秒級(jí)主動(dòng)通知到負(fù)責(zé)人,降低對(duì)業(yè)務(wù)的影響時(shí)長(zhǎng);

現(xiàn)網(wǎng)操作:服務(wù)器達(dá)到數(shù)十萬(wàn)臺(tái)、分布在各種不同運(yùn)營(yíng)商、甚至海外機(jī)房、aws等場(chǎng)景,我們有一套專用系統(tǒng)來支撐對(duì)現(xiàn)網(wǎng)安全、高效的操作。

4、結(jié)束語(yǔ)

正是有了新TFS家族,定制的KV引擎,文件存儲(chǔ)引擎,以及對(duì)業(yè)務(wù)數(shù)據(jù)的深度理解,多年來積累的現(xiàn)網(wǎng)運(yùn)營(yíng)經(jīng)驗(yàn),才確保了EB級(jí)的數(shù)據(jù),安全穩(wěn)定的運(yùn)行。在這個(gè)過程中,我們積累了多年的海量數(shù)據(jù)運(yùn)營(yíng)經(jīng)驗(yàn),也會(huì)在接下來的系列文章中,依次呈現(xiàn),敬請(qǐng)期待。


本文題目:EB級(jí)存儲(chǔ)引擎背后的技術(shù)
轉(zhuǎn)載來源:http://www.5511xx.com/article/cdejeeh.html