gpt4 book ai didi

mysql - 有没有一种方法或技术可以实现基于用户的数据库资源分配?

转载 作者:搜寻专家 更新时间:2023-10-30 20:44:06 25 4
gpt4 key购买 nike

通常,当平台想要为用户(开发者)提供数据库资源用于应用程序开发时,他们会使用限制数据库访问的API来限制应用程序的行为,以对占用的资源施加一些约束,例如社交API。

我们可以在数据库层而不是应用程序层实现和使用相同的方法吗?如果那样,我们只需要为特定用户分配数据库配额,让数据库处理资源使用。此外,最好有一些来自数据库服务器的编程 API 来支持这一点。

我发现了一些类似的问题,如下:

由于我专注于开源解决方案,PostgreSQL 或 NoSQL 怎么样?作为开源数据库,我认为 PostgreSQL 与 Oracle 相比更胜一筹。

最佳答案

使用 MySQL(目前在 open source GPL license 下发布),您可以强加以下 resource limits inside the database :

The number of queries that an account can issue per hour

The number of updates that an account can issue per hour

The number of times an account can connect to the server per hour

The number of simultaneous connections to the server by an account

对于 postgres,their wiki states :

PostgreSQL has no facilities to limit what resources a particular user, query, or database consumes, or correspondingly to set priorities such that one user/query/database gets more resources than others. It's necessary to use operating system facilities to achieve what limited prioritization is possible.

但对我来说真正的问题是——无论使用哪个数据库——当用户超出他们的限制时,期望是什么?如果数据库强制执行限制,超出这些限制的查询是否应该简单地返回错误并导致应用程序失败?我怀疑这可能会对应用程序产生意想不到的负面影响。很难说当数据库突然开始返回错误时会发生什么。

关于mysql - 有没有一种方法或技术可以实现基于用户的数据库资源分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7617828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com