云端海量任务调度系统数据库设计 - 阿里云RDS PostgreSQL案例
标签
PostgreSQL , 任务调度系统 , 数据库设计 , schemaless
背景
任务调度系统中的任务状态管理,通常会用到数据库来存储任务调度的过程状态,控制任务的锁等。
如果是小量任务,是挺好实现的,但是每小时处理几十亿或者几亿的任务,如何设计这样的任务状态管理数据库呢?
挑战
对于一个面向多个用户的任务调度平台(例如云端的任务调度平台,将面向所有租户使用)。
较大的挑战是任务数据的写入(海量),另一个是任务状态的更新(海量,每个任务至少被更新一次)。
云端海量任务调度数据库设计
云端任务调度存在一些特性:
1、用户和用户之间的任务是没有关系的,单个用户的任务在调度时可能有依赖关系。
2、数据量庞大。
3、任务通常都有最终稳定状态,稳定后,对应的任务记录就不会变化了。
针对以上几个特点
