在建模数据的同时,为每个添加的用户建模一年增加1000次的表的最佳方法是什么?

时间:2012-03-03 19:51:04

标签: mysql database database-design relational-database

考虑用户表U,用户可以上传一堆结构化数据,用户和数据之间存在明显的关系。但是,此表将增长近100倍的用户表。继续这种设计是一个好主意还是有更好的选择?

3 个答案:

答案 0 :(得分:2)

我不明白你在问什么? 如果我是正确的,你有两个具有一对多关系的表([USER TABLE] -< [DATA TABLE])。或者您是否希望为每个用户数据提供单独的表。

如果你只有两张桌子,那么设计是正确的但如果我理解你错了,请更具体。

答案 1 :(得分:1)

真正的问题是,大数据是否应该首先放在SQL中。

您是否需要针对该大数据的任何数据库功能?

  • 结构化查询?对数据集的任何计算,还是只是检索?
  • 超出用户数据键控的关系功能?
  • ACID保证(数据存储和检索的原子性,一致性,隔离性,持久性)
  • 可接受的额外数据丢失程度?这听起来很苛刻,但在我工作的一个社交网站上,我们实际上决定(并且这是一个合理的商业决策)接受有时甚至很少数据实际上会丢失的风险 - 我们将它发送到镜像集群,如果真的去了那里就永远不会等待确认。

如果对这些问题的答案 no ,你可以研究NoSQL范例 - 如果你的模型很简单,它可能非常适合真正快速的系统。

答案 2 :(得分:0)

如果上传表中可能存在重复项,您可以考虑在这些表之间使用多对多的关系。如果没有,你可以使用一对多的关系。