mysql服务器在用户之间拆分可伸缩的数据库/表

klh5stk1  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(294)

我对数据库比较陌生,一直在寻找一种解决方案,允许用户在我的服务器下访问自己的数据,而不是其他人。我希望这些数据库对于用户来说是可伸缩的,因此如果需要更多的空间来存储文件,它们可以在不需要太多干预的情况下完成。
我在研究mysql,因为我只对它做了一个数据库的工作,并试图了解如何可能做到这一点。最好的做法是为每个用户设置一个数据库吗?这样,每个数据库的表都是独立的、受密码保护的,并且不能在其他数据库的表之间交换数据?我知道除了表切分/分区之外,基本上可以有无限的数据库和表,所以我认为这是一个可靠的选择,但是我想知道是否有人对mysql有更多的了解。
谢谢
编辑:更新澄清的愿望。所以我想要的是一个我是所有者的平台,但是我可以让用户登录到我的平台来访问他们的数据。这些数据将可能主要包括文件,如pdf的,但至于他们的大小,我不能说,但最坏的计划。他们将能够使用web/应用程序查看他们的文件,并下载、上传、排序、删除这些文件。因此,除了创建文件外,还可以查看历史文件并根据需要下载这些文件。我的平台将为这些文件提供一个框架,如果可以的话,这些文件的字段将被自动填充,以及文件管理的ui。我所关心的问题来自这样一种体系结构,即多个用户(具有单独的数据)要保持独立、可伸缩,并且不会因读/写而完全崩溃服务器。

bttbmeg0

bttbmeg01#

听起来您希望将用户的“文件”作为blob存储在数据库中,而这并不一定首先适合于良好的伸缩性。根据文件的类型,最好的解决方案通常是在应用程序层提供安全性,并使用基于云的文件存储。如果您需要一个附加的安全层(即用户只能访问分配给他们的文件),那么有许多选项—例如,假设您使用的是s3,则可以使用iam配置文件,该配置文件可以在设置用户a/c时生成。这同样适用于任何使用api的第三方云存储。
每个用户拥有一个单独的数据库将是一个管理噩梦,除非您可以在登录时生成每个数据库(这意味着为凭据创建一个单独的数据存储,所以这有点毫无意义),而且在blob存储场景中也不起作用。
如果你能详细一点,确切地说,你正在努力实现什么,为什么会有很多答案。

相关问题