2

通常、プラットフォームがアプリケーション開発のためにユーザー (開発者) にデータベース リソースを提供したい場合、アプリケーションの動作を制限するために制限データベース アクセス API を使用します。これは、使用されるリソースに何らかの制約を適用するためです。例としては、ソーシャル API があります。

データベース層でもアプリケーション層でも実装して使用できる同じ方法はありますか。その場合は、特定のユーザーにデータベース クォータを割り当て、データベースにリソースの使用を処理させるだけで済みます。さらに、これをサポートするために、データベース サーバーからいくつかのプログラミング API を用意することをお勧めします。

次のように、いくつかの同様の質問が見つかりました。

私はオープン ソース ソリューションに重点を置いているので、PostgreSQL や NoSQL はどうですか? オープン ソース データベースとして、PostgreSQL は Oracle よりも優れていると思います。

4

1 に答える 1

1

MySQL (現在、オープン ソース GPL ライセンスの下でリリースされています) では、データベース内に次のリソース制限を課すことができます。

アカウントが 1 時間あたりに発行できるクエリの数

アカウントが 1 時間あたりに発行できる更新の数

アカウントが 1 時間あたりにサーバーに接続できる回数

アカウントによるサーバーへの同時接続数

postgres の場合、ウィキには次のように記載されています。

PostgreSQL には、特定のユーザー、クエリ、またはデータベースが消費するリソースを制限したり、それに応じて 1 つのユーザー/クエリ/データベースが他のリソースよりも多くのリソースを取得するように優先順位を設定したりする機能はありません。オペレーティング システムの機能を使用して、限られた優先順位付けを実現する必要があります。

しかし、私にとって本当に疑問なのは、どのデータベースが使用されていても、ユーザーが制限を超えたときにどのようなことが期待されるかということです。データベースが制限を適用する場合、それらの制限を超えるクエリは単にエラーを返し、アプリケーションが失敗する原因となるのでしょうか? これにより、アプリケーションに予期しない悪影響が及ぶ可能性があると思います。データベースが突然エラーを返し始めたときに何が起こるかを言うのは難しいです。

于 2011-10-01T03:51:42.580 に答える