我正在设计一个应用程序,它将涉及将记录批量上传到Postgres DB(让我们调用架构DB-1)。上传几乎每周都会完成。规模可能在几百万到十亿之间。要上传的数据需要首先进行验证/清理,因为它需要符合DB-1的构造和格式。我正在考虑采用以下方法:
- 每次需要完成新的上传时,都会创建一个新的模式(让我们称之为DB-2 - 一个临时地点),与DB-1 相同,但具有宽松约束。这将确保数据加载到DB-2中以开始。
- 对数据运行验证过程。最初我在考虑一个中间件进程,但是当我意识到将要处理的数据量时,我开始考虑在DB本身中编写验证+清理层 - 一组将在DB-2上运行的存储过程,检查数据并生成包含不符合规则的记录的报告(即DB-1中存在的数据,数据格式等)。
- 此后,需要在源处再次更改的数据,重复步骤1,如果一切正常,则DB-2中的SELECT INTO DB-1会将有效数据转移到最终的desitnation。
醇>
您对上述流程有何看法?你在这里看到的任何明显/隐藏的问题?建议最好的欢迎。
由于
Ĵ