沒有限制,但是需要考慮一些問題:
鎖力度
當(dāng)你操作一行數(shù)據(jù)的時候,這個regionserver 會對這個行進(jìn)行暫時鎖定,來進(jìn)行操作,
從好的方面看,我們可以并發(fā)的進(jìn)行原子讀操作,或者壓根不能修改操作。除非可以可以容忍誤差(部分更新,數(shù)據(jù)時效不敏感)
在弊的方面看,這意味著單個行內(nèi)的吞吐量的寫入操作被限制(可能幾百每秒)。
Region的分布式性能
對一個row進(jìn)行操作的負(fù)載均衡和分布式單位都在一個region上,所以這個region到底有多忙,他也只會通過這臺機(jī)器提供服務(wù)。如果是多行那么就可以做多臺服務(wù)進(jìn)行一個負(fù)載均衡。
Bugs
在一些早起版本有些bug,他會突然加載反序列化整行數(shù)據(jù)到內(nèi)存中,所以行column非常多(100MB)的話就會導(dǎo)致OOM, 這些bug可能已經(jīng)解決了吧?regionserver也會更聰明的選擇需要的column進(jìn)行加載。
這個是需要明確的。
總結(jié)
如果你不需要做原子操作,那么可能最好的方式是設(shè)計一個高表模型來實(shí)現(xiàn)的邏輯