powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вопрос архитектуры
6 сообщений из 6, страница 1 из 1
вопрос архитектуры
    #32856427
Доброго времени суток.

Перейду сразу к сути, чтобы не тратить понапрасну ваше время:

Есть некая система хранения и управления данными различных клиентов одной большой компании. Упрощенно можно представить структуру данных двумя сущностями, Клиент и Проект, принадлежащий клиенту.
На первый взгляд все просто - делаем таблицу клиентов и таблицу проектов, причем во второй хранятся проекты, принадлежащие всем клиентам системы.

Задача: реализовать разграничение доступа на уровне СУБД.

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

Первое, что приходит в голову, это создавать схему для каждого клиента и ограничивать его в пределах этой схемы.

Собственно вопрос - насколько разумно это решение с точки зрения масштабируемости. Как поведет себя база, в которой будет 10 000 схем? 100 000?

Возможно есть другое очевидное решение, до которого я в силу недостатка опыта не дошел самостоятельно?

Заранее спасибо.
...
Рейтинг: 0 / 0
вопрос архитектуры
    #32856447
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Насколько мне известно на уровне строк назначать права доступа мы не можем,

Штатными средствами PostgreSQL - нет.

> значит схема с двумя таблицами не подходит по определению.

Таблиц будет немного больше двух. ;) Посмотрите в форуме "Проектирование...", там эта тема часто обсуждается.

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

Я бы назвал это решение плохим даже не рассматривая масштабируемость: не все СУБД поддерживают namespace (в смысле схемы), а ориентироваться на фичу конкретной СУБД без веских на то оснований бессмысленно.
...
Рейтинг: 0 / 0
вопрос архитектуры
    #32856470
я наверное неправильно поставил вопрос, сформулирую иначе:

Учитывая сказанное в первом посте, а также то, что сохранность данных критична, будет ли правильнее организовать их в одну структуру, или же стоит создавать отдельную структуру данных (если не схему, то базу) для каждого клиента?
...
Рейтинг: 0 / 0
вопрос архитектуры
    #32856497
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Учитывая сказанное в первом посте, а также то, что сохранность данных критична,

Денежный эквивалент у Вашего критерия "критичности сохранности данных" есть?

> будет ли правильнее организовать их в одну структуру, или же стоит создавать
> отдельную структуру данных (если не схему, то базу) для каждого клиента?

Странная постановка вопроса. Вы что хотите в результате получить? Базы данных с независимым содержимым для каждого клиента и синхронизацией части содержимого хм... сложным, в общем, образом, или все-таки разделить доступ к одним и тем же данным?
...
Рейтинг: 0 / 0
вопрос архитектуры
    #32856517
система - это хостинг collaboration, crm и финансовых инструментов для компаний, занимающихся оффшорным программированием
естественно, хочется обезопасить критические данные, самые важные это база клиентов и, в немного меньшей степени, финансовая информация

цель - разделить доступ на уровне субд
извините, я ошибся - мне перехотелось хранить данные каждой компании в раздельных структурах, когда я представил себе, какие акробатические упражнения придется выполнять, чтобы эффективно получать, к примеру, выборку всех клиентов, имеющих задолженность по оплате сервиса
...
Рейтинг: 0 / 0
вопрос архитектуры
    #32856552
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> система - это хостинг collaboration, crm и финансовых инструментов для
> компаний, занимающихся оффшорным программированием

Вы меня не поняли. Я просил привести денежный эквивалент стоимости данных (приблизительно). Отсюда, собственно, абсолютно логично формулируются требования к надежности, а отсюда, в свою очередь, к СУБД и прочим деталям.

> цель - разделить доступ на уровне субд

Так я и предложил посмотреть на раздел форума "Проектирование баз данных". Такие вопросы часто возникают и еще чаще обсуждаются. Ответ на Ваш вопрос там есть.

> извините, я ошибся - мне перехотелось хранить данные каждой компании в
> раздельных структурах, когда я представил себе, какие акробатические
> упражнения придется выполнять, чтобы эффективно получать, к примеру,
> выборку всех клиентов, имеющих задолженность по оплате сервиса

На мой взгляд, это совершенно разные задачи: расчет стоимости сервисов для клиентов и базы данных для клиентов. Если, конечно, Вы не пишете Абсолютно Все Умеющее Приложение, которое считает загрузку сервера каждым клиентом, его траффик и пр., и пр., и пр.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вопрос архитектуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]