Есть ли способ или технология для реализации распределения ресурсов базы данных в зависимости от пользователя? - PullRequest
2 голосов
/ 01 октября 2011

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

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

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

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

1 Ответ

1 голос
/ 01 октября 2011

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

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

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

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

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

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

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

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

...