Recent Posts

PostgreSQL ADHoc(任意字段组合)查询 与 字典化 (rum索引加速) - 实践与方案1

8 minute read

背景 业务背景 某系统数据量: 20亿行左右,64个字段,原始数据多为字符串类型。(大多数字段的唯一值有限) 需求: 1. 查询,任意字段组合查询,求聚合值。 2. 查询并发,1000左右查询并发,每次查询响应时间要求100ms以内。 3. 写入、更新,要求延迟1秒内。 高峰时写入、更新可达20万行/...

PostgreSQL 全局ID分配(数据字典化)服务 设计实践

5 minute read

背景 设计一个全局ID分配服务,要求: 功能性要求 1. 输入字符串 返回 ID i. 已经存在系统中的字符串返回原ID 【严格要求】 ii. 新字符串分配新ID 递增分配 2. 输入ID 返回字符串 3. 每个Topic一个ID序列 4. Topic可以动态增删 5. 支持hsf调...

PostgreSQL 覆盖 Oracle 18c 重大新特性

8 minute read

背景 Oracle 18c 发布了诸多新特性,其中大部分Oracle 18c的重大特性,在早期版本的PostgreSQL数据库已支持。 如下 一、开发特性 1 图式搜索 Oracle 18c SQL-Based Property Graph Query and Analytics https://do...

PostgreSQL raster(栅格数据) st_value 优化举例

less than 1 minute read

背景 栅格数据是由点阵组成的图像化数据,点阵具备空间属性(边界)。点阵由像素组成,所以每个像素也具备空间属性,同时每个像素内填充数值,数值可以代表温度、灰度、颜色系数、属性、湿度等等。 每个栅格中可以有多个波段,每个波段可以代表一个图层,多个波段可以组合叠加计算。 使用栅格数据,可以实现具...

PostgreSQL 11 preview - 支持 数组外键约束

6 minute read

背景 通常,数据库的外键约束是一种一行对一行的约束,然而,在某些场景中,可能要求一行匹配多行的约束。例如: 1、表1:商品表,商品ID为主键 2、表2:用户购买的商品列表,商品ID数组 要求表2数组内的每一个元素都在商品表ID字段中存在,同时要求在删除或更新商品表的商品ID时,可以影响到外键。 Postg...