HybridDB for PostgreSQL 是基于 Greenplum Database 开源数据库项目开发,由阿里云数据库内核团队深度扩展及优化,到目前为止,我们已经增加了许多功能性能,许多功能走在了社区的前面。
OSS_EXT
OSS是阿里云对象存储产品,OSS_EXT功能打通了HybridDB for PostgreSQL和OSS数据通道,极大地方便用户将数据并行从OSS导入或导出到OSS,降低了上云门槛,并支持通过gzip进行OSS外部表文件压缩,大量节省存储空间及成本。我们测试的一个导入性能结果: 157G数据,16个节点,510秒导入完成,平均每个节点20M/s,节点数越多,导入越快 详细使用链接
列存优化
Greenplum的列存储功能不仅可以节约表存储空间,而且基于一列或比较少的列计算时性能很好。当然也有不足,当含有条件查询时,如果不使用索引每次都会全表扫描,使用索引又会降低导入性能以及索引查询消耗大量IO。HybridDB for PostgreSQL列存优化的实现使列存储功能优势更加突出,主要优化在列存储数据中收集min、max元信息,并在查询中使用元信息过滤大量的数据块,没有索引的缺点,却能达到索引的性能,大部分场景可以用来替代索引。
Sortkey
Sortkey(排序键)可以让用户将数据按照顺序存储在磁盘文件中,排序键主要有两大优势,(1) 加速列存优化,收集的min、max元信息很少重叠,过滤性很好 (2) 对于含有order by和group by等需要排序的SQL可以避免再次排序,直接从磁盘中读取出来就是满足条件的有序数据。合理的使用分区键和排序键对于性能提升是非常有效的。HybridDB for PostgreSQL排序键
JSONB(即将推出)
json类型几乎已成为互联网及物联网的基础数据类型,越来越多的应用对json类型依赖,HybridDB for PostgreSQL除了支持json类型和json操作符外,即将推出jsonb功能,直接兼容PG 10.0 jsonb功能,丰富的操作符及函数,性能高于json。
Hyperloglog
HyperLogLog为互联网广告分析及有类似预估分析计算需求的行业提供解决方案,以便于快速预估 PV、UV 等业务指标。HybridDB for PostgreSQL深度融合Hyperloglog功能,两段式聚合实现,使Hyperloglog在用户的OLAP系统分析中发挥其强大的功能。详细使用链接
Library
对于复杂的分析系统,一条或者几条SQL难以满足用户的需求,Greenplum原生支持plpgsql实现UDF(用户自定义函数),用户可以可以通过plpgsql存储过程实现复杂的SQL逻辑,然而对于学java或者python的程序猿简直要命,plpgsql太难写了。。怎么办?HybridDB for PostgreSQL支持Java UDF,用户只需要把本地实现的jar包通过create library命令就可以导入到HybridDB中,import一下就可以享用了。Library详细使用链接
JAVA UDF详细使用链接
其他
MADLIB,POSTGIS,稳定性增强、BUG修复等,欢迎使用HybridDB for PostgreSQL