自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何對(duì)大數(shù)據(jù)進(jìn)行高效存儲(chǔ)、管理與應(yīng)用?

數(shù)據(jù)庫(kù) 新聞
本文整理了京東在數(shù)據(jù)分布式存儲(chǔ)和分層存儲(chǔ)上的最新探索和實(shí)踐經(jīng)驗(yàn)。

如何管理海量數(shù)據(jù),是很多企業(yè)都需要解決的問(wèn)題。要高效管理數(shù)據(jù)并充分發(fā)揮數(shù)據(jù)信息應(yīng)有的價(jià)值,前提是要對(duì)大數(shù)據(jù)進(jìn)行有效存儲(chǔ)。

京東大數(shù)據(jù)存儲(chǔ)跨域及分層實(shí)踐

下圖是京東數(shù)據(jù)平臺(tái)架構(gòu)圖。

圖片

京東數(shù)據(jù)平臺(tái)的整體架構(gòu)主要由六部分組成,其中數(shù)據(jù)存儲(chǔ)作為計(jì)算存儲(chǔ)層的底層組件支撐著上游的計(jì)算引擎調(diào)度,以及更高層的工具層、服務(wù)層和應(yīng)用層。在整個(gè)數(shù)據(jù)平臺(tái)架構(gòu)中,底層數(shù)據(jù)存儲(chǔ)起到了基建的作用,是整個(gè)大數(shù)據(jù)平臺(tái)的基礎(chǔ)。

1. 跨域存儲(chǔ)面臨的問(wèn)題與解決方案

在跨域存儲(chǔ)架構(gòu)應(yīng)用之前,跨機(jī)房數(shù)據(jù)的同步主要通過(guò)業(yè)務(wù)方在不同機(jī)房之間進(jìn)行Distcp實(shí)現(xiàn),這種方式便會(huì)存在一些隱患問(wèn)題:

第一個(gè)問(wèn)題:元數(shù)據(jù)一致性由業(yè)務(wù)方保證,數(shù)據(jù)遷移需要業(yè)務(wù)介入,成本高時(shí)間長(zhǎng)。

第二個(gè)問(wèn)題:跨機(jī)房的流量不受控,影響同步任務(wù),需要借助外部調(diào)度系統(tǒng)和存儲(chǔ)。 

第三個(gè)問(wèn)題:產(chǎn)生多份冗余數(shù)據(jù),數(shù)據(jù)共享和同步成本高,比如在不同機(jī)房不同數(shù)據(jù)節(jié)點(diǎn)間載入了多份相同數(shù)據(jù),導(dǎo)致冗余。

第四個(gè)問(wèn)題:不具備多機(jī)房集群的容災(zāi)系統(tǒng),未充分利用多機(jī)房?jī)?yōu)勢(shì)。

(1)跨越存儲(chǔ)的架構(gòu)

圖片

基于以上,京東大數(shù)據(jù)平臺(tái)在底層存儲(chǔ)模塊設(shè)計(jì)了一個(gè)跨域數(shù)據(jù)同步功能來(lái)解決歷史數(shù)據(jù)存儲(chǔ)同步帶來(lái)的問(wèn)題。選擇在底層解決該問(wèn)題不僅可以把控跨域數(shù)據(jù)的一致性,還提供了業(yè)務(wù)無(wú)感知的跨域數(shù)據(jù)同步與分享功能,以減少業(yè)務(wù)方重復(fù)工作,使存儲(chǔ)系統(tǒng)具備跨域遷移和跨域容災(zāi)的能力。

京東該跨域存儲(chǔ)架構(gòu)的主要思路是通過(guò)“全量存儲(chǔ)+全網(wǎng)拓?fù)洹?/strong>,實(shí)現(xiàn)跨機(jī)房故障域,最終實(shí)現(xiàn)大數(shù)據(jù)關(guān)鍵數(shù)據(jù)異地容災(zāi)及跨機(jī)房存儲(chǔ)能力。

(2)跨域存儲(chǔ)——跨域數(shù)據(jù)流

在實(shí)現(xiàn)跨域存儲(chǔ)過(guò)程中,采用了兩種數(shù)據(jù)流方式:

  • 異步數(shù)據(jù)流

將數(shù)據(jù)先寫到本地機(jī)房,再通過(guò)namenode(NN)自動(dòng)進(jìn)行跨域同步。該數(shù)據(jù)傳輸方式寫入性能與現(xiàn)有未跨域場(chǎng)景一致,同步時(shí)延優(yōu)于 distcp 方案。

  • 同步數(shù)據(jù)流

建立pipeline數(shù)據(jù)管道,串聯(lián)機(jī)房全部datanode(DN),一次將數(shù)據(jù)同步。該種傳輸方式針對(duì)數(shù)據(jù)一致性和可靠性要求高的業(yè)務(wù)。

(3)跨域存儲(chǔ)——拓?fù)渑c機(jī)房感知

拓?fù)渑c機(jī)房感知是解決“節(jié)點(diǎn)定位”這一跨域存儲(chǔ)核心問(wèn)題的關(guān)鍵模塊。基于該模塊可控制數(shù)據(jù)塊分布和控制客戶端流量。該模塊主要從兩個(gè)方面解決問(wèn)題:

  • 拓?fù)涔芾?/strong>?

通過(guò)改造節(jié)點(diǎn)的拓?fù)浞绞剑谕負(fù)涔芾碇性黾右粋€(gè)機(jī)房維度,同時(shí)選塊邏輯要基于全網(wǎng)拓?fù)淠K進(jìn)行適配,以兼容多機(jī)房。

  • 機(jī)房感知?

針對(duì)跨域版本的客戶端,可通過(guò)在RPC頭部攜帶機(jī)房信息,以便識(shí)別和檢索;針對(duì)不支持跨域版本的客戶端,可通過(guò)京東網(wǎng)絡(luò)服務(wù)團(tuán)隊(duì)提供的ip映射到機(jī)房的服務(wù), 實(shí)現(xiàn)客戶端對(duì)應(yīng)機(jī)房的檢索和查詢。

(4)跨域存儲(chǔ)——跨域標(biāo)識(shí)

跨域標(biāo)識(shí)模塊是解決“數(shù)據(jù)跨機(jī)房存放”問(wèn)題的關(guān)鍵設(shè)計(jì),我們采用一個(gè)支持副本和EC的屬性標(biāo)簽來(lái)描述數(shù)據(jù)的跨域?qū)傩?。EC包含數(shù)據(jù)塊和校驗(yàn)塊兩種類型,相對(duì)于副本模式其跨域同步的支持更加復(fù)雜,需要支持在同機(jī)房?jī)?nèi)的數(shù)據(jù)重構(gòu)和重構(gòu)條件不具備時(shí)的跨域數(shù)據(jù)拷貝,以減少 EC 數(shù)據(jù)在跨域場(chǎng)景下的跨域同步流量。

加快整體跨域數(shù)據(jù)處理的速度,采用了三種方法:

  • 將元數(shù)據(jù)固化在XATTR上
  • 在內(nèi)存上構(gòu)建了Inode Proto
  • 在每個(gè)數(shù)據(jù)塊上,創(chuàng)建塊屬性標(biāo)識(shí)

(5)跨域存儲(chǔ)——跨域補(bǔ)塊及流控

針對(duì)跨域補(bǔ)塊和流控,采用了三種方法保證了性能:

  • 在處理跨域補(bǔ)塊時(shí)遵從的原理是跨域處理與原有流程隔離,保證新增的跨域處理流程不影響原先同機(jī)房的補(bǔ)塊處理,在遇到機(jī)房網(wǎng)絡(luò)中斷等極端情況可以保障單機(jī)房元數(shù)據(jù)服務(wù)可用。
  • 新增異步跨域更新器,結(jié)合跨域標(biāo)簽屬性,實(shí)現(xiàn)HA切換接續(xù)補(bǔ)塊,解決存量數(shù)據(jù)問(wèn)題。
  • 采用CR-Checker程序替代原有的DistCopy任務(wù),可以將原先的跨集群同步任務(wù)平滑升級(jí)成跨域同步任務(wù),最大限度減少跨域架構(gòu)升級(jí)對(duì)原有存量任務(wù)的沖擊。

2. 分層存儲(chǔ)面臨的問(wèn)題與解決方案

京東的數(shù)據(jù)分層存儲(chǔ)是為了解決原有框架所存在的問(wèn)題,主要是:冷熱數(shù)據(jù)未區(qū)分對(duì)待的問(wèn)題、不同硬件類型未區(qū)分對(duì)待的問(wèn)題,以及數(shù)據(jù)治理工作推進(jìn)困難的問(wèn)題。

(1)分層存儲(chǔ)的架構(gòu)

圖片

京東分層存儲(chǔ)的架構(gòu),整個(gè)框架主要是在NN內(nèi)部實(shí)現(xiàn)的:

  • 分層策略配置:提供外部API下發(fā)及內(nèi)部配置。
  • 分層配置API:提供分層策略下發(fā)接口,外部可通過(guò)離線數(shù)據(jù)分析及業(yè)務(wù)側(cè)下發(fā)分層邏輯。
  • 內(nèi)置分層策略:可配置和動(dòng)態(tài)刷新的分層策略,默認(rèn)通過(guò)訪問(wèn)監(jiān)控器統(tǒng)計(jì)數(shù)據(jù)進(jìn)行LRU分層策略配置。
  • 標(biāo)簽管理器:實(shí)現(xiàn)目錄標(biāo)簽和節(jié)點(diǎn)標(biāo)簽管理,指導(dǎo)選塊模塊及分布校驗(yàn)器等模塊進(jìn)行數(shù)據(jù)遷移。
  • 數(shù)據(jù)分布校驗(yàn)器:實(shí)現(xiàn)對(duì)新增數(shù)據(jù)的分布校驗(yàn),指導(dǎo)數(shù)據(jù)按照標(biāo)簽進(jìn)行分布。
  • 存量數(shù)據(jù)滿足器:對(duì)存量數(shù)據(jù)進(jìn)行掃描驗(yàn)證,指導(dǎo)存量數(shù)據(jù)塊遷移;實(shí)現(xiàn)數(shù)據(jù)生命周期管理功能。

?(2)分層存儲(chǔ)——核心設(shè)計(jì)

圖片

分層存儲(chǔ)的核心設(shè)計(jì),可以分為兩個(gè)模塊,一個(gè)是元數(shù)據(jù)上根據(jù)目錄樹(shù)進(jìn)行標(biāo)簽管理,對(duì)數(shù)據(jù)進(jìn)行冷熱數(shù)據(jù)分配;另一塊是節(jié)點(diǎn)拓?fù)錁?shù),采用虛擬多拓?fù)錁?shù)在邏輯上將不同標(biāo)簽的節(jié)點(diǎn)進(jìn)行區(qū)分,不同標(biāo)簽類型會(huì)有自己獨(dú)立的拓?fù)錁?shù),實(shí)現(xiàn)更高效的選節(jié)點(diǎn)性能。虛擬拓?fù)錁?shù)有兩種更新方式,分別為根據(jù)節(jié)點(diǎn)權(quán)重進(jìn)行異步更新和上下線數(shù)據(jù)進(jìn)行同步更新。

圖片

?增量數(shù)據(jù)和存量數(shù)據(jù)在處理流程上有以下差異:

  • 增量數(shù)據(jù):對(duì)于寫入請(qǐng)求,先判斷標(biāo)簽,然后根據(jù)匹配對(duì)應(yīng)節(jié)點(diǎn),寫入數(shù)據(jù)。
  • 存量數(shù)據(jù):后臺(tái)數(shù)據(jù)分布校驗(yàn)會(huì)掃描數(shù)據(jù)的標(biāo)簽,基于虛擬拓?fù)錁?shù)匹配對(duì)應(yīng)的節(jié)點(diǎn),然后完成數(shù)據(jù)遷移或轉(zhuǎn)換。

以上內(nèi)容節(jié)選自吳維偉老師的《京東大數(shù)據(jù)存儲(chǔ)跨域及分層實(shí)踐》。

責(zé)任編輯:張燕妮 來(lái)源: DataFunTalk
相關(guān)推薦

2020-12-08 14:20:43

人工智能數(shù)據(jù)存儲(chǔ)

2020-10-26 10:48:30

人工智能大數(shù)據(jù)存儲(chǔ)管理效率

2017-11-01 14:29:38

2024-05-10 13:01:49

2018-09-06 18:29:39

2016-12-12 16:17:22

華為

2015-09-11 15:16:21

APM數(shù)據(jù)

2018-03-20 10:37:33

存儲(chǔ)大數(shù)據(jù)管理

2010-06-04 13:50:24

MySQL存儲(chǔ)過(guò)程

2013-05-24 09:25:27

2016-10-17 16:05:13

數(shù)據(jù)煤炭開(kāi)采

2018-01-18 22:09:06

數(shù)據(jù)分析數(shù)據(jù)處理企業(yè)

2018-07-05 22:38:23

大數(shù)據(jù)搜索引擎SEO

2019-09-27 12:44:03

數(shù)據(jù)建模企業(yè)數(shù)據(jù)存儲(chǔ)

2020-09-08 06:28:42

大數(shù)據(jù)應(yīng)用

2020-12-21 15:11:06

大數(shù)據(jù)數(shù)據(jù)開(kāi)發(fā)

2021-06-10 19:10:32

大數(shù)據(jù)大數(shù)據(jù)應(yīng)用大數(shù)據(jù)技術(shù)

2023-08-11 09:00:00

2014-11-27 10:07:43

IT運(yùn)維

2017-01-11 16:57:51

大數(shù)據(jù)大數(shù)據(jù)集群監(jiān)控
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)