SQLAlchemy ORM用于6个分片数据库中每个数据库上的12个重复表

2024-09-30 20:18:51 发布

您现在位置:Python中文网/ 问答频道 /正文

情况:

我有一组12个相同结构的表(按月表示数据),它们存在于不同数据库的6个碎片中的每一个上。我需要在这些数据库中的任何一个月内获取一组样本数据。在

数据库由记录id确定,表由记录中日期值的月份确定。在

问题:

为此设置sqlalchemyorm的最佳方法是什么?在

最初我只需要一次查询一个月的数据,所以我设置了一个ShardedSession,将我的数据类映射到12个数据表中的一个,忽略了不需要的表的存在。现在我需要在任何给定的时间选择3个不同月份的随机数据集。有没有办法可以把同一个类映射到3个结构相同的不同表上,这样它们就被视为一个表了?这样我就可以从这3个月里随机挑选一些记录。在

我以前问过一个类似的问题,并把我想出的解决方案贴在这里: SQLAlchemy Classical Mapping Model to sharded Postgres databases 我使用的是经典的映射模型,我不确定这是否是最好的,但这是我唯一能弄明白如何使事情运转的方法。在

我读过一些关于具体的表继承和实体名的文章,但是上次我尝试使用实体名解决方案时,我还是没有成功。在

如有任何建议,我们将不胜感激!谢谢!在


Tags: 数据方法实体id数据库记录情况解决方案