12
Повышаем производительность: потоковая репликация в PostgreSQL Докладчик: Андрей Мизуров [email protected] Специалист БД

Потоковая репликация PostgreSQL

Embed Size (px)

DESCRIPTION

Повышение производительности приложения за счет эффективного разделения чтения и записи данных. Репликация, которая нас устроила Презентация подготовлена по материалам прошедшего 12 сентября витебского митапа: http://meetup.gorodvitebsk.by/

Citation preview

Page 1: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

Докладчик: Андрей Мизуров

[email protected]

Специалист БД

Page 2: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

Немного о фирме

Компания «Исида – Информатика» (основана в 1994г.), специализируется в решении различных задач путем создания и внедрения функциональных автоматизированных систем. С 2005 года «Исида» входит в состав группы компаний «ЛМА - ИСИДА».

Технологи разработки:

•Языки программирования (Java, C/C++, PHP)

•Технологии Java EE (Spring, EJB, Hibernate, JMS, JAXB, JSP, JSTL, WS)

Page 3: Потоковая репликация PostgreSQL

АСУ «Служба скорой медицинской помощи»

Одной из задач при разработке системы была:

«Доступность данных на чтение и редактирование 24/7» исходя из специфики и организации работы службы СМП

Повышаем производительность: потоковая репликация в PostgreSQL

Page 4: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

Что мешает добиться высокой доступности системы ?

• Выход из строя жесткого диска

• Отключение сервера

• Ошибки в ПО

• Человеческий фактор (кривые руки, «на что спорим, что ИБП рабочий», «да я так сто раз делал» и т.д. )

Page 5: Потоковая репликация PostgreSQL

Поиск решения на «Темной» стороне

Повышаем производительность: потоковая репликация в PostgreSQL

Page 6: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

Репликация — это процесс, под которым понимается копирование данных из одного источника на множество других и наоборот.Виды репликации:

•Синхронная

•Асинхронная

Репликация как ключ к спасению

Page 7: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

• Streaming Replication (build in)

• Slony – I

• Pgpool – I/II

• Bucardo

• Londiste

• RubyRep

• и другие …

Репликация в PostgreSQL

Page 8: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

Поддерживаемые функции

•Объединение соединений

•Репликация

•Балансировка нагрузки

•Ограничение лишних соединений

•Параллельные запросы

Недостатки

•Синхронная репликация

•Блокировка таблиц

Pgpool - II

Неудачный

Неудачный

выборвыбор

Page 9: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

Решение из коробки + RepMgr

Потоковая репликация

•Репликация всего инстанса

•Асинхронный механизм репликации

•Простота установки

•Мастер может обслуживать

огромное число слейвов

Недостатки:

•Реплицируется вся база данных

•Отсутствует отказоустойчивость

Удачный

Удачный

выборвыбор

Page 10: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

Pgpool – II + SR (выгодный симбиоз)

Page 11: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

Чего добились

• Высокой доступности системы

• Производительности и масштабируемости

• Резервирования данных

• Удобство администрирования

Page 12: Потоковая репликация PostgreSQL

Повышаем производительность: потоковая репликация в PostgreSQL

Вопросы ?

Контактная информация:

•mizurov.andrey

[email protected]

•http://vk.com/id4257155

Спасибо за внимание