通常,当平台希望向用户(开发人员)提供数据库资源用于应用程序开发时,它们使用限制数据库访问API来限制应用程序的行为,为了对占用的资源强制执行某些约束,例如社交API。
在数据库层和应用层中是否有相同的实现和使用方式?如果是这样的话,我们只需要为特定用户分配数据库配额,并让数据库处理资源使用情况。此外,最好有一些来自数据库服务器的编程API来支持这一点。
我发现了一些类似的问题,如下所示:
既然我专注于开源解决方案,那么PostgreSQL或NoSQL又如何呢?作为开放源码数据库,我认为PostgreSQL比甲骨文更好。
发布于 2011-10-01 03:51:42
使用MySQL (目前在开源GPL许可证下发布),您可以强制执行以下数据库内的资源限制
帐户每小时可以发出的查询数。 帐户每小时可发出的更新数。 帐户每小时可连接到服务器的次数。 由帐户与服务器同时连接的次数。
对于postgres,他们的wiki状态
PostgreSQL没有限制特定用户、查询或数据库消耗的资源的功能,也没有相应地设置优先级以使一个用户/查询/数据库比其他用户/查询/数据库获得更多的资源。有必要使用操作系统工具来实现有限的优先级。
但我的问题是--不管使用的是哪个数据库--当用户超过他们的限制时,期望是什么?如果数据库强制执行限制,那么超出这些限制的查询应该仅仅返回一个错误并导致应用程序失败吗?我怀疑这可能会对应用程序产生意想不到的负面影响。当数据库突然开始返回错误时,很难说会发生什么。
https://stackoverflow.com/questions/7617828
复制相似问题