摘要: 在某些场景,要求快速的DML,并且对数据可靠性要求不是非常高。 例如游戏的会话信息,传感器上传的最新数据,运算的中间结果,等等。 例如在一个场景中,有非常多的传感器的数据要不断的被更新和查询,可以使用这种方法,每个传感器的ID哈希后分配给对应的会话,这个传感器。 上面的需求,PostgreSQL 临时表都能满足。 但是临时表也存在一定的限制或弊端。 临时表为会话级内存表,跨会话不共享数据和结构,不写REDO。 超过一定大小时会落盘,不是纯内存的。 同时临时表继承了普通表的多版本,但是实际上会话级不需要多版本。 会话断开需要重建临时表结构。 虽然现在的SSD IO能力很强,但是与内存还有一定的插件,同时SSD 擦写次数受限,所以临时表或者普通表难以满足本文开头提到的场景需求。 Oracle 12C 推出列存储内存表,但是它是基于OLAP的应用场景,并不适合本文开头提到的场景。 PostgreSQL 社区也在考虑增加内存表的功能,本文是一个引子,可以看到社区在这方面的努力。 阅读全文
posted @ 2021-11-16 17:44 古道轻风 阅读(2090) 评论(0) 推荐(0) 编辑