vertica数据库用python客户端(vertica-python)和原生vertica JDBC连接下的速度区别

作者:张凌飞 Steven Zhang
vertica在使用的时候主要是要在数据库内使用,但是如果假设必须出现需要用python来获得数据的时候的话,就会涉及到数据IO的问题,数据要从数据库移动到python端,如果是处理大数据的话这个成本是非常高的。
下面就给个例子说明我的调查结果,只说结论就不上截图了。

数据量连接方式数据传输速率(MB/s)
1.344 百万数据表DBeaver+vertica官方JDBC41.6
1.344 百万数据表vertica-python 0.10.03-4

这里很明显的看出在完全相同的网络和主机环境下如果用python来和vertica进行大型数据的交互是非常不合适的,而vertica自身的JDBC是优化的肯定所以能取得接近40MB/s的以上速度。其实换句话说就是python和vertica进行协同大数据分析的时候只能用python做controller向数据库发出命令来执行SQL和数据库内分析,数据不能移动否则就很失败。绝不能把大型数据挪动到python内部来处理。

这里没有研究Java的访问速度,但是我推测由于java可以使用vertica官方的JDBC包所以只要网络环境不变,速度肯定是要比python快很多的。python的其他和vertica交互的package都是方言包,底层基于vertica-python所以也不需要研究了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值