2011-10-01 4 views
2

일반적으로 플랫폼은 응용 프로그램 개발을 위해 사용자 (개발자)에게 데이터베이스 자원을 제공하려는 경우 응용 프로그램의 동작을 제한하기 위해 데이터베이스 액세스 API를 제한하여 점유 된 자원에 대한 일부 제약을 적용하기 위해 소셜 API를 사용합니다.사용자 기반의 데이터베이스 리소스 할당을 구현하는 방법이나 기술이 있습니까?

데이터베이스 계층이나 응용 프로그램 계층에서 구현하고 사용할 수있는 방법과 동일한 방법이 있습니다. 그렇다면 특정 사용자에 대해 데이터베이스 할당량을 지정하고 데이터베이스가 리소스 사용을 처리하도록합니다. 게다가, 이것을 지원하기 위해 데이터베이스 서버로부터 프로그래밍 API를 갖는 것이 낫습니다.

저는 오픈 소스 솔루션에 초점을 맞추고 있기 때문에 PostgreSQL 또는 NoSQL은 어떻습니까? 오픈 소스 데이터베이스로서 PostgreSQL은 오라클과 비교하면 훨씬 유리합니다.

(현재 open source GPL license에서 해제) MySQL과

답변

1

, 당신은 resource limits inside the database 다음 부과 할 수 있습니다

계정이 시간 당

갱신합니다의 수를 발행 할 수있는 쿼리 수 계정이 시간당 발행 할 수

계정이 시간

의 수에 따라 서버에 연결할 수있는 횟수 계정 포스트 그레스를 들어

, their wiki states하여 서버에 imultaneous 연결 : 특정 사용자, 쿼리, 또는 데이터베이스가 소비 또는 상응하는 우선 순위를 설정하기 위해 어떤 자원을 제한하는

PostgreSQL을 더 시설이 없도록 하나의 사용자/쿼리/데이터베이스는 다른 것보다 더 많은 리소스를 얻습니다. 제한된 우선 순위를 달성하려면 운영 체제 기능을 사용해야합니다.

하지만 내게는 실제로 어떤 데이터베이스가 사용 되든 사용자가 제한을 초과 할 때의 기대치는 무엇입니까? 데이터베이스가 제한을 적용하는 경우 해당 제한을 초과하는 쿼리가 오류를 반환하고 응용 프로그램이 실패하게해야합니까? 나는 이것이 응용 프로그램에 예기치 않은 부정적인 영향을 줄 수 있다고 생각합니다. 갑자기 데이터베이스가 오류를 반환하기 시작할 때 어떤 일이 일어날 지 말하기는 어렵습니다.

관련 문제