首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个回归记录为所有或多个表提供一个SQL表?

问每个回归记录为所有或多个表提供一个SQL表?
EN

Stack Overflow用户
提问于 2014-01-20 10:11:18
回答 1查看 59关注 0票数 0

我正在移动一个由运行在服务器场上的多个模拟组成的回归组成的设计流程,从使用NFS上的文件到使用MySQL DB以获得额外的速度。(我们有一个相关的流程,它就是这样的优化,所以我们知道它可以工作)。

我们可能会在一年内运行1000次回归;每次模拟大约100 K,每次模拟都存储其结果/运行时/.

在当前流中,每个回归结果都存储在单独的(CSV)文件中。目前,DB中的每个回归都存储在相同的回归表中,来自每个回归的所有仿真结果都存储在一个sim_results表中。

为了最小化当前流中的更改,我想考虑为每个回归创建单独的sim_results表,但是

  1. 我不知道如何从单个回归记录(以ID作为其主要索引)创建一个单独的表。
  2. 我不知道是否应该这样做--更好地处理当前流;或者使用一个sim_results表,因为它可能是“SQL”。

帮助感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-25 02:55:44

SQL方法通常是不创建多个表,每个表对应于不同的行系列,除非为了在多个节点之间分片数据(例如,水平切分)而划分这些表。水平切分通常是一项复杂的任务,需要大量的注意事项。

但是总的来说,设计模式的方式与您需要适应的用例有关。特别是如果您想一次运行多个模拟的查询,那么将所有数据存储在一个表中就是这样做的。如果OTOH您实际上没有任何查询计划,那么您可能一开始就不需要一个关系DB。

我不确定您的数据的格式,但是对于大量的数据进行“分析”,常见的一个模式设计是星型模式。维基百科的网页读得很好。

如果要创建许多表,SQLAlchemy的Table()构造是一个Python结构,您可以通过编程方式构建它。构建一个函数,根据需要创建新的Table()对象,然后对它们调用create()。我曾与一些公司合作过,这些公司必须努力才能摆脱这个特殊的设计,所以我会认真考虑这个计划是否值得。正确配置的关系表可以存储数十亿行,而不存在问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21231171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档