hbase
1.hbase为什么要预分区?
如果创建表的时候没有做预分区,默认一个表就是一个region,一个region分裂之后变成两个region,两个region还是在同一台机器上。
为了解决数据倾斜问题,在创建表指定hbase表多个region分区规则,让数据负载在多台服务器上面。实现数据负载均衡,提高读写效率。
2.hbase创建预分区的几种方式?
1)命令行手动指定预分区,rowkey的范围负载多台服务器。
2)命令行,使用16进制算法生成预分区,rowkey按照字典排序。
3)java API方式创建预分区。
3.hbase中数据查询方式?
1)get rowkey 直接根据rowkey获取某一条数据。
2)scan startRow stopRow 根据rowkey的范围扫描。
3)scan tableName 全表扫描。
4.hbase中rowkey的创建原则?
1)结合业务主要对rowkey均匀负载和长度限制。
2)rowkey不能太长。10-100字节。
3)rowkey均匀散列,在高位随机生成一些数字均匀落在不同region服务器中,实现负载均衡。
5.hbase中二级索引是什么?
将业务上经常需要查询的数据存储到es中,先查询es中数据,详情再去查询hbase数据,以空间换时间。
6.行式存储和列式存储的区别?
1)行式:MysqL,oracle
同一行数据放在同一个block块里面,数据写入快,适合查询全属性字段。
2)列式:hbase
同一列数据放在同一个block块里面,每一列数据单独存放,适合查询某几列数据,大量降低系统IO。
7.nosql与关系型数据库的区别?
1)存储格式。nosql存储格式是key,value形式。
3)成本。hbase,mongodb开源。oracle收费。
8.hbase如何优化?
1)JVM优化,设置多个线程进行垃圾回收。
2)延迟高的数据操作的等待时间,延长超时时间。
3)优化datanode允许最大文件打开数,hbase一般会同一时间操作大量文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。