1. 如果有幾百億條數據,如何在hbase表中存放
1、首先你有沒有那麼多台伺服器的集群,如果只是幾台,你要想夠不夠,你的hbase 有幾百億,那麼你hdfs上的數據可能要有兩個備份,你這幾百億條是如何生成的,肯定是maprece跑出來導入到hbase中把,那麼原始數據你要不要留,如果留,加上備份就要三份,所以節點的多少要確定。
2、幾百億其實挺多的,hbase 的設計一定要跟你的業務相關,hbase他不能完全像關系型資料庫那樣去隨意查詢,到達一定量級,如果設計的不好也是非常之慢的,甚至將hbase搞到崩潰。所以你先去網上看看rowkey的設計原則,比如長度原則等等,然後根據自己業務,哪些查詢經常用到,哪些不會用到,想要用hbase實現那種非常靈活的類似關系資料庫的查詢是不理智的。
3、樓上的兄弟說得對,還有region熱點的問題,如果你的hbase數據不是那種每天增量的數據,建議跑個maprece對你的數據進行各評判,看看如何能將數據盡可能均勻的分配到每個region中,當然這需要預先分配region
4、幾百億條數據,如果對rowkey進行模糊過濾一定非常非常之慢,所以可以考慮二級索引或者協處理器