开源了一个 Django PostgreSQL 时间分区表插件

栏目: Python · 发布时间: 6年前

内容简介:数据量比较大需要分表的业务场景非常多,比如商城的订单表、WAF 记录的日志等等,常见的就是按照时间去分表。最近我们开源了一个 Django 插件,目的是方便在 PostgreSQL 11 上实现按时间的分区表的管理。Django orm 非常好用,我们通过 patch 的方式实现了修改 orm 生成的 CREATE TABLE sql 语句,然后内置了一些分区表管理逻辑。

数据量比较大需要分表的业务场景非常多,比如商城的订单表、WAF 记录的日志等等,常见的就是按照时间去分表。最近我们开源了一个 Django 插件,目的是方便在 PostgreSQL 11 上实现按时间的分区表的管理。

Django orm 非常好用,我们通过 patch 的方式实现了修改 orm 生成的 CREATE TABLE sql 语句,然后内置了一些分区表管理逻辑。

链接在这 文档

我们使用分区表主要为了实现下面的需求

  • 日志一旦被归档,这些数据就不要被查询了
  • 如果查询的时候带上了时间,某些表就可以直接跳过查询
  • 如果磁盘空间不足,快速删除某些数据(被归档的表的删除和 vacuum 会比较容易,因为需要锁,一直写数据的情况下不容易操作)
  • 如果加磁盘扩容,新的子表可以单独调整 tablespace 放在新的磁盘上,先不移动已有的数据(也是锁的原因)

欢迎大家试用和提出意见~


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

世界因你不同

世界因你不同

李开复、范海涛 / 中信出版社 / 2009-9 / 29.80元

这是李开复唯一的一本自传,字里行间,是岁月流逝中沉淀下来的宝贵的人生智慧和职场经验。捣蛋的“小皇帝”,11岁的“留学生”,奥巴马的大学同学,26岁的副教授,33岁的苹果副总裁,谷歌中国的创始人,他有着太多传奇的经历,为了他,两家最大的IT公司对簿公堂。而他的每一次人生选择,都是一次成功的自我超越。 透过这本自传,李开复真诚讲述了他鲜为人知的成长史、风雨兼程的成功史和烛照人生的心灵史,也首次全......一起来看看 《世界因你不同》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器