99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線(xiàn)電話(huà):13121318867

登錄
2018-10-21 閱讀量: 1004
Hbase的rowkey(行鍵)的設(shè)計(jì)原則?

owkey長(zhǎng)度原則

rowkey是一個(gè)二進(jìn)制碼流,可以是任意字符串,最大長(zhǎng)度 64kb ,實(shí)際應(yīng)用中一般為10-100bytes,以 byte[]形式保存,一般設(shè)計(jì)成定長(zhǎng)。

建議越短越好,不要超過(guò)16個(gè)字節(jié),原因如下:

1. 數(shù)據(jù)的持久化文件HFile中是按照KeyValue存儲(chǔ)的,如果rowkey過(guò)長(zhǎng),比如超過(guò)100字節(jié),1000w行數(shù)據(jù),光rowkey就要占用100*1000w=10億個(gè)字節(jié),將近1G數(shù)據(jù),這樣會(huì)極大影響HFile的存儲(chǔ)效率;

2. MemStore將緩存部分?jǐn)?shù)據(jù)到內(nèi)存,如果rowkey字段過(guò)長(zhǎng),內(nèi)存的有效利用率就會(huì)降低,系統(tǒng)不能緩存更多的數(shù)據(jù),這樣會(huì)降低檢索效率。

3. 目前操作系統(tǒng)都是64位系統(tǒng),內(nèi)存8字節(jié)對(duì)齊,控制在16個(gè)字節(jié),8字節(jié)的整數(shù)倍利用了操作系統(tǒng)的最佳特性。

rowkey散列原則

如果rowkey按照時(shí)間戳的方式遞增,不要將時(shí)間放在二進(jìn)制碼的前面,建議將rowkey的高位作為散列字段,由程序隨機(jī)生成,低位放時(shí)間字段,這樣將提高數(shù)據(jù)均衡分布在每個(gè)RegionServer,以實(shí)現(xiàn)負(fù)載均衡的幾率。如果沒(méi)有散列字段,首字段直接是時(shí)間信息,所有的數(shù)據(jù)都會(huì)集中在一個(gè)RegionServer上,這樣在數(shù)據(jù)檢索的時(shí)候負(fù)載會(huì)集中在個(gè)別的RegionServer上,造成熱點(diǎn)問(wèn)題,會(huì)降低查詢(xún)效率。

rowkey唯一原則

必須在設(shè)計(jì)上保證其唯一性,rowkey是按照字典順序排序存儲(chǔ)的,因此,設(shè)計(jì)rowkey的時(shí)候,要充分利用這個(gè)排序的特點(diǎn),將經(jīng)常讀取的數(shù)據(jù)存儲(chǔ)到一塊,將最近可能會(huì)被訪(fǎng)問(wèn)的數(shù)據(jù)放到一塊。

0.0000
2
關(guān)注作者
收藏
評(píng)論(0)

發(fā)表評(píng)論

暫無(wú)數(shù)據(jù)
推薦帖子