PDO - небольшой success-story

crocodile2u

http://vbolshov.org.ru
PDO - небольшой success-story

Только что пришлось переводить БД из постгреса на мускуль. Возможно, временно, возможно, навсегда. Я возблагодарил судьбу за то, что мы используем ПДО. Весь перевод занял час-полтора. Несколько небольших изменений в запросах + код триггерных функций скопировать и подправить для мускуля (впрочем, у нас мегасложных процедур в триггерах не было).
 

dark-demon

d(^-^)b
> Только что пришлось переводить БД из постгреса на мускуль.

зачем?
 

Gas

может по одной?
crocodile2u
Интересно, нужно к нему присмотреться.
Хотя никогда не считал, что проект заточенный под одну базу, должен легко переезжать на другую :)
 

Develar

Новичок
crocodile2u
тут дело не в PDO, а в "у нас мегасложных процедур в триггерах не было". я, используя PDO, дня три переносил из mysql 5.0.37 в postgresql 8.2 :) или это сейчас "час-полтора", а потом отладка ;)

>> Хотя никогда не считал, что проект заточенный под одну базу, должен легко переезжать на другую
вот-вот, это провокация :).
 

StUV

Rotaredom
у нас перенос с одной субд на другую as-is в принципе невозможен из-за различия в функционале
то что летает на одной бд - на другой или нереализуемо, или нецелесообразно (переезжаем с конца октября)

так что, crocodile2u - везет вам ;)
 

crocodile2u

http://vbolshov.org.ru
да, с этим проектом повезло - спорить не буду.

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

тут дело не в PDO, а в "у нас мегасложных процедур в триггерах не было"
Не соглашусь - тут дело и в том, и в другом. Не так уж много средств для коннекта к СУБД обладает возможностью биндить переменные, а если бы не это - весьма возможно, что мноооого запросов пришлось бы переписывать.

-~{}~ 31.01.08 17:39:

Хотя никогда не считал, что проект заточенный под одну базу, должен легко переезжать на другую
Я с этим согласен, но тем не менее, предпочитаю всегда использовать стандартные возможности SQL, которые реализованы в большинстве СУБД. В данном конкретном случае это сыграло нам на руку. Кстати, после правок "под мускуль" мы получили проект, который простым переключением конфигов может использовать мускуль или постгрес :) я даже поигрался на своей рабочей станции - сделал подключение конфигов рандомным :) - и всек прекрасно заработало
 

kode

never knows best
Для того чтобы переезд был безболезненным нужно использовать большой уровен абстракции -> не использование специфичного функционала -> понижение производительности. Части которые использую специфичный фун-ал БД можно реализовать отдельной версией. Например search.interface.php, search-mysql.class.php, search-pgsql.class.php, ..., search.factory.class.php
 

AmdY

Пью пиво
Команда форума
догадаться не сложно, учитывая первоначальную заточенность под постгрес, а вот процент разницы интересен.
 

Gas

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

crocodile2u
Будет инфа - пость, всем интересно. Тем более тема в оффтопе и не все леминги сюда суются.
 

Krishna

Продался Java
crocodile2u

Самое интересное во всём это ты так и не сказал - по каким причинам переезжали с постгреса?
 

crocodile2u

http://vbolshov.org.ru
nail
Работает, как ни странно, почти одинаково быстро: где-то немного быстрее было, где-то немного быстрее стало.

Krishna
Съезжали по причине того, что сервер с постгресом перестал существовать, и админы сказали, что если нужно быстро снова поднять проект - то надо переезжать на мускуль. (и не спрашивайте меня, почему так сложно поставить постгрес - ну не знаю я, не знаю...).

-~{}~ 01.02.08 10:42:

проект в основе своей представляет статистические отчеты (много-много разных отчетов). Изначально был создан на мускуле, но со временем выборки стали тормозить неимоверно. Индексы-шмындексы не особо помогли (! - скорее всего, они помогли бы - только надо было убить больше времени и сил).

Я, ради интереса, создал структуру основных таблиц (для самых тормозных выборок) в постгресе и наполнил данными из мускуля. Результат превзошел все ожидания и мы быстренько (благо тогда все только начиналось) переехали на постгрес - нам просто показалось это более быстрым и легким решением.

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

В обшем, можно сказать, что нам помогла специфика проекта, а не ПДО - но лично я считаю, что ПДО максимально облегчил нам этот путь.
 
Сверху