Re: использование DBPool

From: Sergeev Sergey <webs.supportAT@ATgmail.com>
Date: Wed, 1 Nov 2006 10:51:39 +0300

01.11.06, Konstantin V. Arkhipov<voxusAT@ATshadanakar.org> написал(а):
> On Wednesday 01 November 2006 00:18, Sergeev Sergey wrote:
> > Каковы планы на класс DBPool и его использование?
>
> он используется в тех проектах, которым для работы нужно несколько разных БД.
> это ни в коем случае ни балансировщик, ни fail-over.

Все понятно. Но вот тут возникают задачи работать с одинаковыми
схемами БД и направлять select запросы заданного DAO только заданному
линку - получается некая балансировка запросов.

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

>
> используется оно примерно так:
>
> в мете указываются названия БД, которые предполагается использовать, например:
>
> <sources>
> <source name="main_db" default="true" />
> <source name="misc_db" default="false" />
> </sources>
>
> в описании классов, которые ходят в misc_db, добавляется соотв. source,
> например:
>
> <class name="StrangeBusinessClass" type="final" source="misc_db" />
>
> в конфиге вместо определения DB_*-констант, в dbpool просто заносятся под
> вышеупомянутыми названиями выхлопы от DBFacotry::getCustomInstance():
>
> DBPool::me()->
> addLink('main_db', DBFactory::getCustomInstance(...))->
> addLink('misc_db', DBFactory::getCustomInstance(...));
>
> такие дела.

Таким образом, мы сразу иницилизируем два коннекта, а инициализация по
требованию (см. п.2) здесь не подойдет? Получим же то же самое. За
малым исключением, что для некоторых случаев выполнения скрипта мне
вообще не понадобится 'misc_db', а я все же потрачу ресурсы на него.
Почему не пошли таким путем?

>
> --
> voxus
> :wq
>
>

-- 
С уважением,
Сергеев Сергей (aka SSSerj)
webs.supportAT@ATgmail.com
Received on Wed Nov 01 2006 - 10:51:39 MSK

This archive was generated by hypermail 2.2.0 : Sat Oct 27 2007 - 19:06:48 MSD