我们 - 我有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:表中有大量的行。
答案 0 :(得分:1)
实际上,选项1实际上可能是不可能实现的,因为每个数据库都需要自己的资源,并且您可能会耗尽用于实现它的任何系统。每次新用户加入时都必须设置新数据库,这是操作上的噩梦。这个选择与" insane"。
的字典定义一致选项2仅略微落后于疯狂量表上的选项1,除非可以实施。
选项3没什么大不了的,是一种常规发生的情况。使用此选项。
对于传统的关系数据库,最多约有20M行被认为是"小"对于一张桌子(没有引用,只是经验)。 20M-200M是"中",高于"大"。
对于非传统的RDBMS,例如redshift和NoSql DB(mongo,cassandra,hadoop等),10M行是" tiny"数十亿行并不是什么大不了的事。