- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
通常,当平台想要为用户(开发者)提供数据库资源用于应用程序开发时,他们会使用限制数据库访问的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/
我遇到的问题如下: 我几乎没有办公地点和具有不同能力(整数)的资源。 我想将所有资源分配到不同的办公地点,以找到最佳方式将它们几乎平均分配到各个地点,以便尽可能平衡所有办公地点的能力。需要牢记的几件事
我是一名优秀的程序员,十分优秀!