【发布时间】:2017-11-19 12:57:59
【问题描述】:
我打算用 PHP 创建一个 SaaS 应用程序。在该应用程序中,用户可以创建和管理多个表以扩展功能。用户完成应用程序后,他可以下载 php 代码和数据库。
我们还将提供 sql 导入功能,以便用户可以从 (.sql) 文件创建架构。
我在谷歌上搜索但没有找到任何合适的解决方案。您可以在此处考虑 sqlfiddle 功能。
我有两个选择,但需要更好的解决方案: 1)对于创建多个数据库及其表,使用表前缀作为解决方案 2)将mysql转换为sqlite。在下载时创建导出为 mysql (.sql) 文件。
它可以有 aprox。 10,000 个用户/数据库。请提出一个解决方案,为每个用户提供一个单独的数据库(如果有)。
如果共享服务器无法运行,我将购买 VPS。主要要求是为每个用户提供自己的数据库。
【问题讨论】:
-
一个明显的解决方案是为每个用户创建一个 sqlite 文件。您是否有理由不能采用最简单的解决方案?
-
谢谢。可能有 10k 个 sqlite 文件。普通服务器可以吗?如果购买VPS应该是什么配置?
-
10k 个文件不算什么。如果您的 VPS 可以处理负载,我无法告诉您。与您的 VPS 供应商交谈,也许准备好概念验证。编写一个打开 10k 文件并并行执行语句的 30 行程序应该不会太难。看看它是如何工作的。
-
我很抱歉这个简单的问题。您的用户是否在您的服务器上运行项目?这意味着您服务器上的数据库有任何数据还是只有元数据?
-
是的,用户将在我们的服务器上运行项目。可以自定义代码和一些数据库模式。完成后,用户可以下载项目文件和数据库并在自己的服务器上运行。
标签: mysql database sqlite mariadb saas