问下jdbc写入holo 有什么方式能提高写入效率吗?
Hologres是一站式实时数据仓库引擎,支持海量数据高性能实时写入与实时更新,满足大数据场景上对数据高性能低延迟的需求,
在写入或更新场景上,Hologres提供多种数据写入和更新的方式,详情请参见https://help.aliyun.com/document_detail/461881.html?share_token=a0ebbb12-e8a1-45bf-a8c8-f4be37246519&tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_android&utm_campaign=client_share - 写入/更新调优指南-阿里云 - 今日头条
想要提高写入效率,可以使用Prepared Statment模式,这个模式服务器会缓存结果,一旦缓存了速度肯定就快了。另外建议开启批量写入,因为写入需要吃IO资源,批量的话会比你一条一条效率高,并且建议批量的条数设置成256的倍数。
写入数据至Hologres。 可以通过JDBC的Statement或Prepared Statement模式写入数据。 通常情况下,推荐使用Prepared Statment模式,并且设置批量写入数据
官方有对应相关的优化方法,楼主可以看一下。核心的优化内容如下所示: 使用JDBC时想要达到比较好的性能,有以下需要注意的事项。 尽量使用VPC网络,避免使用公网,已避免公网带来的网络开销。 通过JDBC驱动写入数据时,JDBC URL中添加reWriteBatchedInserts=true配置,系统会以批量写入的方式提交作业,性能更好。实践证明攒批配置256的倍数(建议最低设置为256条)效果会更好。同时您也可以使用Hologres的Holo Client会自动攒批。
jdbc:postgresql://{ENDPOINT}:{PORT}/{DBNAME}?ApplicationName={APPLICATION_NAME}&reWriteBatchedInserts=true
使用Prepared Statment模式,此模式下服务端会缓存SQL编译的结果,从而降低写入数据的延时,并提高吞吐量。
https://help.aliyun.com/document_detail/162684.html(此答案整理自实时数仓Hologres交流群)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975