用户之间的MySQL服务器拆分扩展数据库/表

时间:2018-05-16 22:38:02

标签: mysql scalability

我对数据库相对较新,并且一直在寻找一种解决方案,允许用户在我的服务器下访问他们自己的数据而不是其他人。我希望这些数据库对于用户来说是可扩展的,因此如果需要更多空间来存储文件,他们可以在很少干预的情况下这样做。

我正在调查MySQL,因为我只使用它完成了单个数据库工作,并试图了解这可能是如何完成的。是否为每个用户设置了最佳的行动方案?那样每个数据库的表是独立的,受密码保护的,并且不能在其他数据库的表之间交换数据?我知道除了表分片/分区之外,基本上可以有无限的数据库和表,所以我认为这是一个可靠的选择,但是想知道是否有任何使用MySQL的人有更多的输入。

由于

编辑:更新以澄清欲望。所以我基本上想要的是一个我是所有者的平台,但我可以让用户登录我的平台来访问他们的数据。这些数据可能主要包括文件,例如PDF格式,但至于它们的大小我无法分辨,但我正在计划最坏的情况。他们将能够使用Web /应用程序查看其文件并下载,上载,排序,删除这些文件。因此,除了创建文件之外,还可以查看历史文件并在需要时下载这些文件。我的平台将提供的是这些文件的框架,如果可以的话,字段将自动填充,以及文件管理的UI。我关注的问题来自于具有多个用户的架构,这些用户具有单独的数据,可以保持独立,可扩展,并且不会使服务器完全崩溃并具有读/写功能。

1 个答案:

答案 0 :(得分:0)

听起来您希望将用户“文件”存储为数据库中的BLOB,这不一定能够在一开始就很好地扩展。根据文件类型的不同,最佳解决方案是在应用程序层提供安全性,并为文件使用基于云的存储。如果您需要额外的安全层(即用户只能访问分配给它们的文件),则有许多选项 - 例如,假设您使用S3将使用可能在生成时生成的IAM配置文件。用户a / c已设置。这同样适用于任何带有API的第三方云存储。

每个用户拥有一个单独的数据库将是一个管理噩梦,除非您可以在登录时生成每个数据库(这意味着无论如何都需要一个单独的数据存储凭证,因此它会毫无意义)并且也无法在BLOB存储方案中工作

如果你能够准确地详细说明你想要实现的目标,以及为什么肯定会有很多答案。