我有一个关于大公司如何管理数据库结构的问题,假设我有一个类似shopify的电子商务应用程序,这是你采取的最佳方法:
a)当一个新用户创建一个帐户时,专门为该用户创建一个带有他的表的新数据库(我想如果由于某种原因这个数据库失败,其他用户的其他数据库仍然有效)?
b)当新用户创建帐户时,应用程序只是在表中为其登录创建一个新行而不是创建新数据库,然后所有用户的所有产品都在同一个表中,只有user_id是商店的一种产品与另一种商品的区别。
提前致谢。
答案 0 :(得分:1)
是的,你应该选择第二个选项(b),原因很多:
1.数据库中的大多数数据都可供所有用户访问,因此您不希望将相同的数据存储在多个位置。
2.迟早,您将提出要在不同用户之间共享或链接数据的功能等
3.与第二种选择(b)相比,您的第一选择(a)将非常耗费资源
嗯,列表可以继续... :)
答案 1 :(得分:0)
显然,第二种选择 - 效率更高,更智能。
考虑用户数量,例如10k。 你真的不想处理这么多桌子!
答案 2 :(得分:0)
我会使用选项B.这将减少您的工作量,并有助于报告需求。只需确保在写入数据库表时使用强大的数据库设计来处理负载。