SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Потоковая репликация
в PostgreSQL.
Alexey Lesovsky
alexey.lesovsky@dataegret.com
dataegret.com
Введение
• Что такое репликация и зачем.
• Какая бывает репликация.
• Как устроена потоковая репликация в PostgreSQL.
Настройка
• Настройка потоковой репликации.
• Проверка результата.
• Особенности эксплуатации.
02
01
Введение
01
Что такое репликация01
dataegret.com
Синхронизация объектов.
Изменения распространяются на копии.
Репликация может быть физической или логической.
Зачем нужна репликация01
dataegret.com
Отказоустойчивость базы данных.
Масштабирование на чтение/запись.
Аналитика и BI.
Логическая репликация01
dataegret.com
Плюсы:
● Работает между разными версиями и архитектурами.
● Позволяет реплицировать отдельные наборы таблиц.
Минусы:
● Сложность в реализации синхронной репликации.
● Утилизация CPU (триггеры, преобразование текста, ...).
Примеры:
● Slony, Londiste (Skytools), Bucardo, Pglogical.
Физическая репликация01
dataegret.com
Плюсы:
● Небольшие накладные расходы на использование ресурсов.
● Легкость установки и обслуживания.
Минусы:
● Запасные узлы доступны только для чтения.
● Не работает между разными версиями и архитектурами.
● Не умеет реплицировать наборы таблиц.
REDO журнал01
dataegret.com
Необходимость подтверждать все изменения (Durability в ACID).
Все (почти) изменения записываются в REDO журнал.
REDO журнал это история «последних» изменений.
REDO журнал используется:
● При аварийном восстановлении;
● При резервном копировании;
● При репликации.
REDO журнал в PostgreSQL01
dataegret.com
В PostgreSQL, REDO журнал называется Write Ahead Log (WAL).
WAL гарантирует что информация об изменениях будет
зафиксирована ДО реальных изменений.
Как это работает:
● LSN (log sequence number) – положение записи внутри WAL;
● Страницы маркируются LSN;
● Перед записью страницы на диск, проверяем что LSN уже
записан в журнал.
Упрощенная схема01
dataegret.com
клиент клиент клиент автовауум ...
WAL writer*
WAL
Startup/Recovery
SR/Archiving/Hot Standby
Point in Time
WAL Sender/WAL Receiver
* - опционально
Startup процесс01
dataegret.com
Главный компонент который запускает СУБД.
Запускается восстановление по WAL журналу.
Чтение конфигурации и определение источника WAL.
REDO цикл:
● Чтение WAL из pg_xlog/ или WAL архива;
● Установка соединения с upstream.
WAL Receiver процесс01
dataegret.com
WAL receiver:
● Определение с какого места начать прием WAL;
● Подключение к мастеру и отправка LSN отметки;
● Принимает WAL и записывает на диск;
● Обновляет особую переменную в shared memory;
● Отправляет статистику на мастер.
Startup процесс использует особую переменную чтобы
воспроизвести WAL до этого места.
WAL Sender процесс01
dataegret.com
Для каждого клиента, создается отдельный backend-процесс.
WAL sender это тоже backend.
WAL sender запускает репликацию.
Отправляет WAL журнал клиенту.
Или спит если нет новых журналов.
Упрощенный порядок работы01
dataegret.com
Мастер Реплика
Запуск WAL sender и получение позиции
Проверка наличия журнала
Отправка журнала
Обновление статистики
Проверка источника XLOG
Запуск WAL receiver
Вычисление стартовой позиции
Подключение к мастеру, отправка
позиции
Запись журнала на диск
Обновление «отметки»
Отправка статистики
Воспроизведение журнала
Начальная фаза
Цикл репликации
Настройка
02
План02
dataegret.com
Варианты настройки.
Подготовка мастера.
Запуск репликации.
Проверка результата.
Особенности эксплуатации.
Варианты настройки02
dataegret.com
Синхронная или асинхронная репликация.
Каскадная конфигурация.
Стандартный алгоритм02
dataegret.com
Подготовка мастера (настройка конфигурации).
Копирование каталога DATADIR.
Подготовка реплики (настройка конфигурации).
Запуск реплики.
Проверка результата.
Настройка мастера02
dataegret.com
Создание отдельного пользователя для репликации.
Правка postgresql.conf.
Правка pg_hba.conf.
Создание слота репликации (необязательно).
Настройка мастера02
dataegret.com
Отдельный пользователь для репликации (psql или createuser).
● CREATE ROLE replica WITH LOGIN REPLICATION PASSWORD '123';
Правка postgresql.conf.
Правка pg_hba.conf.
Создание слота репликации (необязательно).
Настройка мастера02
dataegret.com
Выделенный пользователь для репликации.
Правка postgresql.conf.
● wal_level = replica (or logical)
● max_wal_senders = 8
● wal_keep_segments = 200
● Рестарт обязателен.
Правка pg_hba.conf.
Создание слота репликации (необязательно).
Настройка мастера02
dataegret.com
Отдельный пользователь для репликации.
Правка postgresql.conf.
Правка pg_hba.conf.
● host replication username client_addr/mask authtype
● host replication replica 10.1.0.99/32 md5
● Требуется reload.
Создание слота репликации (необязательно).
Настройка мастера02
dataegret.com
Выделенный пользователь для репликации.
Правка postgresql.conf.
Правка pg_hba.conf.
Создание слота репликации (опциональный шаг).
● postgresql.conf — max_replication_slots = 4.
● Создание слота с pg_create_physical_replication_slot('name');
● recovery.conf — primary_slot_name = 'name'.
Копирование DATADIR02
dataegret.com
pg_basebackup (с версии 9.1)
-h, --host=…; -p, --port=…; -U, --username=…; -d, --dbname=…; -D,
--pgdata=...
-c, --checkpoint=fast | spread
-X, --xlog-method=fetch | stream – stream c версии 9.2
-R, --write-recovery-conf – c версии 9.3
-r, --max-rate=… – c версии 9.4
--xlogdir=… – c версии 9.4
-T, --tablespace-mapping=olddir=newdir – c версии 9.4
-P, --progress
pg_basebackup -P -R -X stream -c fast -h 1.2.3.4 -U replica -D /pgdb
Копирование DATADIR02
dataegret.com
Утилиты файлового копирования - cp, scp, tar, rsync...
Снимки:
● ZFS send/receive;
● LVM + dd.
pg_start_backup() + pg_stop_backup().
Настройка реплики02
dataegret.com
Файлы конфигурации:
● Должны быть одинаковыми (желательно);
● postgresql.conf;
● recovery.conf.
Настройка реплики02
dataegret.com
Файлы конфигурации (postgresql.conf):
● hot_standby = on;
Настройка реплики02
dataegret.com
Файлы конфигурации (recovery.conf):
● primary_conninfo = 'host=… port=…' – обязателен
● standby_mode = on – обязателен
● primary_slot_name = 'slotname' - слоты?
● trigger_file = '…' – рекомендуется
● recovery_min_apply_delay. - отложенная реплика
Запуск реплики02
dataegret.com
pg_ctl – штатная утилита PostgreSQL.
pg_ctlcluster – perl обертка над pg_ctl в Debian/Ubuntu Linux.
sysvinit, upstart, openrc, systemd…
Проверка результата02
dataegret.com
Наличие процессов WAL sender и WAL receiver.
Проверка системного журнала.
Простое подключение через psql.
Системное представление pg_stat_replication.
Проверка результата02
dataegret.com
Наличие процессов WAL sender и WAL receiver.
master $ ps aux |grep -i wal
postgres: wal sender process postgres [10.1.0.99] streaming 4/EA000060
standby $ ps aux |grep -i wal
postgres: wal receiver process streaming 4/EA000060
Проверка результата02
dataegret.com
Проверка системного журнала.
LOG: database system was interrupted; last known up at 2017-02-10 12:28:54
LOG: entering standby mode
LOG: redo starts at 4/E9000028
LOG: consistent recovery state reached at 4/E9000130
LOG: database system is ready to accept read only connections
LOG: started streaming WAL from primary at 4/EA000000 on timeline 1
Проверка результата02
dataegret.com
Подключение через psql.
$ psql -h replica -U postgres
psql (9.6.2)
Type "help" for help.
postgres=# select pg_is_in_recovery();
true
Проверка результата02
dataegret.com
Системное представление pg_stat_replication.
postgres=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid | 29351
usesysid | 10
usename | postgres
application_name | walreceiver
client_addr | 10.1.0.99
client_hostname |
client_port | 5432
backend_start | 2017-04-15 12:52:54.639356+05
backend_xmin |
state | streaming
sent_location | 4/EA000060
write_location | 4/EA000060
flush_location | 4/EA000060
replay_location | 4/EA000060
sync_priority | 0
sync_state | async
Особенности эксплуатации02
dataegret.com
Поставил и забыл.
Особенности эксплуатации02
dataegret.com
Мониторинг и поиск проблем:
● pg_stat_replication — лаг репликации.
● pg_current_xlog_location(), pg_xlog_location_diff().
● pg_stat_activity — запросы на реплике.
Особенности эксплуатации02
dataegret.com
Использование слотов:
● wal_keep_segments не нужен.
● pg_replication_slots – мониторинг слотов.
● мониторинг дискового пространства.
Особенности эксплуатации02
dataegret.com
Долгие запросы на реплике могут быть причиной лага:
● Неизбежное зло.
● Переписывать запросы или отстреливать их.
● Или вообще забить.
Особенности эксплуатации02
dataegret.com
DDL и autovacuum может аффектить запросы на реплике:
● Конфликты репликации.
● pg_stat_database_conflicts.
● hot_standby_feedback = on.
● max_standby_streaming_delay = ...
Особенности эксплуатации02
dataegret.com
Нет встроенных средств автофайловера.
● trigger_file (recovery.conf).
● Скрипты на Shell/Python/Ansible/whatever.
● Repmgr, Patroni, Stolon.
Особенности эксплуатации02
dataegret.com
Бэкап:
● Реплика != Бэкап.
● pg_basebackup + WAL архив.
● pgBarman, pgBackRest.
Резюме02
dataegret.com
Репликация это нужно и полезно.
Настроить репликацию легко.
Репликация проста в обслуживании.
Спасибо за внимание!
dataegret.com alexey.lesovsky@dataegret.com

Más contenido relacionado

La actualidad más candente

Call of Postgres: Advanced Operations (part 1)
Call of Postgres: Advanced Operations (part 1)Call of Postgres: Advanced Operations (part 1)
Call of Postgres: Advanced Operations (part 1)Alexey Lesovsky
 
Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Alexey Lesovsky
 
Hacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кодаHacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кодаAnastasia Lubennikova
 
Hacking PostgreSQL. Разделяемая память и блокировки.
Hacking PostgreSQL. Разделяемая память и блокировки.Hacking PostgreSQL. Разделяемая память и блокировки.
Hacking PostgreSQL. Разделяемая память и блокировки.Anastasia Lubennikova
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache MahoutTechnopark
 
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...odnoklassniki.ru
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализацияYandex
 
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Ontico
 
Знакомство с In-Memory Data Grid
Знакомство с In-Memory Data GridЗнакомство с In-Memory Data Grid
Знакомство с In-Memory Data GridMikhail Shcherbakov
 
Apache Ignite.NET в действии
Apache Ignite.NET в действииApache Ignite.NET в действии
Apache Ignite.NET в действииMikhail Shcherbakov
 
Call of Postgres: Advanced Operations (part 5)
Call of Postgres: Advanced Operations (part 5)Call of Postgres: Advanced Operations (part 5)
Call of Postgres: Advanced Operations (part 5)Alexey Lesovsky
 
Практическое применение HTML5 в Я.Почте
Практическое применение HTML5 в Я.ПочтеПрактическое применение HTML5 в Я.Почте
Практическое применение HTML5 в Я.ПочтеAlexey Androsov
 
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)AvitoTech
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Ontico
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)Ontico
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Ontico
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Ontico
 
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан КупреевCRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан КупреевOpenVZ
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)Ontico
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами Yandex
 

La actualidad más candente (20)

Call of Postgres: Advanced Operations (part 1)
Call of Postgres: Advanced Operations (part 1)Call of Postgres: Advanced Operations (part 1)
Call of Postgres: Advanced Operations (part 1)
 
Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.
 
Hacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кодаHacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кода
 
Hacking PostgreSQL. Разделяемая память и блокировки.
Hacking PostgreSQL. Разделяемая память и блокировки.Hacking PostgreSQL. Разделяемая память и блокировки.
Hacking PostgreSQL. Разделяемая память и блокировки.
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
 
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)
 
Знакомство с In-Memory Data Grid
Знакомство с In-Memory Data GridЗнакомство с In-Memory Data Grid
Знакомство с In-Memory Data Grid
 
Apache Ignite.NET в действии
Apache Ignite.NET в действииApache Ignite.NET в действии
Apache Ignite.NET в действии
 
Call of Postgres: Advanced Operations (part 5)
Call of Postgres: Advanced Operations (part 5)Call of Postgres: Advanced Operations (part 5)
Call of Postgres: Advanced Operations (part 5)
 
Практическое применение HTML5 в Я.Почте
Практическое применение HTML5 в Я.ПочтеПрактическое применение HTML5 в Я.Почте
Практическое применение HTML5 в Я.Почте
 
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
 
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан КупреевCRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами
 

Similar a SECON'2017, Лесовский Алексей, Потоковая репликация в PostgreSQL.

PostgreSQL. Стильно. Модно. Молодёжно
PostgreSQL. Стильно. Модно. МолодёжноPostgreSQL. Стильно. Модно. Молодёжно
PostgreSQL. Стильно. Модно. МолодёжноVladislav Bezverhiy
 
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Ontico
 
Беспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQLБеспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQLДмитрий Васильев
 
PostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахPostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахAlexey Vasiliev
 
Абак Пресс
Абак ПрессАбак Пресс
Абак Прессit-people
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Ontico
 
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...Ontico
 
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresProit-people
 
Новые технологии репликации данных в PostgreSQL - Александр Алексеев
Новые технологии репликации данных в PostgreSQL - Александр АлексеевНовые технологии репликации данных в PostgreSQL - Александр Алексеев
Новые технологии репликации данных в PostgreSQL - Александр АлексеевAleksander Alekseev
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"Technopark
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...rit2011
 
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...Rais Charipov
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeYehor Herasymchuk
 
"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)AvitoTech
 
PHP 5.4: Что нового?
PHP 5.4: Что нового?PHP 5.4: Что нового?
PHP 5.4: Что нового?phpdevby
 
Миграция данных из Oracle в Postgres
Миграция данных из Oracle в PostgresМиграция данных из Oracle в Postgres
Миграция данных из Oracle в PostgresCUSTIS
 
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...Nikolay Samokhvalov
 
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...Ontico
 

Similar a SECON'2017, Лесовский Алексей, Потоковая репликация в PostgreSQL. (20)

PostgreSQL. Стильно. Модно. Молодёжно
PostgreSQL. Стильно. Модно. МолодёжноPostgreSQL. Стильно. Модно. Молодёжно
PostgreSQL. Стильно. Модно. Молодёжно
 
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)
 
Беспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQLБеспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQL
 
PostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахPostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектах
 
Абак Пресс
Абак ПрессАбак Пресс
Абак Пресс
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
 
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
 
Multimaster2
Multimaster2Multimaster2
Multimaster2
 
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
 
Новые технологии репликации данных в PostgreSQL - Александр Алексеев
Новые технологии репликации данных в PostgreSQL - Александр АлексеевНовые технологии репликации данных в PostgreSQL - Александр Алексеев
Новые технологии репликации данных в PostgreSQL - Александр Алексеев
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
 
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
 
pgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresqlpgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresql
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)
 
PHP 5.4: Что нового?
PHP 5.4: Что нового?PHP 5.4: Что нового?
PHP 5.4: Что нового?
 
Миграция данных из Oracle в Postgres
Миграция данных из Oracle в PostgresМиграция данных из Oracle в Postgres
Миграция данных из Oracle в Postgres
 
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
 
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
 

Más de SECON

SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
 SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем? SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?SECON
 
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя ВнедрятьSECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя ВнедрятьSECON
 
SECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в productionSECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в productionSECON
 
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.SECON
 
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступленийSECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступленийSECON
 
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
SECON'2017, 	Рожкова Надежда, Бухгалтерские лайфхаки для IT компанийSECON'2017, 	Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компанийSECON
 
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...SECON
 
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленкеSECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленкеSECON
 
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигниSECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигниSECON
 
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?SECON
 
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...SECON
 
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...SECON
 
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...SECON
 
SECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практикеSECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практикеSECON
 
SECON'2017, Неволин Роман, Функциональный C#
SECON'2017, Неволин Роман, Функциональный C#SECON'2017, Неволин Роман, Функциональный C#
SECON'2017, Неволин Роман, Функциональный C#SECON
 
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проектаSECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проектаSECON
 
SECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
SECON'2017, Макарычев Костантин, Использование Spark для машинного обученияSECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
SECON'2017, Макарычев Костантин, Использование Spark для машинного обученияSECON
 
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетологаSECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетологаSECON
 
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателяSECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателяSECON
 
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.SECON
 

Más de SECON (20)

SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
 SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем? SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
 
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя ВнедрятьSECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
 
SECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в productionSECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в production
 
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
 
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступленийSECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
 
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
SECON'2017, 	Рожкова Надежда, Бухгалтерские лайфхаки для IT компанийSECON'2017, 	Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
 
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
 
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленкеSECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
 
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигниSECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
 
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
 
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
 
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
 
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
 
SECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практикеSECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практике
 
SECON'2017, Неволин Роман, Функциональный C#
SECON'2017, Неволин Роман, Функциональный C#SECON'2017, Неволин Роман, Функциональный C#
SECON'2017, Неволин Роман, Функциональный C#
 
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проектаSECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
 
SECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
SECON'2017, Макарычев Костантин, Использование Spark для машинного обученияSECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
SECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
 
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетологаSECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
 
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателяSECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
 
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
 

SECON'2017, Лесовский Алексей, Потоковая репликация в PostgreSQL.