Recent Posts

DBA不可不知的操作系统内核参数

19 minute read

背景 操作系统为了适应更多的硬件环境,许多初始的设置值,宽容度都很高。 如果不经调整,这些值可能无法适应HPC,或者硬件稍好些的环境。 无法发挥更好的硬件性能,甚至可能影响某些应用软件的使用,特别是数据库。 数据库关心的OS内核参数 512GB 内存为例 1. 参数 fs.aio-max-nr ...

如何度量Kernel Resources for PostgreSQL

10 minute read

背景 对于操作系统来说,数据库算是比较大型的应用,往往需要耗费大量的系统资源,特别是在内部进程间通信这块的资源。 操作系统默认的配置可能无法满足数据库对资源使用的需求。 那么应该如何根据数据库的需要,设置操作系统相关资源参数呢? PostgreSQL 对系统资源的需求计算 在讲资源分配前,大家可以参考阅读一...

search_path在PostgreSQL函数开发中的注意事项

less than 1 minute read

背景 PostgreSQL 与大多数数据库一样,通过schema,逻辑上划分对象的归属,如图。 用户还可以参考《PostgreSQL 逻辑结构 和 权限体系 介绍》 https://yq.aliyun.com/articles/41210 因为有了schema的概念,在访问数据库中的对象时,我们需要指定...

securecrt克隆会话与sshd 的 MaxSessions

less than 1 minute read

背景 使用securecrt克隆会话时,原有会话连接的session数会自增。 例如 要使用ssh连接,sshd的MaxSessions必须>=1,默认是10。 如果把MaxSessions改成2,那么对同一个ssh连接,只能克隆1个,(克隆出来的ssh连接窗可以再克隆,但是对同一个连接窗只能克隆...

论数据库redo/data存储规划与SSD写倾斜

5 minute read

背景 SSD以其良好的IOPS和读写带宽,正在逐渐取代原来的主流存储,成为企业存储市场的新宠。 在一些对存储IOPS和读写带宽需要较大的重要应用中,例如数据库,SSD的使用也越来越普遍。 但是SSD的寿命和写入量有关,如果没有规划好,可能会拉高故障率和成本。 另一方面,SSD还存在写放大的可能,例如写1字节...

固若金汤 - PostgreSQL pgcrypto加密插件

8 minute read

背景 默认情况下数据都是以明文存储在数据库中的。 如果未使用数据传输层加密手段的话, 数据一旦在传输中被截获的话就很容易泄漏数据。 本文将要介绍的是数据内容的加密。 数据内容的加密可以在数据库服务端进行加解密, 也可以在客户端进行加解密. 在数据库服务端加解密的话, 网络上传输的还是未加密的内容, 所以为...

PostgreSQL 会话级资源隔离探索

less than 1 minute read

背景 如果一个数据库对外提供的服务,或者承载的业务很多时,你首先想到的肯定是拆分数据库。 但是,拆分毕竟是有成本的,而且有时并不是所有的场景都适合拆分来解决。 如果多个业务混合在一起使用一个数据库,就容易造成资源的争抢。 那么不拆分的情况下,控制每个业务或者每个会话的资源使用呢? 如何区分来源应用 要隔离...

弱水三千,只取一瓢,当图像搜索遇见PostgreSQL(Haar wavelet)

1 minute read

背景 图片搜索是继文字搜索后又一个比较常用的搜索引擎。 市面上常见的搜索引擎有谷歌、百度、搜狗等图片搜索引擎。 http://image.baidu.com/ http://images.google.com.hk 例如在搜索引擎提供的接口中上层了一张雪人的图片,搜出来一堆和雪人近似的图片。 图片搜...