背景
场景:
- 物联网、游戏、金融、证券、车联网等场景, appendonly的高并发数据写入, 需要高效的按时间区间进行数据统计分析.
挑战:
- 写入量大, 传统btree索引对写入的RT影响大, 导致性能下降严重.
- 普通btree索引存储空间占用较大.
- 普通btree索引采用链表存储, 逻辑上有序, 而物理离散, 加上IO有prefetch, 使得按btree的索引范围查询将占用大量IO通道. 范围查询效率差.
PG解决方案:
- PG采用堆表存储, 使用时序索引, 每连续的N个数据块存储min,max val. 时序索引只有btree的几百分之一大小. 并且支持快速的范围查询.
- 其他数据库产品采用聚集存储无法实现时序索引, 因为聚集存储本身必须按PK组织, 在数据块层面已经没有时序顺序了.
202105/20210507_05.md 《PostGIS空间索引(GiST、BRIN、R-Tree)选择、优化- 2》
202103/20210326_02.md 《PostgreSQL 14 preview - BRIN (典型IoT 时序场景) 块级索引支持bloom filter - 随机,大量distinct value, 等值查询》
202103/20210326_01.md 《PostgreSQL 14 preview - BRIN (典型IoT 时序场景) 块级索引支持multi-range min-max [s] - 分段范围索引》
202103/20210324_01.md 《PostgreSQL 14 preview - brin 索引内存优化》
201803/20180323_05.md 《PostgreSQL 11 preview - BRIN索引接口功能扩展(BLOOM FILTER、min max分段)》
201711/20171107_25.md 《HTAP数据库PostgreSQL 场景与性能测试之24 - (OLTP) 物联网- 时序数据并发写入(含时序索引BRIN)》
201708/20170824_01.md 《PostgreSQL BRIN索引的pages_per_range选项优化与内核代码优化思考》
201708/20170823_01.md 《万亿级电商广告- brin黑科技带你(最低成本)玩转毫秒级圈人(视觉挖掘姊妹篇) - 阿里云RDS PostgreSQL, HybridDB for PostgreSQL最佳实践》
201708/20170820_01.md 《PostGIS空间索引(GiST、BRIN、R-Tree)选择、优化- 阿里云RDS PostgreSQL最佳实践》
201706/20170617_01.md 《自动选择正确索引访问接口(btree,hash,gin,gist,sp-gist,brin,bitmap...)的方法》
201706/20170611_02.md 《PostgreSQL 并行写入堆表,如何保证时序线性存储- BRIN索引优化》
201704/20170405_01.md 《PostgreSQL 10.0 preview 功能增强- BRIN 索引更新smooth化》
201702/20170219_01.md 《PostgreSQL 聚集存储与BRIN索引- 高并发行为、轨迹类大吞吐数据查询场景解说》
201604/20160414_01.md 《PostgreSQL 物联网黑科技- 瘦身几百倍的索引(BRIN index)》
201505/20150526_01.md 《PostgreSQL 9.5 new feature - lets BRIN be used with R-Tree-like indexing strategies For "inclusion" opclasses》
201504/20150419_01.md 《PostgreSQL 9.5 new feature - BRIN (block range index) index》
202105/20210518_02.md 《结合PostgreSQL, MADlib, Tensorflow 实现机器学习是时序分析. 使用本地数据, 不需要move data.》
202105/20210514_01.md 《PostgreSQL 时序数据库插件timescaledb 2.2.1 通过custom plan provider接口实现index skip scan, 加速distinct, last_value, first_value等大表稀疏值快速搜索, 最快上万倍性能提升》
202105/20210509_01.md 《PostgreSQL 应用开发解决方案最佳实践系列课程- 6. 时空、时态、时序、日志等轨迹系统》
202104/20210429_03.md 《PostgreSQL - 时序、IoT类场景- time_bucket 分析函数- 内置date_bin》
202104/20210429_02.md 《PostgreSQL - 时序、IoT类场景- first_value , last_value , agg , cte , window , recursive》
202104/20210429_01.md 《PostgreSQL - 时序、IoT类场景- 自定义histogram函数, 绘制数据分布柱状图- cte window range width_bucket format plpgsql》
202104/20210428_03.md 《PostgreSQL 时序数据库设计最佳实践- 关联citus,columnar,partition,timescaledb,压缩,高速写,parallel append 多分区并行查询,分区》
202103/20210325_01.md 《PostgreSQL 14 preview - date_bin 任意起点, 任意bucket(interval) split bucket align 统计- 时序场景(iot, 金融等),关联timescaledb》
202004/20200412_03.md 《一款兼容PostgreSQL协议的时序数据库- QuestDB》
201912/20191218_01.md 《PostgreSQL 时序数据库timescaledb支持compress调度》
201910/20191027_04.md 《PostgreSQL timescaledb插件pg_prometheus - PostgreSQL作为prometheus的时序数据库必备插件》
201905/20190509_01.md 《pipelinedb 团队加入Confluent,TimescaleDB时序插件支持准实时聚合(类流式计算)》
201804/20180420_01.md 《[未完待续] PostgreSQL + timescaleDB + Prometheus 物联网时序数据监控组合》
201801/20180129_01.md 《PostgreSQL 时序数据库插件timescaleDB 部署实践(含例子纽约TAXI数据透视分析) - PostGIS + timescaleDB => PG时空数据库》
201712/20171225_01.md 《PostgreSQL 时序数据案例- 时间流逝, 自动压缩(时间粒度老化), 同比\环比》
201711/20171107_16.md 《HTAP数据库PostgreSQL 场景与性能测试之15 - (OLTP) 物联网- 查询一个时序区间的数据》
201708/20170823_02.md 《时序业务,求最新值(从7秒到7毫秒的优化之旅)- 阿里云RDS PostgreSQL最佳实践》
201707/20170705_01.md 《PostgreSQL 海量时序数据(任意滑动窗口实时统计分析) - 传感器、人群、物体等对象跟踪》
201707/20170702_01.md 《PostgreSQL FDW 伪列实现时序数据存储自动分区- FUNCTION pushdown》
201705/20170518_01.md 《(流式、lambda、触发器)实时处理大比拼- 物联网(IoT)\金融,时序处理最佳实践》
201704/20170417_01.md 《PostgreSQL 时序最佳实践- 证券交易系统数据库设计- 阿里云RDS PostgreSQL最佳实践》
201704/20170409_05.md 《时序数据库有哪些特点? TimescaleDB时序数据库介绍》
201611/20161128_01.md 《时序数据合并场景加速分析和实现- 复合索引,窗口分组查询加速,变态递归加速》