我是一个团队的一员,目前正在为特定的组织群体开发专用的 SaaS 服务。我有 PHP 和 mySQL 方面的知识,所以我正在这些平台上开发它。将在云上部署它并在多个国家/地区发布。
我已经到了在数据库中分离组织/主要用户的地步,想看看你们的想法。
当 SaaS 管理发票和许多其他敏感信息时,在 mySQL 服务器上分发这些信息的最佳过程是什么?我想到了以下选项:
1) 将单个数据库中的所有信息放在单个表中,并由组织标识行分隔。- 当有几千个用户和 10,000 行时,是否看起来很安全并且可能很慢?
2) 拥有一个数据库,但使用用户 ID 分隔表,例如。'1000_invoices' - 同样可能更快但不安全。
3) 在每个组织注册和用于访问数据库的特定用户上创建单独的数据库,并且数据库名称存储在会话/cookie 中?每个组织用户。
无论如何,我想知道你们认为什么是最好的选择?如果不是以上那么你有什么建议?为什么?任何有关安全的事情都将不胜感激。以前没有使用过大型多组织应用程序。提前致谢!