Есть ли способ или технология для реализации распределения ресурсов базы данных в зависимости от пользователя?

Обычно, когда платформы хотят предоставить ресурс базы данных пользователю (разработчику) для разработки приложений, они используют API ограниченного доступа к базе данных, чтобы ограничить поведение приложения, чтобы наложить некоторые ограничения на занятые ресурсы, примером является социальный API.

Есть ли такой же способ, который мы можем реализовать и использовать на уровне базы данных или уровне приложения. В таком случае нам просто нужно назначить квоту базы данных для конкретного пользователя и позволить базе данных обрабатывать использование ресурсов. Кроме того, для поддержки этого лучше иметь некоторые программные API с сервера базы данных.

Я нашел несколько похожих вопросов, а именно:

Поскольку я специализируюсь на решениях с открытым исходным кодом, как насчет PostgreSQL или NoSQL? Я считаю, что PostgreSQL как база данных с открытым исходным кодом лучше отличается от Oracle.


person zengsn    schedule 01.10.2011    source источник


Ответы (1)


Используя MySQL (который в настоящее время выпускается под лицензией GPL с открытым исходным кодом), вы может налагать следующие ограничения ресурсов внутри базы данных:

Количество запросов, которые аккаунт может отправлять в час.

Количество обновлений, которые может выпускать учетная запись в час.

Количество раз, когда учетная запись может подключаться к серверу в час.

Количество одновременных подключений к серверу со стороны аккаунта

Для postgres их состояния вики:

PostgreSQL не имеет средств для ограничения того, какие ресурсы потребляет конкретный пользователь, запрос или база данных, или, соответственно, для установки приоритетов, чтобы один пользователь / запрос / база данных получали больше ресурсов, чем другие. Необходимо использовать возможности операционной системы, чтобы добиться того, что возможно с ограниченной приоритизацией.

Но на самом деле вопрос ко мне - независимо от того, какая база данных используется - чего ожидать, когда пользователь превысит свои лимиты? Если база данных применяет ограничения, должны ли запросы, выходящие за эти пределы, просто возвращать ошибку и вызывать сбой приложения? Я подозреваю, что это может иметь неожиданные негативные последствия для приложений. Трудно сказать, что будет, если вдруг база данных начнет возвращать ошибки.

person Kevin Bedell    schedule 01.10.2011