Как лучше реализовать работу с несколькими БД одновременно?

Canti

Новичок
Как лучше реализовать работу с несколькими БД одновременно?

Есть 3 сайта. БД каждого из них находятся на одном сервере. Необходимо сделать так, чтобы аккаунты пользователей были едины для все 3 сайтов. Тоесть таблица users должна быть общей. Как это лучше реализовать с т.з. быстроты работы?

-~{}~ 31.07.07 07:25:

мне тут подсказали использовать views... Но как создать Views чтобы она ссылалась на таблицу в другой БД?
 

NaN

Новичок
храни пользователей в одной БД

сайт который не имеет таблицы пользователей
делает дополнительное подключение к БД в которой есть таб. пользователей
 

Nutty

Новичок
зачем еще подключение?
на одном же сервере находятся.
SELECT id FROM db2.users.
 

Alexandre

PHPПенсионер
вариант 1
храни пользователей в одной БД
SELECT id FROM db2.users.
вариант 2, для таких ситуаций создали следующее решение PHP-openid

вариант 3, испотльзуй паттерн - фабрика классов. Есть два класса, класс фабрики БД и класс самой БД. При открывании коннекции с БД, коннекция кладется в масив, и потом используется либо текущая конеекция, либо выбирается по номеру из массива.
http://phpclub.ru/paste/1821 http://phpclub.ru/paste/1823 (написан в сокращении, так как есть ограничение на 100 строчек кода)
данный класс является оберткой, конкретного класса работы с БД

класс хорошо задокументирован, думаю идея ясна.
 

Фанат

oncle terrible
Команда форума
очень смешно.
при чем здесь паттерны, фабрики и классы, когда по теме соединения с бд тут только "массив с коннекциями".

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

Alexandre

PHPПенсионер
очень смешно.
при чем здесь паттерны, фабрики и классы, когда по теме соединения с бд тут только "массив с коннекциями".
Фaнат меня всегда радовал твой сарказм.
топикстартеру дали три подхода.

А Фабрики и классы - это пример того, как надо создавать приложения.

Советы, на то они и советы: хочешь катайся с комфортом на Жигулях, хочешь качай всю жизнь колесо от велосипеда. Принимает решение тот, кто делает
 

fixxxer

К.О.
Партнер клуба
ага-ага, массив соединений а лучше фабрику. две фабрики. три. и опенид на локалхост до кучи, ага, его создали именно для таких случаев, точно-точно. и еще в ссл завернуть, на всякий случай. :)

Canti
тебе уже сказали, select ... from Db.Users
в Db хранишь то, что общее для всех сайтов
проще вроде некуда:)
 

Alexandre

PHPПенсионер
ага-ага, массив соединений а лучше фабрику. две фабрики. три. и опенид на локалхост до кучи, ага, его создали именно для таких случаев, точно-точно. и еще в ссл завернуть, на всякий случай
ага, сегодня БД на одной машине сидят, а завтра по какой-то причине сайт съехал на другой хост - и ловите гусей...со своим SELECT id FROM db2.users
 
Сверху