我正在构建一个应用程序,其中几个组织可以注册自己并操作一组企业表,例如客户列表、卖家、项目、销售订单等...我想知道是否与其拥有一组表,不如为每个客户端拥有一组单独的表会更安全,所有表都在同一个数据库中运行。例如,数据库可能具有以下架构:
JOHNDOEFIRM_CUSTOMERS
JOHNDOEFIRM_CLIENTS
JOHNDOEFIRM_ORDERS
...
JAKEDOESONFIRM_CUSTOMERS
JAKEDOESONFIRM_CLIENTS
JAKEDOESONFIRM_ORDERS
...
依此类推,每个公司都有一组表格。每次公司注册时都会创建这些表,并带有适当的前缀。这可能具有以下优点:
- 如果一家公司不能不小心弄乱另一家公司的桌子会更安全
- 将对表进行特定于公司的定制
与为每家公司完全保留一个单独的数据库相比,这样做有什么优势?由于每个公司将有大约 20-40 个表,表的数量是否会随着用户数量的增加而呈爆炸式增长,从而完全减慢数据库的速度?
非常欢迎对刚才描述的应用程序设计的任何反馈以及我在这篇文章中指出的问题以及注意事项的建议。
谢谢。