任意列搜索之 列存储优化

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

任意列搜索之 列存储优化

德哥 2017-06-15 15:20:25 浏览1885
展开阅读全文

标签

PostgreSQL , 列存储 , shard , 切片 , 大块 , 小块 , sort , 块级索引 , bitmap scan , 索引延迟 , 归整


背景

数据分析系统,决策系统的数据量通常非常庞大,属性(列)非常多,可能涉及到任意列的组合条件查询,筛选结果、聚合结果、多维分析等。

这种场景如何优化能满足实时的响应需求呢?

PostgreSQL中有一些技术,可以满足此类场景。

1. 内置bitmapAnd bitmapOr,使用任意字段的索引搜索时,可以快速跳过不满足条件的块,快速的得到组合结果。

实测10亿数据,31个字段任意搜索,约几百毫秒的响应时间。

案例如下:

《多字段,任意组合条件查询(无需建模) - 毫秒级实时圈人 最佳实践》

还有这种方法,要求每个字段都建立索引,对数据写入会有性能影响(特别是与堆存储线性相关性很差的字段

网友评论

登录后评论
0/500
评论
德哥
+ 关注
所属云栖号: 阿里云数据库ApsaraDB