HBase基礎(chǔ)(一):架構(gòu)和組件

1欠橘、基本概念

HBase是一個(gè)開(kāi)源的非關(guān)系型分布式數(shù)據(jù)庫(kù)(NoSQL),參考了谷歌的BIgTable建模现恼,實(shí)現(xiàn)的編程語(yǔ)音為Java肃续。是Apache軟件基金會(huì)的Hadoop項(xiàng)目的一部分黍檩,運(yùn)行于HDFS文件系統(tǒng)上,所以可以容錯(cuò)地存儲(chǔ)海量稀疏的數(shù)據(jù)

  • HBase的特性:
    • 高可靠
    • 高并發(fā)讀寫(xiě)
    • 面向列
      行存儲(chǔ) VS 列存儲(chǔ)
      行存儲(chǔ):優(yōu)點(diǎn)是始锚,寫(xiě)入一次性完成刽酱,保持?jǐn)?shù)據(jù)完整性;缺點(diǎn)是瞧捌,數(shù)據(jù)讀取過(guò)程中產(chǎn)生冗余數(shù)據(jù)棵里,若有少量數(shù)據(jù)可以忽略;
      列存儲(chǔ):優(yōu)點(diǎn)是姐呐,讀取過(guò)程不會(huì)產(chǎn)生冗余數(shù)據(jù)殿怜,特別適合對(duì)數(shù)據(jù)完整性要求不高的大數(shù)據(jù)領(lǐng)域; 缺點(diǎn)是曙砂,寫(xiě)入效率差头谜,保證數(shù)據(jù)完整性方面差
    • 可伸縮
    • 易構(gòu)建
  • Hbase優(yōu)勢(shì):
    • 海量數(shù)據(jù)存儲(chǔ)
    • 快速隨機(jī)訪問(wèn)
    • 大量寫(xiě)操作的應(yīng)用
  • Hbase應(yīng)用場(chǎng)景:
    • 互聯(lián)網(wǎng)搜索引擎數(shù)據(jù)存儲(chǔ)
    • 海量數(shù)據(jù)寫(xiě)入
    • 消息中心
    • 內(nèi)容服務(wù)系統(tǒng)(schema-free)
    • 大表負(fù)責(zé)&多維護(hù)索引
    • 大批量數(shù)據(jù)讀取

2、Data Modeling

image.png

RowKey:是Byte array鸠澈,是表中每條記錄的“主鍵”柱告,方便快速查找,Rowkey的設(shè)計(jì)非常重要款侵;
Column Family:列簇末荐,擁有一個(gè)名稱(chēng)(String),包含一個(gè)或者多個(gè)相關(guān)列
Column : 屬于某一個(gè)Columnfamily新锈,familyName:columnName甲脏,每條記錄可動(dòng)態(tài)添加


image.png

Version Number:類(lèi)型為L(zhǎng)ong,默認(rèn)值是系統(tǒng)時(shí)間戳妹笆,可由用戶(hù)自定義块请,每個(gè)rowkey唯一
Value(Cell):Byte array


image.png

三維有序 {rowkey => {family => {qualifier => {version => value}}}}
默認(rèn)都是按字典順序,即字母順序排列(如下拳缠,bar在foo前)墩新;
a:cf1:bar:1368394583:7
a:cf1:foo:1368394261:hello
image.png

3、體系架構(gòu)

image.png

image.png

Client :
1窟坐、整個(gè)HBase集群的訪問(wèn)入口海渊;
2、使用HBase RPC機(jī)制與HMaster和HRegionServer進(jìn)行通信哲鸳;
3臣疑、與HMaster通信進(jìn)行管理類(lèi)操作;
4徙菠、與HRegionServer通信進(jìn)行數(shù)據(jù)讀寫(xiě)類(lèi)操作讯沈;
5、包含訪問(wèn)HBase的接口婿奔,并維護(hù)cache來(lái)加快對(duì)HBase的訪問(wèn)

Zookeeper:
1缺狠、保證任何時(shí)候问慎,集群中只有一個(gè)HMaster;
2挤茄、存儲(chǔ)所有HRegion的尋址入口如叼;
3、HMaster和HRegionServers啟動(dòng)時(shí)會(huì)向ZooKeeper注冊(cè)穷劈;
4薇正、實(shí)時(shí)監(jiān)控HRegion Server的上線和下線信息,并實(shí)時(shí)通知給HMaster囚衔;
5、存儲(chǔ)HBase的schema和table元數(shù)據(jù)雕沿。
6练湿、容錯(cuò):Zookeeper是一個(gè)可靠的服務(wù),一般配置3或者5個(gè)Zookeeper實(shí)例审轮。

HMaster:主要負(fù)責(zé)Table和Region的管理工作
1肥哎、HMaster沒(méi)有單點(diǎn)問(wèn)題,HBase中可以啟動(dòng)多個(gè)HMaster疾渣,通過(guò)Zookeeper的Master Election機(jī)制保證總有一個(gè)Master在運(yùn)行篡诽;
2、管理用戶(hù)對(duì)table的增刪改查操作榴捡;
3杈女、管理HRegionServer的負(fù)載均衡,調(diào)整Region分布吊圾;
4达椰、Region Split后,負(fù)責(zé)新Region的分配项乒;
5啰劲、在HRegionServer停機(jī)后,負(fù)責(zé)失效HRegionServer上Region遷移工作檀何;
6蝇裤、Client訪問(wèn)hbase上數(shù)據(jù)的過(guò)程并不需要HMaster參與(尋址訪問(wèn)Zookeeper和HRegionServer,數(shù)據(jù)讀寫(xiě)訪問(wèn)HRegionServer),HMaster僅僅維護(hù)著table和Region的元數(shù)據(jù)信息频鉴,負(fù)載很低栓辜;
7、容錯(cuò):Zookeeper重新選擇一個(gè)新的的Master
—無(wú)HMaster過(guò)程中砚殿,數(shù)據(jù)讀取依舊照常進(jìn)行啃憎;
—無(wú)HMaster過(guò)程中,region切分似炎,負(fù)載均衡等無(wú)法進(jìn)行

RegionServer:
1辛萍、維護(hù)HRegion悯姊,處理對(duì)這些HRegion的IO請(qǐng)求,向HDFS文件系統(tǒng)中讀寫(xiě)數(shù)據(jù)贩毕;
2悯许、負(fù)責(zé)切分在運(yùn)行過(guò)程中變得過(guò)大的HRegion;
3辉阶、HRegionServer內(nèi)部管理了一系列的HRegion對(duì)象先壕,每個(gè)HRegion對(duì)應(yīng)了table中的一個(gè)region,HRegion中由多個(gè)HStore組成谆甜。每個(gè)HStore對(duì)應(yīng)了Table中的一個(gè)column family(列簇)垃僚,每個(gè)HStore 是一個(gè)集中的存儲(chǔ)單元,因此最好將具備共同IO特性的column放在一個(gè)column family中规辱,這樣最高效谆棺;
4、HStore存儲(chǔ)是HBase存儲(chǔ)的核心罕袋,由兩部分組成改淑,一部分是MemStore,一部分是StoreFile浴讯;MemStore是Sorted Memory Buffer朵夏,用戶(hù)寫(xiě)入的數(shù)據(jù)首先會(huì)放入MemStore中,當(dāng)MemStore滿(mǎn)了以后會(huì)Flush成一個(gè)StoreFile(底層實(shí)現(xiàn)是HFile)
5榆纽、Regionserver容錯(cuò):定時(shí)向Zookeeper匯報(bào)心跳仰猖,如果一段時(shí)間內(nèi)未出現(xiàn)心跳,Master將該RegionServer上的Region重新分配到其他RegionServer上奈籽,失效服務(wù)器上“預(yù)寫(xiě)”日志由主服務(wù)器進(jìn)行分割并派送給新的RegionServer亮元。

注:split分為切分(regionserver負(fù)責(zé))和分配(master負(fù)責(zé))兩個(gè)過(guò)程

4、物理模型

region唠摹,Hbase上的分區(qū)概念爆捞,不同rewkey存儲(chǔ)在不同的region上


image.png

image.png

當(dāng)region被分為兩個(gè)新的region時(shí),master會(huì)將這兩個(gè)region分配到不同的regionServer上


image.png
image.png

image.png

image.png

5勾拉、在HDFS上目錄結(jié)構(gòu)

image.png

WALs:預(yù)寫(xiě)日志煮甥,用來(lái)記錄日志;RegionServer在往表中寫(xiě)入數(shù)據(jù)時(shí)藕赞,會(huì)先往WALs下的Hlog寫(xiě)一份成肘,然后再往內(nèi)存寫(xiě)(和mysql的binlog類(lèi)似),避免內(nèi)存丟失數(shù)據(jù)斧蜕,可以從日志文件中恢復(fù)
data:是真正存儲(chǔ)數(shù)據(jù)的
下面第一層是namespace(nstest)


image.png

第二層是table(tb1)双霍,第三層是region,第四層是列簇Column Family,第五層是StoreFile


image.png

image.png

image.png

6洒闸、在HDFS上數(shù)據(jù)存儲(chǔ)

HBase中的所有數(shù)據(jù)文件都存儲(chǔ)在HDFS上染坯,主要有兩種文件類(lèi)型
1、Hfile : HBase中<key丘逸,value>存儲(chǔ)格式单鹿,是Hadoop的二進(jìn)制格式文件,StoreFile就是對(duì)HFile做了輕量級(jí)包裝深纲,進(jìn)行數(shù)據(jù)的存儲(chǔ)仲锄;
當(dāng)用戶(hù)寫(xiě)入時(shí)候,先寫(xiě)入memstore湃鹊,當(dāng)memstore滿(mǎn)了以后會(huì)flush成一個(gè)storefile(就是Hdfs上的Hfile)儒喊;
用戶(hù)也可以手動(dòng)flush,將內(nèi)存中的數(shù)據(jù)直接溢寫(xiě)到磁盤(pán)上币呵,手動(dòng)干預(yù)
2澄惊、Hlog File : HBase中WAL(Write Ahead Log預(yù)寫(xiě)日志)的存儲(chǔ)格式,物理上是Hadoop的squence File序列化文件
WAL類(lèi)似Mysql中的binlog富雅,用來(lái)做災(zāi)難恢復(fù)。Hlog記錄數(shù)據(jù)的所有變更肛搬,一旦數(shù)據(jù)修改没佑,就可以從log中進(jìn)行恢復(fù)。每個(gè)HRegionServer維護(hù)一個(gè)HLog温赔;這樣不同region(來(lái)自不同表table)的日志會(huì)混在一起蛤奢,這樣做的目的是不斷追加單個(gè)文件,相對(duì)于同時(shí)寫(xiě)多個(gè)文件而言陶贼,可以減少磁盤(pán)尋址次數(shù)啤贩,因此可以提高對(duì)table的寫(xiě)性能;但是拜秧,因此帶來(lái)的缺點(diǎn)是痹屹,如果一臺(tái)HRegionServer下線,為了恢復(fù)其上的region枉氮,需要將HRegionServer上的log進(jìn)行拆分志衍,然后分發(fā)到其他HRegionServer上進(jìn)行恢復(fù)

HBase中默認(rèn)有張系統(tǒng)表('hbase:namespace',下圖)聊替,存儲(chǔ)hbase中所有namespace的信息楼肪;還有張'hbase:meta'表:記錄元數(shù)據(jù),它的rowkey存儲(chǔ)的是hbase中所有表的region 的位置信息


image.png

image.png

image.png
image.png

7惹悄、在Zookeeper上數(shù)據(jù)存儲(chǔ):

除了HDFS存儲(chǔ)信息春叫,HBase還在Zookeeper中存儲(chǔ)信息,其中的znode信息:
– /hbase/root-region-server ,Root region的位置(系統(tǒng)'hbase:meta'元數(shù)據(jù)表的region信息)
– /hbase/table/-ROOT-暂殖,根元數(shù)據(jù)信息
– /hbase/table/.META.价匠,元數(shù)據(jù)信息
– /hbase/master,當(dāng)選的Mater
– /hbase/backup-masters央星,備選的Master
– /hbase/rs 霞怀,Region Server的信息
– /hbase/unassigned,未分配的Region

image.png

8莉给、Hbase讀寫(xiě)數(shù)據(jù)流程:

Hbase讀取數(shù)據(jù)流程:
1毙石、首先,Client先訪問(wèn)zookeeper颓遏,獲取系統(tǒng)'hbase:meta'元數(shù)據(jù)表的region信息和HRegionServer信息(確定'hbase:meta'元數(shù)據(jù)表的位置)徐矩,從而獲取到'hbase:meta'元數(shù)據(jù)表
2、其次叁幢,根據(jù)namespace滤灯、tablename沪哺、rowkey拒课,在'hbase:meta'元數(shù)據(jù)表查找對(duì)應(yīng)的的Region信息和HRegionserver信息
3、最后词裤,根據(jù)已經(jīng)獲取到的regionserver 和 region信息黍判,去regionserver節(jié)點(diǎn)上查找數(shù)據(jù)豫尽,先從memstore讀取,如果沒(méi)有顷帖,再到storeFile上讀让谰伞(為了讀取的效率)
從這個(gè)過(guò)程可以看出,真正的讀寫(xiě)并不依賴(lài)于master贬墩,在讀寫(xiě)的過(guò)程中如果master節(jié)點(diǎn)出現(xiàn)宕機(jī)榴嗅,短暫性的是不會(huì)出現(xiàn)太大的問(wèn)題

Hbase寫(xiě)入數(shù)據(jù)流程:
1、當(dāng)客戶(hù)端發(fā)起一個(gè)Put請(qǐng)求時(shí)陶舞,首先它從hbase:meta表中查出該P(yáng)ut數(shù)據(jù)最終需要去的HRegionServer嗽测;然后客戶(hù)端將Put請(qǐng)求發(fā)送給相應(yīng)的HRegionServer,在HRegionServer中它首先會(huì)將該P(yáng)ut操作寫(xiě)入WAL日志肿孵;
2论咏、寫(xiě)完WAL日志文件后,HRegionServer根據(jù)Put中的TableName和RowKey找到對(duì)應(yīng)的HRegion颁井,并根據(jù)Column Family找到對(duì)應(yīng)的HStore厅贪,并將Put寫(xiě)入到該HStore的MemStore中,此時(shí)寫(xiě)成功雅宾,并返回通知客戶(hù)端养涮。


image.png

9葵硕、Regionserver的內(nèi)存:Memstore & BlockCache

HBase上Regionserver的內(nèi)存分為兩個(gè)部分贯吓,一部分作為Memstore,主要用來(lái)寫(xiě)悄谐;另外一部分作為BlockCache,主要用來(lái)讀们陆。
寫(xiě)請(qǐng)求會(huì)先寫(xiě)入Memstore,Regionserver會(huì)給每個(gè)region提供一個(gè)Memstore情屹,當(dāng)Memstore滿(mǎn)128M(可配置)后坪仇,會(huì)啟動(dòng)flush刷新到磁盤(pán)。當(dāng)Memstore的總大小超過(guò)限制時(shí)(heapsizehbase.regionserver.global.memstore.upperLimit0.9)——一個(gè)Regionserver有多個(gè)Region垃你,多個(gè)region中memstore的總大小——椅文,會(huì)強(qiáng)行啟動(dòng)flush進(jìn)程,從最大的Memstore開(kāi)始flush惜颇,直到低于限制皆刺;
讀請(qǐng)求先到Memstore中查數(shù)據(jù),查不到就到BlockCache中查凌摄,再查不到就會(huì)到磁盤(pán)上磁盤(pán)上讀羡蛾,并把讀的結(jié)果放入BlockCache。由于BlockCache采用的是LRU策略(Least recently used望伦,最近最少使用),因此BlockCache達(dá)到上限(headsizehfile.block.cache.size0.85)后煎殷,會(huì)啟動(dòng)淘汰機(jī)制屯伞,淘汰掉最老的一批數(shù)據(jù)
在注重讀響應(yīng)時(shí)間的應(yīng)用場(chǎng)景下,可以將BlockCache設(shè)置大些豪直,Memstore設(shè)置小些劣摇,以加大緩存的命中率

image.png

image.png

10、Hbase的Compaction和Split:

image.png

Compaction過(guò)程:
Client寫(xiě)入 -》 存入MemStore弓乙,一直到MemStore滿(mǎn) -》Flush成一個(gè)StoreFile末融,直至增長(zhǎng)到一定閾值 -》觸發(fā)Compaction合并操作 -》 多個(gè)StoreFile合并成一個(gè)StoreFile,同時(shí)進(jìn)行版本合并和刪除 -》 當(dāng)StoreFiles Compaction后暇韧,逐步形成越來(lái)越大的StoreFile -》當(dāng)個(gè)StoreFile大小超過(guò)一定閾值后勾习,觸發(fā)Split操作,把當(dāng)前Region Split成2個(gè)Region懈玻,Region會(huì)下線巧婶,新Split出的2個(gè)子Region會(huì)被HMaster分配到相應(yīng)的HRegionServer上,使得原先1個(gè)Region的壓力得以分流到2個(gè)Region上。
HBase只是增加數(shù)據(jù)艺栈,所有的更新和刪除操作英岭,都是在Compaction階段做的湿右,所以用戶(hù)寫(xiě)操作只需要進(jìn)入到內(nèi)存即可立即返回毅人,從而保證I/O高性能;

Compaction:會(huì)從一個(gè)region的一個(gè)store中選擇一些Hfile文件進(jìn)行合并赵刑;
—》合并原理:先從這些待合并的數(shù)據(jù)文件中讀出KeyValues般此,再按照由小到大排列后寫(xiě)入一個(gè)新的文件中铐懊,之后科乎,這個(gè)新生成的文件就會(huì)取代之前合并的所有文件對(duì)外提供服務(wù)茅茂;
—》合并類(lèi)型:Minor Compaction & Major Compaction
Minor Compaction:是指選取一些小的空闲、相鄰的StoreFile將他們合并成一個(gè)更大的StoreFile走敌,在這個(gè)過(guò)程中不會(huì)處理已經(jīng)Delete或Expired的Cell掉丽。一次Minor Compation的結(jié)果是更少并且更大的StoreFile捶障;這個(gè)過(guò)程實(shí)際上是個(gè)多路歸并的過(guò)程项炼,因?yàn)镠File的每個(gè)文件都是經(jīng)過(guò)歸類(lèi)的,所以合并速度很快驱闷,只受到磁盤(pán)IO性能的影響空另;
Major Compaction:是指將所有的StoreFile合并成一個(gè)StoreFile扼菠,這個(gè)過(guò)程還會(huì)清理三類(lèi)無(wú)意義數(shù)據(jù)循榆,被刪除的數(shù)據(jù)秧饮,TTL過(guò)期數(shù)據(jù)、版本號(hào)超過(guò)設(shè)定版本號(hào)的數(shù)據(jù)柑船;major合并能掃描所有的鍵/值對(duì)鞍时,順序重寫(xiě)全部的數(shù)據(jù)逆巍,重寫(xiě)數(shù)據(jù)的過(guò)程中會(huì)略過(guò)做了刪除標(biāo)記的數(shù)據(jù)莽使,多余斷言刪除此時(shí)生效吮旅,例如庇勃,對(duì)于那些超過(guò)版本號(hào)限制的數(shù)據(jù)以及生存時(shí)間到期的數(shù)據(jù)槽驶,在重寫(xiě)數(shù)據(jù)時(shí)就不再寫(xiě)入磁盤(pán)了掂铐;所以Major Compaction時(shí)間會(huì)持續(xù)比較長(zhǎng),整個(gè)過(guò)程會(huì)消耗大量系統(tǒng)資源爆班,對(duì)上層業(yè)務(wù)有比較大的影響柿菩,因此線上業(yè)務(wù)都會(huì)關(guān)閉自動(dòng)觸發(fā)Major Compactio功能枢舶,改為手動(dòng)在業(yè)務(wù)低峰期觸發(fā);
minor compaction凉泄,輕量級(jí),將符合條件的最早生成的幾個(gè)storefile合并成一個(gè)大的sotrefile文件胀糜,它不會(huì)刪除被標(biāo)記為“刪除”的數(shù)據(jù)和已過(guò)期的數(shù)據(jù)僚纷,并且執(zhí)行過(guò)一次minor合并操作后怖竭,還會(huì)有多個(gè)storefile文件痊臭;
major compaction广匙,重要級(jí)鸦致,把所有的storefile合并成一個(gè)單一的storefile文件分唾,在文件合并期間系統(tǒng)會(huì)刪除標(biāo)記為“刪除”標(biāo)記的數(shù)據(jù)和已過(guò)期失效的數(shù)據(jù)绽乔,同時(shí)會(huì)block(阻塞)所有客戶(hù)端對(duì)該操作所屬region的請(qǐng)求直到合并完畢折砸,最后刪除已合并的storefile文件
—》Compaction本質(zhì):使用短時(shí)間的IO消耗以及帶寬消耗換取后續(xù)查詢(xún)的低延遲;
—》conpact的速度遠(yuǎn)遠(yuǎn)跟不上Hfile生產(chǎn)的速度两芳,這樣就會(huì)使Hfile的數(shù)量越來(lái)越多盗扇,導(dǎo)致讀性能急劇下降疗隶,為了避免這種情況斑鼻,在HFile的數(shù)量過(guò)多的時(shí)候坚弱,會(huì)限制寫(xiě)請(qǐng)求的速度
—》Split和Major Compaction可以手動(dòng)或者自動(dòng)觸發(fā)荒叶;

Split:當(dāng)一個(gè)Region太大時(shí)输虱,將其分裂成兩個(gè)Region

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末愁茁,一起剝皮案震驚了整個(gè)濱河市亭病,隨后出現(xiàn)的幾起案子罪帖,更是在濱河造成了極大的恐慌菠齿,老刑警劉巖葬项,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件襟士,死亡現(xiàn)場(chǎng)離奇詭異嚷量,居然都是意外死亡蝶溶,警方通過(guò)查閱死者的電腦和手機(jī)梨州,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)暴匠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)每窖,“玉大人,你說(shuō)我怎么就攤上這事稽莉∥鄹眩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)贡避。 經(jīng)常有香客問(wèn)我予弧,道長(zhǎng)杀捻,這世上最難降的妖魔是什么致讥? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任墓拜,我火速辦了婚禮咳榜,結(jié)果婚禮上涌韩,老公的妹妹穿的比我還像新娘贸辈。我一直安慰自己擎淤,他們只是感情好嘴拢,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開(kāi)白布席吴。 她就那樣靜靜地躺著,像睡著了一般捞蛋。 火紅的嫁衣襯著肌膚如雪孝冒。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,215評(píng)論 1 299
  • 那天拟杉,我揣著相機(jī)與錄音庄涡,去河邊找鬼。 笑死搬设,一個(gè)胖子當(dāng)著我的面吹牛穴店,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拿穴,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼默色,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼缘厢!你這毒婦竟也來(lái)了捶闸?” 一聲冷哼從身側(cè)響起央碟,我...
    開(kāi)封第一講書(shū)人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤洛勉,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后输拇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蠢古,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拍霜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片换途。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情馏颂,我是刑警寧澤亿絮,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布秆吵,位于F島的核電站,受9級(jí)特大地震影響爷肝,放射性物質(zhì)發(fā)生泄漏对嚼。R本人自食惡果不足惜靡砌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧厕鹃,春花似錦、人聲如沸宗收。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)苟穆。三九已至哎榴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衣形,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腻菇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. HBase介紹昼牛,Hbase是什么术瓮? HBase -- Hadoop Database ,是一個(gè)高可靠贰健、高性能...
    奉先閱讀 3,743評(píng)論 1 36
  • 參考:http://www.reibang.com/p/569106a3008f 最近在逐步跟進(jìn)Hbase的相關(guān)...
    博弈史密斯閱讀 855評(píng)論 1 1
  • 最近在逐步跟進(jìn)Hbase的相關(guān)工作胞四,由于之前對(duì)Hbase并不怎么了解,因此系統(tǒng)地學(xué)習(xí)了下Hbase伶椿,為了加深對(duì)Hb...
    飛鴻無(wú)痕閱讀 50,224評(píng)論 19 272
  • 本文首先簡(jiǎn)單介紹了HBase,然后重點(diǎn)講述了HBase的高并發(fā)和實(shí)時(shí)處理數(shù)據(jù) 辜伟、HBase數(shù)據(jù)模型、HBase物理...
    達(dá)微閱讀 2,732評(píng)論 1 13
  • 比特科技: 存儲(chǔ)脊另、數(shù)據(jù)庫(kù)导狡、大數(shù)據(jù)技術(shù) ? HBase原理和設(shè)計(jì) http://www.bitstech.net/...
    葡萄喃喃囈語(yǔ)閱讀 728評(píng)論 0 11