Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.01.2005, 15:32
|
|||
|---|---|---|---|
|
|||
вопрос архитектуры |
|||
|
#18+
Доброго времени суток. Перейду сразу к сути, чтобы не тратить понапрасну ваше время: Есть некая система хранения и управления данными различных клиентов одной большой компании. Упрощенно можно представить структуру данных двумя сущностями, Клиент и Проект, принадлежащий клиенту. На первый взгляд все просто - делаем таблицу клиентов и таблицу проектов, причем во второй хранятся проекты, принадлежащие всем клиентам системы. Задача: реализовать разграничение доступа на уровне СУБД. Насколько мне известно на уровне строк назначать права доступа мы не можем, значит схема с двумя таблицами не подходит по определению. Первое, что приходит в голову, это создавать схему для каждого клиента и ограничивать его в пределах этой схемы. Собственно вопрос - насколько разумно это решение с точки зрения масштабируемости. Как поведет себя база, в которой будет 10 000 схем? 100 000? Возможно есть другое очевидное решение, до которого я в силу недостатка опыта не дошел самостоятельно? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.01.2005, 16:14
|
|||
|---|---|---|---|
|
|||
вопрос архитектуры |
|||
|
#18+
> Насколько мне известно на уровне строк назначать права доступа мы не можем, Штатными средствами PostgreSQL - нет. > значит схема с двумя таблицами не подходит по определению. Таблиц будет немного больше двух. ;) Посмотрите в форуме "Проектирование...", там эта тема часто обсуждается. > Первое, что приходит в голову, это создавать схему для каждого клиента и > ограничивать его в пределах этой схемы. > Собственно вопрос - насколько разумно это решение с точки зрения > масштабируемости Я бы назвал это решение плохим даже не рассматривая масштабируемость: не все СУБД поддерживают namespace (в смысле схемы), а ориентироваться на фичу конкретной СУБД без веских на то оснований бессмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.01.2005, 17:23
|
|||
|---|---|---|---|
|
|||
вопрос архитектуры |
|||
|
#18+
я наверное неправильно поставил вопрос, сформулирую иначе: Учитывая сказанное в первом посте, а также то, что сохранность данных критична, будет ли правильнее организовать их в одну структуру, или же стоит создавать отдельную структуру данных (если не схему, то базу) для каждого клиента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.01.2005, 18:35
|
|||
|---|---|---|---|
|
|||
вопрос архитектуры |
|||
|
#18+
> Учитывая сказанное в первом посте, а также то, что сохранность данных критична, Денежный эквивалент у Вашего критерия "критичности сохранности данных" есть? > будет ли правильнее организовать их в одну структуру, или же стоит создавать > отдельную структуру данных (если не схему, то базу) для каждого клиента? Странная постановка вопроса. Вы что хотите в результате получить? Базы данных с независимым содержимым для каждого клиента и синхронизацией части содержимого хм... сложным, в общем, образом, или все-таки разделить доступ к одним и тем же данным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.01.2005, 19:33
|
|||
|---|---|---|---|
|
|||
вопрос архитектуры |
|||
|
#18+
система - это хостинг collaboration, crm и финансовых инструментов для компаний, занимающихся оффшорным программированием естественно, хочется обезопасить критические данные, самые важные это база клиентов и, в немного меньшей степени, финансовая информация цель - разделить доступ на уровне субд извините, я ошибся - мне перехотелось хранить данные каждой компании в раздельных структурах, когда я представил себе, какие акробатические упражнения придется выполнять, чтобы эффективно получать, к примеру, выборку всех клиентов, имеющих задолженность по оплате сервиса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.01.2005, 21:21
|
|||
|---|---|---|---|
|
|||
вопрос архитектуры |
|||
|
#18+
> система - это хостинг collaboration, crm и финансовых инструментов для > компаний, занимающихся оффшорным программированием Вы меня не поняли. Я просил привести денежный эквивалент стоимости данных (приблизительно). Отсюда, собственно, абсолютно логично формулируются требования к надежности, а отсюда, в свою очередь, к СУБД и прочим деталям. > цель - разделить доступ на уровне субд Так я и предложил посмотреть на раздел форума "Проектирование баз данных". Такие вопросы часто возникают и еще чаще обсуждаются. Ответ на Ваш вопрос там есть. > извините, я ошибся - мне перехотелось хранить данные каждой компании в > раздельных структурах, когда я представил себе, какие акробатические > упражнения придется выполнять, чтобы эффективно получать, к примеру, > выборку всех клиентов, имеющих задолженность по оплате сервиса На мой взгляд, это совершенно разные задачи: расчет стоимости сервисов для клиентов и базы данных для клиентов. Если, конечно, Вы не пишете Абсолютно Все Умеющее Приложение, которое считает загрузку сервера каждым клиентом, его траффик и пр., и пр., и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&tablet=1&tid=2007508]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 396ms |

| 0 / 0 |
