Трэбо совет насчет структуры базы для сети сайтов

jer

...
Трэбо совет насчет структуры базы для сети сайтов

Доброго вечера!

Пишу некую систему, в которой на одной базе данных (mysql) будут стоится несколько разных сайтов (расположенные на разных доменах), так называемая "сеть".
И каждая сущность в базе, будь то товар, новость, статья и т.д. может быть привязана (=> выводиться) к одному из указанных сайтов "сети", либо к нескольким, либо ко всем сразу. В общем, если сайтов в "сети" N, то привязок сущности может быть от 1...N.

Есть таблица с перечнем сайтов (site_id, site_domen, ...)

Есть таблица для каждой сущности (news_id, news_name, ...)

Возникает вопрос по структуре базы.

Пока есть 2 основные идеи:

1. Для каждой сущности заводить таблицу привязок к сайтам (site_id, news_id);

2. Завести в таблице каждой сущности дополнительное поле в котором с помощью бинарных операций объединять привязки к сайтам "сети" (за привязку к каждому сайту будет отвечать один бит).

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

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

Во втором методе вижу недостаток в том, что кол-во сайтов ограничивается разрядностью числа (что не самое страшное, сайтов в сети будет обычно порядка 3-5). и проблеме привязки сайта к разряду (биту) в числе. т.к. site_id может быть произвольным и по ходу работы системы меняться, добавляться новые.
ну и менее прозрачная работа с такой структурой.


Интересует Ваше мнение...

ps: надеюсь, понятно изложил. ;)
 

icechel

Новичок
Я делал по первому принципу. Особых тормозов заметно не было.
 

jer

...
icechel - понял.

Хотелось бы еще мнения услышать. Желательно подтвержденные опытом.
 
Сверху