Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Андрей Тренин
PostgreSQL – мощная СУБД с конвейера Open Source, способная легко конкурировать с такими гигантами, как Oracle и MS SQL. К сожалению, наряду с полезными утилитами, такими как pg_autovacuum, в нем отсутствует возможность репликации. Что делать, если такая опция вам необходима?
Эта статья будет интересна читателям, имеющим начальные знания в области
РБД, и будет полезна системным администраторам организаций, использующим PostgreSQL
(
Немного о PostgreSQL
Это мощная система управления реляционными базами данных, поддерживающая расширенное подмножество стандарта SQL. Включает в себя: транзакции, внешние ключи, подзапросы, триггеры, пользовательские типы данных, функции и многое другое. Причем функции могут быть написаны на C, Perl, Python, Tcl и JDBC. Также следует учесть, что это чудо разработано не на «коленках», а в University of California at Berkeley (UCB).
Как PostgreSQL «попадает в дом» – есть несколько способов. Начинаем его использовать как хранилище однотипных данных для сайта, или покупаем систему класса CRM, ERP отечественной сборки, в принципе это не важно. Важно то, что данных становится со временем все больше, от этого увеличивается их важность, и даже за кратковременную паузу в доступе к данным вам «стучат по голове» и не дают долгожданную премию.
Простои в работе любого хранилища данных неизбежны (плановая профилактика, замена комплектующих или «уборщица пробралась в серверную») и встает вопрос: «Как сделать так, чтобы доступ к данным был возможен всегда?». Ответ прост – нужно иметь как минимум две параллельные системы, взаимозаменяющие друг друга, чтобы во время простоя одной – другая работала как ни в чем не бывало. Однако наряду с преимуществами данной схемы, мы получаем сопутствующие недостатки, а именно:
n систем становится как минимум больше одной – надо думать над синхронизацией данных;
n поломка одной из систем – нужно сделать период времени между сбоем и отключением вышедшей из строя системы как можно менее продолжительным для внешних приложений.
Эти проблемы и некоторые менее важные призвано решать реплицирующее программное обеспечение, речь о котором пойдет далее.
PgPool
PgPool – подсоединяемый пул/репликационный сервер для PostgreSQL.
Он написан Tatsuo Ishii (
При ближайшем рассмотрении выясняется, что PgPool представляет из себя прослойку-демон, то есть запускается между клиентами и хранилищем данных, причем клиентов дополнительно настраивать не надо, что безусловно хорошо. Этот демон может образовывать пул к PostgreSQL для ограничения предоставленных соединений самой базой данных. И, наконец, может объединить два сервера в систему (master – slave).