项目中hbase接口开发总结
来源:互联网 发布:帝国cms首页模板代码 编辑:程序博客网 时间:2024/06/14 04:34
项目中查询hbase接口开发总结
最近在做关于查询hbase应用层接口的性能测试。从而有一个对于hbase查询的效率有了新的认识。
1、查询的rowkey设计和写入数据的rowkey设计要区分。
rowkey通常的设计规则是:
1、较短 2、唯一 3、散列 4、通常将需要查询的数据参与rowkey的设计
项目场景:
在一个查询请求过来时,在业务会查询两个表共有4次查库的动作。这样使得应用的TPS较低。解决的方式是修改查询时的rowkey的设计规则,为了减少查库的次数减少,TPS得到了提升。
2、关于scan的使用,scan的next方法默认是每次只取出一条数据,可以通过设置scan.setCaching()来增加每次取出的条数。我们结合自己的实际开发需要将其改成5,查询的性能也有所提升。
3.本次接口中封装的是单例的HConnection,这样使得在高并发的情况下性能也是有所降低,我们尝试封装出连接池。而且打印出来了每个模块的时间的消耗,使得时间每部分花费的时间直观体现了这部分的时间耗费比较长。在实际项目中发现每次调用HManager.createConnection()会导致项目中的内存溢出,服务器无法再次创建线程。
4.对于查主备库查询方案的优化。
查询的方案是选择一个库作为主要查询的库,主库A。先使用启动一个子线程去查询库,当发现在一定时间后没有返回值的情况下就再启动一个子线程去查库B,等待二者查询结果,谁先返回就取出查询结果,杀掉两个查询的子线程,并统计查询库的情况,即当前查询的A库连续三次出现在一定时间内没有返回值,那么就将B库中作为主要查询的库。
- 项目中hbase接口开发总结
- HBase中Filter总结
- 【HBase企业应用开发】工作中自己总结的Hbase笔记,非常全面!
- 接口项目总结
- 项目开发中XML 读取错误总结
- Android Studio开发项目中问题总结
- 安卓项目中 一些常见 API接口总结
- 项目开发过程中接口的风险和管控
- 如何在java Web项目中开发WebService接口
- 如何在java Web项目中开发WebService接口
- 接口函数开发总结
- WordPress接口开发总结
- WebServices接口开发总结
- 接口开发个人总结
- 接口开发总结
- HBase 中LoadBalancer插件开发
- 项目开发、项目管理中遇到的问题总结
- hbase 接口
- Leetcode 343. Integer Break (Medium) (cpp)
- 10分钟学会Markdown语法---程序员自用
- Spring中通配符
- C语言中参数和易犯的错误
- 【LeetCode】 344. Reverse String
- 项目中hbase接口开发总结
- 在项目开始前需要注意的几点
- 第8章 管理文件系统
- css3圣诞水晶球
- jquery easyui combotree取值
- 感谢csdn提供的c-ide环境
- 如何通过Android Studio写一个库
- VC生成静态库release版比debug版库文件尺寸更大的原因
- 消息队列学习笔记