1.hbase的rowkey是按字典排序的,我看有的资料建议rowkey设计不应该是自增的,应该和这个字典排序相关吧
2.hbase的数据存储是按照region来的,region的设计前段时间在坐飞机时候看了下,看来映像不是太深,有点记忆不清了,不过今天发现,region是请求访问的一个具体源头,也就是说一个请求一个线程都是访问一个region,所以如果一台服务器有8核,假如集群有50台服务器,50*8=400,我们最好定义400个region,region大小也要很好的控制,太大会导致region访问过于频繁,最后数据倾斜,当然hbase有自己机制拆分region,但是碰到极端情况还是需要手动去拆分region。
3.mr编程其实非常痛苦的,似乎现在mr没那么流行,这个观点有点错误了(我之前想的),例如hbase使用有时可以使用mr,让mr对于数据做好清洗过滤的工作,最后以最佳的效果录入到hbase里。我一定要学习spark的,学习mr是学习spark的一个基础。
4.mongodb的灵活在于它的表结构比关系数据库灵活,其实mongodb的使用更像memcache在使用,只不过mongodb提供的功能更加强大,特别是数据结构更加灵活。