В этой статье я хочу рассказать о возможностях, которые предоставляет PHP фреймворк CodeIgniter для одновременной работы с несколькими базами данных. Кроме того, я провел небольшое исследование производительности.
Прежде всего, поясню общий принцип. В работе с несколькими базами данных нет ничего необычного и исключительного. Если вы пишите обычный PHP скрипт (без использования фреймворков и библиотек), то для работы с двумя БД нужно просто создать два соединения.
Т.е. вызвать два раза функцию mysql_connect
(если, конечно, используете MySQL).
Каждый вызов этой функции вернет указатель на соединение, используя который вы сможете отправлять запросы базам данных.
Это была теория, а на практике гораздо удобнее использовать встроенные библиотеки фреймворков для работы с базами данных. Принцип работы при этом, конечно, не меняется, но работать с ними значительно удобнее.
Я расскажу о подключении и использовании нескольких баз данных в CodeIgniter. Но, естественно, это не единственный фреймворк, который имеет встроенные библиотеки для работы с несколькими БД. Например, недавно я читал статью «Работа с несколькими базами данных при помощи ORM в Zend Framework».
В качестве примера рассмотрим подключение к двум БД.
Читать дальше