20070407 rit2007 scalability replication zolotukhin
TRANSCRIPT
![Page 1: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/1.jpg)
PostgreSQL в PostgreSQL в веб-приложенияхвеб-приложениях
Отказоусточивость Отказоусточивость
Балансировка нагрузки Балансировка нагрузки
Репликация Репликация
МасштабированиеМасштабирование
Иван ЗолотухинИван Золотухин[email protected]@postgresmen.ru
![Page 2: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/2.jpg)
www.rit2007.ru
PostgreSQL - это...PostgreSQL - это...
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Самая продвинутая из открытых СУБД в мире
![Page 3: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/3.jpg)
www.rit2007.ru
PostgreSQL - это...PostgreSQL - это...
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Надежность и устойчивость на любых нагрузках
Превосходная поддержка от community
КроссплатформенностьFreeBSDLinuxSolarisWindows
![Page 4: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/4.jpg)
www.rit2007.ru
PostgreSQL - это...PostgreSQL - это...
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Высокий уровень соответствия ANSI SQL 92, ANSI SQL 99 и ANSI SQL 2003
Интерфейсы для Tcl, Perl, C, C++, PHP, ODBC, JDBC, Embedded SQL in C, Python, Ruby, ...
Развитые административные утилиты (pgAdmin, phpPgAdmin, ...)
![Page 5: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/5.jpg)
www.rit2007.ru
PostgreSQL - это...PostgreSQL - это...
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Views, sequences, inheritance, outer joins, subselects, referential integrity, rules, triggers, user-defined functions, stored procedures, PL/SQL, PL/PgSQL, PL/Perl, PL/PHP, PL/Tcl, PL/sh, PL/Ruby, PL/Rails, PL/Python, PL/Django, extensible datatypes, hot backup, ACID, functional and partial indexes, i18n, unicode, full-text search, XML, SSL, ...
![Page 6: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/6.jpg)
www.rit2007.ru
PostgreSQL in the WebPostgreSQL in the Web
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
ЯндексРамблерРБКРабота.руВебальтаSkype+ другие крупные анонимные проекты
![Page 7: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/7.jpg)
www.rit2007.ru
ОтказоустойчивостьОтказоустойчивость(failover)(failover)
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
![Page 8: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/8.jpg)
www.rit2007.ru
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Балансировка нагрузкиБалансировка нагрузки
Load balancer
![Page 9: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/9.jpg)
www.rit2007.ru
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
МасштабированиеМасштабирование(scale-out, а не scale-up)(scale-out, а не scale-up)
![Page 10: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/10.jpg)
www.rit2007.ru
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
РепликацияРепликацияMaster/Slave - asynchronousMaster/Slave - asynchronous
async
![Page 11: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/11.jpg)
www.rit2007.ru
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
РепликацияРепликацияMaster/Slave - synchronousMaster/Slave - synchronous
sync
![Page 12: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/12.jpg)
www.rit2007.ru
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
РепликацияРепликацияMulti-Master - synchronousMulti-Master - synchronous
sync
![Page 13: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/13.jpg)
www.rit2007.ru
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
РепликацияРепликацияMulti-Master - asynchronousMulti-Master - asynchronous
async
With conflicts resolution!
![Page 14: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/14.jpg)
www.rit2007.ru
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Pgpool-IIPgpool-II
pgpool
INSERT, UPDATE, DELETEна все узлы
SELECT на один узел
![Page 15: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/15.jpg)
www.rit2007.ru
Pgpool-IIPgpool-II
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Менеджер соединений (connection pooling + кеш)
Failover (обнаружение отказа и переключение на резервный сервер)
Репликация (синхронная, мульти-мастер)
![Page 16: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/16.jpg)
www.rit2007.ru
Pgpool-IIPgpool-II
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Балансировка нагрузки
Master/Slave режим -- работа вместе с другой системой репликации: Slony-I, WAL, ...)
Параллельное выполнение запросов
Нет ограничений на число узлов кластера (как было в pgpool-I)
![Page 17: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/17.jpg)
www.rit2007.ru
Pgpool-IIPgpool-II
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
![Page 18: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/18.jpg)
www.rit2007.ru
Pgpool-IIPgpool-II
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
![Page 19: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/19.jpg)
www.rit2007.ru
Pgpool-IIPgpool-II
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
![Page 20: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/20.jpg)
www.rit2007.ru
Slony-ISlony-I
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Master to multiple slaves
Самая известная репликация для PostgreSQL
Асинхронная система
Простота настройки (4 часа Максима Богука)
Десятки слейвов
Каскады реплицируемых серверов
![Page 21: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/21.jpg)
www.rit2007.ru
Slony-ISlony-I
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
![Page 22: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/22.jpg)
www.rit2007.ru
PgClusterPgCluster
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Синхронный мультимастер
Балансировка нагрузки
Высокодоступная (HA) система
Cluster DBs, Load Balancer, Replicator
Для ленивых: решение от Cybertec, Austria
![Page 23: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/23.jpg)
www.rit2007.ru
Трансфер логовТрансфер логов(WAL shipping)(WAL shipping)
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Асинхронная система
Встроена в PostgreSQL
Hot backup
Нельзя читать со слейвов
![Page 24: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/24.jpg)
www.rit2007.ru
SkypeSkype
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
PL/Proxy: проксирование запросов
PgBouncer: легкий менеджер соединений
SkyTools: управление кластером
![Page 25: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/25.jpg)
www.rit2007.ru
Skype: SkyToolsSkype: SkyTools
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
PgQ: generic queue implementation
WAL Manager: WAL setup + hot failover
Londiste: replication tool
![Page 26: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/26.jpg)
www.rit2007.ru
SkypeSkype
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
![Page 27: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/27.jpg)
www.rit2007.ru
SkypeSkype
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
![Page 28: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/28.jpg)
www.rit2007.ru
SkypeSkype
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
![Page 29: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/29.jpg)
www.rit2007.ru
Счастье естьСчастье есть
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007
Смотрите в CVS этим летом блокбастер 2007 года: простая асинхронная master-slave репликация на трансфере логов (WAL shipping), встроенная в PostgreSQL
![Page 30: 20070407 Rit2007 Scalability Replication Zolotukhin](https://reader033.vdocuments.net/reader033/viewer/2022052619/5558e9add8b42ad7138b5227/html5/thumbnails/30.jpg)
www.rit2007.ru
Спасибо!Спасибо!
Иван Золотухин postgresmen.ru
РИТ-2007, Москва, 17 апреля 2007