我该如何安排mysql数据库?

时间:2017-02-20 09:04:38

标签: mysql database database-design row

我们 - 我有1,000,000名用户登录。它将是一个facebook(非真正的facebook)类型的网站。

所以我有大量的数据存储在我的数据库中。请帮我选择数据库设计。

设计1:

Database count    : 15
Table count       : 1,000,000 Per Database
Row count         : 100+ Per Table

设计2:

Database count    : 1
Table count       : 15 Per Database
Row count         : 10,000,000++ Per Table

设计3:

{{1}}


我应该选择什么?

设计1:服务器中有大量的数据库。
设计2:数据库中有大量的表。
设计3:表中有大量的行。

1 个答案:

答案 0 :(得分:1)

实际上,选项1实际上可能是不可能实现的,因为每个数据库都需要自己的资源,并且您可能会耗尽用于实现它的任何系统。每次新用户加入时都必须设置新数据库,这是操作上的噩梦。这个选择与" insane"。

的字典定义一致

选项2仅略微落后于疯狂量表上的选项1,除非可以实施。

选项3没什么大不了的,是一种常规发生的情况。使用此选项。

对于传统的关系数据库,最多约有20M行被认为是"小"对于一张桌子(没有引用,只是经验)。 20M-200M是"中",高于"大"。

对于非传统的RDBMS,例如redshift和NoSql DB(mongo,cassandra,hadoop等),10M行是" tiny"数十亿行并不是什么大不了的事。