Recent Posts

Linux 时钟精度 与 PostgreSQL auto_explain (explain timing on Linux时钟开销估算)

6 minute read

背景 我们在诊断SQL的执行计划时,通常会用explain analyze,analyze有几个开关,其中一个是timing,它会帮你记录下SQL每个NODE的执行时间。 但是这部分是有一定的性能开销的,而且这个开销与操作系统的时钟获取接口有关。 有时,你会发现explain analyze的执行时间远大于真...

从天津滨海新区大爆炸、危化品监管聊聊 IT人背负的社会责任感

4 minute read

背景 缘分所致,前几天与一些来自ING行业的企业做了一次深入的交流,有感而发,写下本文。 其实技术和业务相互依赖,相互推动着各自的发展。哪一个发明不是从自嗨开始的呢,作为IT人不应该故步自封,敞开胸怀,承担更多的社会责任,一起来推动社会变革吧。 天津滨海大爆炸只是危化品事故的其中之一,看看事故后的一片狼藉...

从真假美猴王谈起 - 让套牌车、克隆x 无处遁形的技术手段思考

2 minute read

背景 西游记想必大家小时候都看过吧,其中有一集“真假美猴王”还记得吗? 假的美猴王简直是克隆的,和孙悟空一模一样。一开始菩提祖师、如来佛祖、观音菩萨、就连最亲近的师父、师兄弟都分辨不出来,最后师父使出紧箍咒的绝招才辨别出来。 打假在现实世界中的需求也非常旺盛,诸如我们看到的一些商品的防伪码验证、水印验证、...

恭迎万亿级营销(圈人)潇洒的迈入毫秒时代 - 万亿user_tags级实时推荐系统数据库设计

9 minute read

背景 我们仅用了PostgreSQL的两个小特性,却解决了业务困扰已久的大问题。 推荐系统是广告营销平台的奶牛,其核心是精准、实时、高效。 这么多广告平台,到底谁家强?谁的核心牛逼? 1. 精准,指对用户的描述精准,通常需要基于大量的用户行为数据,经历深度学习后形成的用户画像,或称之为标签系统。 标签的准确...

DBA专供 冈本003系列 - 数据库安全第一,过个好年

less than 1 minute read

背景 快过年了,安全第一。先给DBA们的冈本003系列,请收好了,并提前祝大伙们过个好年。 通常数据库在是企业中占据非常重要的位置,既然这么重要,当然要保护好,否则数据库被注入,数据被误删就不好看啦,不仅仅影响业务,还可能造成用户的信息被泄露。 本文本的本意是想写PostgreSQL数据库的某些安全特性的,提...

聊一下PostgreSQL优化器 - in里面有重复值时PostgreSQL如何处理?

3 minute read

背景 比如某个业务APP收集了用户的位置信息,在数据库中会有用户去过的地方的一些行为日志数据。 现在要找出今天某些用户群体去过了哪些地方。 会发生什么呢? 一个人在某一个地点可能会上报很多条数据,同时不同的人也可能会去过同一个地点,因此同一个地名可能会有多条重复记录。 所以如果使用这样的查询,会导致IN里...

从相似度算法谈起 - Effective similarity search in PostgreSQL

5 minute read

背景 相似度分析是一个非常普遍的需求,例如根据用户提供的线索,从一堆文本数据、图片数据、视频数据中筛选一段与用户的描述相近的。 我之前写过一系列的文章来介绍,文本、图片相似度搜索的技术和使用场景。 《PostgreSQL 在视频、图片去重,图像搜索业务中的应用》 《弱水三千,只取一瓢,当图像搜索遇见Post...

一场IT民工 与 人贩子 之间的战争 - 只要人人都献出一点爱

1 minute read

背景 快过年啦,提防人贩子,小孩要带好。 有两部片子《失孤》、《亲爱的》拍得触目惊心。 很多家庭耗尽时间和金钱,找了很多年还是没有找到,最终选择了放弃。 社会中依旧还有很多爸爸妈妈还没有找到丢失的孩子,除了严打罪犯;作为IT人,我们能做什么吗 ? 为什么人贩子猖獗?如何才能让人贩子无处遁形? 这...