Recent Posts

无人驾驶背后的技术 - PostGIS点云(pointcloud)应用 - 2

less than 1 minute read

背景 无人驾驶、配送机器人的业务背景,方案设计请参考: 《无人驾驶背后的技术 - PostGIS点云(pointcloud)应用》 本文针对以上文章,补充一些新鲜内容。 一、transfer table消除索引build、格式检查等无用功 在服务端存储了所有的pointcloud数据,而终端(如无人车)仅仅...

行为、审计日志 (实时索引/实时搜索)建模 - 最佳实践 2

12 minute read

背景 在很多系统中会记录用户的行为日志,行为日志包括浏览行为、社交行为、操作行为等。 典型的应用例如:数据库的SQL审计、企业内部的堡垒机(行为审计)等。 前面写了一篇最佳实践,通过PostgreSQL来存储审计日志,同时对审计日志需要检索的字段建立全文索引。 SSD机器可以达到7万/s的写入(换算成全文索...

PostgreSQL 锁等待监控 珍藏级SQL - 谁堵塞了谁

12 minute read

背景 在数据库中,通过锁以及多版本并发控制可以保护数据的一致性,例如A正在查询数据,B就无法对A访问的对象执行DDL。A正在更新某条记录,B就不能删除或更新这条记录。 锁是数据库自动管理的,同时数据库还提供了AD LOCK或者LOCK语法,允许用户自己控制锁。 例如AD lock的应用可以参考如下: 《Po...

无人驾驶背后的技术 - PostGIS点云(pointcloud)应用 - 1

9 minute read

背景 科幻电影的场景随着技术的发展,正在一步步的从荧幕变成现实。从军用到民用,比如汽车厂商、科技公司在尝试的无人驾驶,无人飞行器。 无人驾驶应用非常广泛,比如快递行业,时机成熟以后,将来可能快递员这个职业也会逐渐从社会上消失(解放快递员的双手和创造力,让更多的人参与到科技改变生活当中)。 不管是无人驾驶的汽车...

PostgrSQL 递归SQL的几个应用 - 极客与正常人的思维

3 minute read

背景 递归SQL的几个应用 递归查询,在几个场景的应用,有十全大补丸的功效。 一、求唯一值 场景 某张表,数据量在亿级别,求某稀疏列的唯一值。 create table sex (sex char(1), otherinfo text); create index idx_sex_1 on sex(...

(流式、lambda、触发器)实时处理大比拼 - 物联网(IoT)金融,时序处理最佳实践

12 minute read

背景 越来越多的数据要求实时的分析、聚合、展示最新值、展示异常值、实时的搜索。 例如 金融数据、物联网传感器的数据、网络游戏的在线数据等等。 关于实时搜索,可以参考这篇最佳实践: 《行为、审计日志 实时索引/实时搜索 - 最佳实践》 关于海量数据的”写入、共享、存储、计算”,以及离线分析,则可以参考这...

行为、审计日志 (实时索引/实时搜索)建模 - 最佳实践 1

12 minute read

背景 在很多系统中会记录用户的行为日志,行为日志包括浏览行为、社交行为、操作行为等。 典型的应用例如:数据库的SQL审计、企业内部的堡垒机(行为审计)等。 行为、审计日志的量与业务量或者操作量有关,为了满足企业实时查询的需求,通常需要构建搜索引擎,比如使用ES或者使用PostgreSQL的全文检索功能来实现。...

DNA遗传哲学? - 数据库里schema应该属于谁?

1 minute read

背景 混沌初开 安装好PostgreSQL软件后,需要调用initdb,或者pg_ctl初始化数据库实例,初始化数据库实例时,通过bki接口(脚本),建立数据库元数据。 初始化后,数据库有了数据文件、日志文件、控制文件、CLOG、WAL等一系列数据库的文件。 同时会创建模板库template0, templ...

Greenplum 最佳实践 - 什么时候选择bitmap索引

3 minute read

背景 PostgreSQL 目前支持8种索引接口,包括B-Tree, hash, gin, gist, sp-gist, brin, rum, bloom。 Greenplum 目前支持B-Tree, GiST, bitmap三种索引接口。 用户可以根据不同的数据类型,不同的请求类型,使用不同的索引接口建立相...