偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Big Data技術(shù)綜述

數(shù)據(jù)庫(kù)
Big Data是近來(lái)的一個(gè)技術(shù)熱點(diǎn),但從名字就能判斷它并不是什么新詞。畢竟,大是一個(gè)相對(duì)概念。歷史上,數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集市等信息管理領(lǐng)域的技術(shù),很大程度上也是為了解決大規(guī)模數(shù)據(jù)的問(wèn)題。被譽(yù)為數(shù)據(jù)倉(cāng)庫(kù)之父的Bill Inmon早在20世紀(jì)90年代就經(jīng)常將Big Data掛在嘴邊了。

Big Data是近來(lái)的一個(gè)技術(shù)熱點(diǎn),但從名字就能判斷它并不是什么新詞。畢竟,大是一個(gè)相對(duì)概念。歷史上,數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集市等信息管理領(lǐng)域的技術(shù),很大程度上也是為了解決大規(guī)模數(shù)據(jù)的問(wèn)題。被譽(yù)為數(shù)據(jù)倉(cāng)庫(kù)之父的Bill Inmon早在20世紀(jì)90年代就經(jīng)常將Big Data掛在嘴邊了。

然而,Big Data作為一個(gè)專有名詞成為熱點(diǎn),主要應(yīng)歸功于近年來(lái)互聯(lián)網(wǎng)、云計(jì)算、移動(dòng)和物聯(lián)網(wǎng)的迅猛發(fā)展。無(wú)所不在的移動(dòng)設(shè)備、RFID、無(wú)線傳感器每分每秒都在產(chǎn)生數(shù)據(jù),數(shù)以億計(jì)用戶的互聯(lián)網(wǎng)服務(wù)時(shí)時(shí)刻刻在產(chǎn)生巨量的交互……要處理的數(shù)據(jù)量實(shí)在是太大、增長(zhǎng)太快了,而業(yè)務(wù)需求和競(jìng)爭(zhēng)壓力對(duì)數(shù)據(jù)處理的實(shí)時(shí)性、有效性又提出了更高要求,傳統(tǒng)的常規(guī)技術(shù)手段根本無(wú)法應(yīng)付。

在這種情況下,技術(shù)人員紛紛研發(fā)和采用了一批新技術(shù),主要包括分布式緩存、基于MPP的分布式數(shù)據(jù)庫(kù)、分布式文件系統(tǒng)、各種NoSQL分布式存儲(chǔ)方案等。

10年前,Eric Brewer提出著名的CAP定理,指出:一個(gè)分布式系統(tǒng)不可能滿足一致性、可用性和分區(qū)容忍性這三個(gè)需求,最多只能同時(shí)滿足兩個(gè)。系統(tǒng)的關(guān)注點(diǎn)不同,采用的策略也不一樣。只有真正理解了系統(tǒng)的需求,才有可能利用好CAP定理。

架構(gòu)師一般有兩個(gè)方向來(lái)利用CAP理論。

  • Key-Value存儲(chǔ),如Amazon Dynamo等,可以根據(jù)CAP理論靈活選擇不同傾向的數(shù)據(jù)庫(kù)產(chǎn)品。
  • 領(lǐng)域模型+分布式緩存+存儲(chǔ),可根據(jù)CAP理論結(jié)合自己的項(xiàng)目定制靈活的分布式方案,但難度較高。

對(duì)大型網(wǎng)站,可用性與分區(qū)容忍性優(yōu)先級(jí)要高于數(shù)據(jù)一致性,一般會(huì)盡量朝著A、P的方向設(shè)計(jì),然后通過(guò)其他手段保證對(duì)于一致性的商務(wù)需求。架構(gòu)設(shè)計(jì)師不要將精力浪費(fèi)在如何設(shè)計(jì)能滿足三者的完美分布式系統(tǒng),而應(yīng)該懂得取舍。

不同的數(shù)據(jù)對(duì)一致性的要求是不同的。SNS網(wǎng)站可以容忍相對(duì)較長(zhǎng)時(shí)間的不一致,而不影響交易和用戶體驗(yàn);而像支付寶這樣的交易和賬務(wù)數(shù)據(jù)則是非常敏感的,通常不能容忍超過(guò)秒級(jí)的不一致。

圖1 memcached構(gòu)成Cache篇

緩存在Web開發(fā)中運(yùn)用越來(lái)越廣泛,mem-cached是danga.com(運(yùn)營(yíng)LiveJournal的技術(shù)團(tuán)隊(duì))開發(fā)的一套分布式內(nèi)存對(duì)象緩存系統(tǒng),用于在動(dòng)態(tài)系統(tǒng)中減少數(shù)據(jù)庫(kù)負(fù)載,提升性能。

memcached具有以下特點(diǎn):

協(xié)議簡(jiǎn)單;基于libevent的事件處理;內(nèi)置內(nèi)存存儲(chǔ)方式;memcached不互相通信的分布式。

memcached處理的原子是每一個(gè)(Key,Value)對(duì)(以下簡(jiǎn)稱KV對(duì)),Key會(huì)通過(guò)一個(gè)hash算法轉(zhuǎn)化成hash-Key,便于查找、對(duì)比以及做到盡可能的散列。同時(shí),memcached用的是一個(gè)二級(jí)散列,通過(guò)一張大hash表來(lái)維護(hù)。

memcached由兩個(gè)核心組件組成:服務(wù)端(ms)和客戶端(mc),在一個(gè)memcached的查詢中,ms先通過(guò)計(jì)算Key的hash值來(lái)確定KV對(duì)所處在的ms位置。當(dāng)ms確定后,mc就會(huì)發(fā)送一個(gè)查詢請(qǐng)求給對(duì)應(yīng)的ms,讓它來(lái)查找確切的數(shù)據(jù)。因?yàn)檫@之間沒(méi)有交互以及多播協(xié)議,所以 memcached交互帶給網(wǎng)絡(luò)的影響是最小化的。

MemcacheDB是一個(gè)分布式、Key-Value形式的持久存儲(chǔ)系統(tǒng)。它不是一個(gè)緩存組件,而是一個(gè)基于對(duì)象存取的、可靠的、快速的持久存儲(chǔ)引擎。協(xié)議與memcached一致(不完整),所以很多memcached客戶端都可以跟它連接。MemcacheDB采用Berkeley DB作為持久存儲(chǔ)組件,因此很多Berkeley DB的特性它都支持。

類似這樣的產(chǎn)品也很多,如淘寶Tair就是Key-Value結(jié)構(gòu)存儲(chǔ),在淘寶得到了廣泛使用。后來(lái)Tair也做了一個(gè)持久化版本,思路基本與新浪MemcacheDB一致。

分布式數(shù)據(jù)庫(kù)篇

支付寶公司在國(guó)內(nèi)最早使用Greenplum數(shù)據(jù)庫(kù),將數(shù)據(jù)倉(cāng)庫(kù)從原來(lái)的Oracle RAC平臺(tái)遷移到Greenplum集群。Greenplum強(qiáng)大的計(jì)算能力用來(lái)支持支付寶日益發(fā)展的業(yè)務(wù)需求。

圖2 Greenplum數(shù)據(jù)引擎軟件

Greenplum數(shù)據(jù)引擎軟件專為新一代數(shù)據(jù)倉(cāng)庫(kù)所需的大規(guī)模數(shù)據(jù)和復(fù)雜查詢功能所設(shè)計(jì),基于MPP(海量并行處理)和Shared-Nothing(完全無(wú)共享)架構(gòu),基于開源軟件和x86商用硬件設(shè)計(jì)(性價(jià)比更高)。

分布式文件系統(tǒng)篇

談到分布式文件系統(tǒng),不得不提的是Google的GFS?;诖罅堪惭b有Linux操作系統(tǒng)的普通PC構(gòu)成的集群系統(tǒng),整個(gè)集群系統(tǒng)由一臺(tái) Master(通常有幾臺(tái)備份)和若干臺(tái)TrunkServer構(gòu)成。GFS中文件備份成固定大小的Trunk分別存儲(chǔ)在不同的TrunkServer 上,每個(gè)Trunk有多份(通常為3份)拷貝,也存儲(chǔ)在不同的TrunkServer上。Master負(fù)責(zé)維護(hù)GFS中的 Metadata,即文件名及其Trunk信息??蛻舳讼葟腗aster上得到文件的Metadata,根據(jù)要讀取的數(shù)據(jù)在文件中的位置與相應(yīng)的 TrunkServer通信,獲取文件數(shù)據(jù)。

圖3 引自Facebook工程師的Hive與Hadoop關(guān)系圖

在Google的論文發(fā)表后,就誕生了Hadoop。截至今日,Hadoop被很多中國(guó)最大互聯(lián)網(wǎng)公司所追捧,百度的搜索日志分析,騰訊、淘寶和支付寶的數(shù)據(jù)倉(cāng)庫(kù)都可以看到Hadoop的身影。

Hadoop具備低廉的硬件成本、開源的軟件體系、較強(qiáng)的靈活性、允許用戶自己修改代碼等特點(diǎn),同時(shí)能支持海量數(shù)據(jù)存儲(chǔ)和計(jì)算任務(wù)。

Hive是一個(gè)基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)平臺(tái),將轉(zhuǎn)化為相應(yīng)的MapReduce程序基于Hadoop執(zhí)行。通過(guò)Hive,開發(fā)人員可以方便地進(jìn)行ETL開發(fā)。

如圖3所示,引用一張F(tuán)acebook工程師做的Hive和Hadoop的關(guān)系圖。

NoSQL篇

隨著數(shù)據(jù)量增長(zhǎng),越來(lái)越多的人關(guān)注NoSQL,特別是2010年下半年,F(xiàn)acebook選擇HBase來(lái)做實(shí)時(shí)消息存儲(chǔ)系統(tǒng),替換原來(lái)開發(fā)的 Cassandra系統(tǒng)。這使得很多人開始關(guān)注HBase。Facebook選擇HBase是基于短期小批量臨時(shí)數(shù)據(jù)和長(zhǎng)期增長(zhǎng)的很少被訪問(wèn)到的數(shù)據(jù)這兩個(gè)需求來(lái)考慮的。

HBase是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PC Server上搭建大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群。HBase是BigTable的開源實(shí)現(xiàn),使用HDFS作為其文件存儲(chǔ)系統(tǒng)。Google運(yùn)行 MapReduce來(lái)處理BigTable中的海量數(shù)據(jù),HBase同樣利用MapReduce來(lái)處理HBase中的海量數(shù)據(jù);BigTable利用 Chubby作為協(xié)同服務(wù),HBase則利用Zookeeper作為對(duì)應(yīng)。

總結(jié)篇

近來(lái)NoSQL數(shù)據(jù)庫(kù)的使用越來(lái)越普及,幾乎所有的大型互聯(lián)網(wǎng)公司都在這個(gè)領(lǐng)域進(jìn)行著實(shí)踐和探索。在享受了這類數(shù)據(jù)庫(kù)與生俱來(lái)的擴(kuò)展性、容錯(cuò)性、高讀寫吞吐外(盡管各主流NoSQL仍在不斷完善中),越來(lái)越多的實(shí)際需求把人們帶到了NoSQL并不擅長(zhǎng)的其他領(lǐng)域,比如搜索、準(zhǔn)實(shí)時(shí)統(tǒng)計(jì)分析、簡(jiǎn)單事務(wù)等。實(shí)踐中一般會(huì)在NoSQL的外圍組合一些其他技術(shù)形成一個(gè)整體解決方案。

圖4 線上應(yīng)用系統(tǒng)與數(shù)據(jù)平臺(tái)的無(wú)縫融入

準(zhǔn)實(shí)時(shí)的統(tǒng)計(jì)分析

傳輸時(shí)統(tǒng)計(jì)分析,Stream Processing技術(shù):FlumeBase、S4。

FlumeBase:可參考 http://flumebase.org/documentation/0.1.0/UserGuide.html中的quick start和architecture兩部分。

S4:Yahoo!開源數(shù)據(jù)來(lái)流計(jì)算實(shí)時(shí)框架,可參考http://labs.yahoo.com/files/KDCloud%202010%20S4.pdf。

查詢時(shí)統(tǒng)計(jì)分析,結(jié)果集較小時(shí),可以直接在返回前做統(tǒng)計(jì)分析處理。

比如買家消費(fèi)記錄查詢的HBase實(shí)現(xiàn),Schema設(shè)計(jì),rowkey=uid,column=搜索詞和查詢值,version=交易id。

搜索相關(guān)

充分利用NoSQL(比如HBase)內(nèi)部數(shù)據(jù)的有序性、Row Key、Column Family、Version Timestamp。

我們用“HBase+二次索引”來(lái)實(shí)現(xiàn)實(shí)時(shí)營(yíng)銷的解決方案。也可以參考Facebook Message的解決方案:http://blog.bluedavy.com/?p=258。

構(gòu)建一個(gè)外圍系統(tǒng)完成索引建立。

Google MegaStore:原文鏈接為http://www.cidrdb.org/cidr2011/Papers/CIDR11_Paper32.pdf,中文譯文鏈接為http://cloud.csdn.net/a/20110216/291968.html。

也有人開始嘗試基于HBase的MegaStore實(shí)現(xiàn),鏈接為https://github.com/drevell/megalon。

簡(jiǎn)單事務(wù)

事務(wù)處理服務(wù) + NoSQL存儲(chǔ)。

淘寶開發(fā)的千億級(jí)海量數(shù)據(jù)庫(kù)Oceanbase,通過(guò)update server角色執(zhí)行將寫操作限制在一臺(tái)機(jī)器上,實(shí)現(xiàn)事務(wù)。參考鏈接為:http://www.nosqlnotes.net/archives/170。

Google MegaStore通過(guò)為用戶提供機(jī)制,根據(jù)應(yīng)用特點(diǎn)劃分entity group,將事務(wù)涉及的數(shù)據(jù)分布到一臺(tái)機(jī)器上,實(shí)現(xiàn)事務(wù)。

【編輯推薦】

  1. SQL點(diǎn)滴之幾個(gè)有點(diǎn)偏的語(yǔ)句
  2. SQL Server數(shù)據(jù)挖掘中的幾個(gè)問(wèn)題之理解內(nèi)容類型
  3. SQL Server數(shù)據(jù)挖掘中的幾個(gè)問(wèn)題之理解列的用法
  4. SQL Server數(shù)據(jù)挖掘之理解聚類算法和順序聚類算法
責(zé)任編輯:艾婧 來(lái)源: 程序員
相關(guān)推薦

2012-05-28 13:58:36

Hadoop大數(shù)據(jù)

2022-08-31 11:39:44

big datablockchainOKLink

2012-10-18 10:15:01

IBMdw

2022-08-31 14:58:48

data lakescloud natibig data

2023-06-03 20:51:09

2011-08-18 14:23:52

Big Data

2013-05-21 10:05:55

倫敦奧運(yùn)Big Data奧運(yùn)大數(shù)據(jù)

2012-02-20 09:27:00

IBM大數(shù)據(jù)Big Data

2020-06-02 09:28:46

大數(shù)據(jù)物聯(lián)網(wǎng)IOT

2017-02-06 13:31:11

調(diào)度技術(shù)集群

2009-07-28 10:57:21

光無(wú)線通信光纖通信

2011-10-28 08:47:39

IBMBig Datn數(shù)據(jù)分析

2011-11-04 14:00:27

無(wú)線近距

2022-06-13 10:17:26

人工智能

2013-01-07 09:40:28

谷歌大數(shù)據(jù)Android

2012-05-30 13:44:45

大數(shù)據(jù)Etu知意圖

2024-10-10 08:33:06

2012-05-31 10:14:23

大數(shù)據(jù)

2023-03-13 14:41:22

機(jī)器學(xué)習(xí)算法

2021-01-26 10:23:06

人工智能人工智能技術(shù)
點(diǎn)贊
收藏

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