用友華表任少斌:三面突圍大數(shù)據(jù)存儲(chǔ) |
發(fā)布時(shí)間: 2012/9/5 10:53:22 |
大數(shù)據(jù)時(shí)代給傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)帶來(lái)了一系列的沖擊和挑戰(zhàn),僅從源數(shù)據(jù)采集和存儲(chǔ)層面,就讓倉(cāng)儲(chǔ)的構(gòu)建者不得不重新認(rèn)真地思考:數(shù)據(jù)在哪里?這個(gè)問(wèn)題的答案改寫(xiě)了企業(yè)數(shù)據(jù)倉(cāng)庫(kù)對(duì)數(shù)據(jù)源的既有定義,同時(shí)也傳遞了兩方面的焦慮,一是數(shù)據(jù)規(guī)模急速增長(zhǎng),現(xiàn)有的單節(jié)點(diǎn)或者共享磁盤(pán)架構(gòu)能否適應(yīng)海量數(shù)據(jù)的存儲(chǔ);二是數(shù)據(jù)結(jié)構(gòu)復(fù)雜多樣,現(xiàn)有的基于結(jié)構(gòu)化數(shù)據(jù)為主體的存儲(chǔ)方案能否兼容無(wú)模式的非結(jié)構(gòu)化數(shù)據(jù)。
面對(duì)企業(yè)大數(shù)據(jù)的挑戰(zhàn),用友華表作為一家提供商業(yè)分析產(chǎn)品的供應(yīng)商,在技術(shù)上我們將如何解決大數(shù)據(jù)的問(wèn)題呢?目前面對(duì)大數(shù)據(jù)給現(xiàn)有倉(cāng)庫(kù)存儲(chǔ)架構(gòu)帶來(lái)的量的沖擊和數(shù)據(jù)種類(lèi)增加的挑戰(zhàn),不同的公司會(huì)選擇不同的技術(shù)路線(xiàn),我們最初試圖通過(guò)一個(gè)大而全的存儲(chǔ)架構(gòu)來(lái)解決海量數(shù)據(jù)和多種數(shù)據(jù)類(lèi)型的問(wèn)題。但結(jié)過(guò)一段時(shí)間反復(fù)研究,我們認(rèn)為大而全的存儲(chǔ)架構(gòu)不是解決大數(shù)據(jù)的最佳方案,我們目前決定采用的技術(shù)路線(xiàn)是讓不同種類(lèi)的數(shù)據(jù)存儲(chǔ)在最適合他們的存儲(chǔ)系統(tǒng)里,然后再將不同的數(shù)據(jù)類(lèi)型進(jìn)行融合,企業(yè)在融合的數(shù)據(jù)基礎(chǔ)上做商業(yè)分析。 本文我將從用友華表的技術(shù)思路、存儲(chǔ)方案、存儲(chǔ)之后的數(shù)據(jù)如何融合三個(gè)層次來(lái)闡述我們?nèi)绾螒?yīng)對(duì)大數(shù)據(jù)的挑戰(zhàn)。 分而治之 三面突圍 第一,有"容"乃大。"容",即有足夠的容量來(lái)存儲(chǔ)數(shù)據(jù)。對(duì)于大規(guī)模數(shù)據(jù),我們將采用分而治之的思想,構(gòu)建分布式存儲(chǔ)系統(tǒng),并且做到易擴(kuò)展。保證系統(tǒng)可以方便的增加節(jié)點(diǎn),當(dāng)企業(yè)的數(shù)據(jù)快速增加時(shí),可以使數(shù)據(jù)分布始終保持在平衡狀態(tài); 第二,有"榮"乃大。即兼用多種存儲(chǔ)引擎。大數(shù)據(jù)因結(jié)構(gòu)復(fù)雜多樣使得數(shù)據(jù)倉(cāng)庫(kù)要采集的源數(shù)據(jù)種類(lèi)無(wú)比"繁榮",因此新的倉(cāng)儲(chǔ)架構(gòu)也要改變目前以結(jié)構(gòu)化為主體的單一存儲(chǔ)方案的現(xiàn)狀,針對(duì)每種數(shù)據(jù)的存儲(chǔ)特點(diǎn)選擇最合適的解決方案:對(duì)非結(jié)構(gòu)化數(shù)據(jù)采用分布式文件系統(tǒng)進(jìn)行存儲(chǔ),對(duì)結(jié)構(gòu)松散無(wú)模式的半結(jié)構(gòu)化數(shù)據(jù)采用面向文檔的分布式key/value存儲(chǔ)引擎,對(duì)海量的結(jié)構(gòu)化數(shù)據(jù)采用shared-nothing的分布式并行數(shù)據(jù)庫(kù)系統(tǒng)存儲(chǔ); 第三,有"融"乃大。如上所述可以兼用多種分布式存儲(chǔ)引擎來(lái)解決"容"和"榮"的挑戰(zhàn),但企業(yè)存儲(chǔ)多元化數(shù)據(jù)的一個(gè)重要目標(biāo)是集成分析,而多種類(lèi)型數(shù)據(jù)孤立存儲(chǔ)對(duì)后續(xù)的集成分析會(huì)帶來(lái)極大不便。因此我們還需要構(gòu)建分布式數(shù)據(jù)庫(kù)系統(tǒng)和分布式文件系統(tǒng)之間的連接器,使得非結(jié)構(gòu)化數(shù)據(jù)在處理成結(jié)構(gòu)化信息后,能方便的和分布式數(shù)據(jù)庫(kù)中的關(guān)系型數(shù)據(jù)快速融通,保證大數(shù)據(jù)分析的敏捷性。 存儲(chǔ)方案各不同 上面提到針對(duì)大數(shù)據(jù)規(guī)模大、種類(lèi)多的特點(diǎn),我們可以采用"容"、"榮"的方案,兼用多種分布式存儲(chǔ)引擎分而治之。那么我們就拿非結(jié)構(gòu)化、半結(jié)構(gòu)化和結(jié)構(gòu)化這三大類(lèi)數(shù)據(jù)的存儲(chǔ)方案分別舉例說(shuō)明,以便讓大家更清楚的了解到不同類(lèi)型的海量數(shù)據(jù)通常都是通過(guò)哪些方式來(lái)進(jìn)行存儲(chǔ)的。由于談到的都是業(yè)界普遍使用的開(kāi)源或商業(yè)方案,因此不做深入討論。 首先,適合存儲(chǔ)海量非結(jié)構(gòu)化數(shù)據(jù)的分布式文件系統(tǒng)。 HDFS(Hadoop Distributed File System),是鼎鼎大名的開(kāi)源項(xiàng)目Hadoop的家族成員,是谷歌文件系統(tǒng)GFS(Google File System)的開(kāi)源實(shí)現(xiàn)。HDFS將大規(guī)模數(shù)據(jù)分割為多個(gè)64兆字節(jié)的數(shù)據(jù)塊,存儲(chǔ)在多個(gè)數(shù)據(jù)節(jié)點(diǎn)組成的分布式集群中,隨著數(shù)據(jù)規(guī)模的不斷增長(zhǎng),只需要在集群中增加更多的數(shù)據(jù)節(jié)點(diǎn)即可,因此具有很強(qiáng)的可擴(kuò)展性;同時(shí)每個(gè)數(shù)據(jù)塊會(huì)在不同的節(jié)點(diǎn)中存儲(chǔ)3個(gè)副本,因此具有高容錯(cuò)性;因?yàn)閿?shù)據(jù)是分布式存儲(chǔ)的,因此可以提供高吞吐量的數(shù)據(jù)訪(fǎng)問(wèn)能力,在海量數(shù)據(jù)批處理方面有很強(qiáng)的性能表現(xiàn)。 其次,適合存儲(chǔ)海量無(wú)模式的半結(jié)構(gòu)化數(shù)據(jù)的分布式Key/Value存儲(chǔ)引擎。 HBase(Hadoop Database),也是開(kāi)源項(xiàng)目Hadoop的家族成員,是谷歌大表Bigtable的開(kāi)源實(shí)現(xiàn)。HBase是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng),它不同于一般的有模式的關(guān)系型數(shù)據(jù)庫(kù),HBase存儲(chǔ)的數(shù)據(jù)表是無(wú)模式的,特別適合結(jié)構(gòu)復(fù)雜多樣的半結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)。此外,HBase利用HDFS作為其文件存儲(chǔ)系統(tǒng),利用MapReduce技術(shù)來(lái)處理HBase中的海量數(shù)據(jù)。 第三,適合存儲(chǔ)海量結(jié)構(gòu)化數(shù)據(jù)的分布式并行數(shù)據(jù)庫(kù)系統(tǒng)。 Greenplum是基于PostgreSQL開(kāi)發(fā)的一款MPP(海量并行處理)架構(gòu)的、shared-nothing無(wú)共享的分布式并行數(shù)據(jù)庫(kù)系統(tǒng)。采用Master/Slave架構(gòu),Master只存儲(chǔ)元數(shù)據(jù),真正的用戶(hù)數(shù)據(jù)被散列存儲(chǔ)在多臺(tái)Slave服務(wù)器上,并且所有的數(shù)據(jù)都在其它Slave節(jié)點(diǎn)上存有副本,從而提高了系統(tǒng)可用性。 Greenplum最核心的技術(shù)就是,大表數(shù)據(jù)分片存儲(chǔ),可以應(yīng)對(duì)海量數(shù)據(jù);基于大表的查詢(xún)語(yǔ)句在經(jīng)過(guò)Master分析后可以分片發(fā)送到Slave節(jié)點(diǎn)進(jìn)行并行運(yùn)行,所有節(jié)點(diǎn)將中間結(jié)果返回給Master節(jié)點(diǎn),由Master進(jìn)行匯總后返回給客戶(hù)端,大大提高了SQL的運(yùn)行速度。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |