SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
PostgreSQL в
         веб-приложениях

Отказоусточивость
Балансировка нагрузки
Репликация
Масштабирование


                           Иван Золотухин
                           postgresmen.ru
                           iz@postgresmen.ru
PostgreSQL - это...




         Самая продвинутая из открытых СУБД в мире




Иван Золотухин                              РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                        www.rit2007.ru
PostgreSQL - это...

         Надежность и устойчивость на любых
         нагрузках

         Превосходная поддержка от community

         Кроссплатформенность
            FreeBSD
            Linux
            Solaris
            Windows


Иван Золотухин                                 РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                           www.rit2007.ru
PostgreSQL - это...

         Высокий уровень соответствия ANSI SQL 92,
         ANSI SQL 99 и ANSI SQL 2003

         Интерфейсы для Tcl, Perl, C, C++, PHP, ODBC,
         JDBC, Embedded SQL in C, Python, Ruby, ...

         Развитые административные утилиты
         (pgAdmin, phpPgAdmin, ...)



Иван Золотухин                                 РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                           www.rit2007.ru
PostgreSQL - это...

         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, ...



Иван Золотухин                                       РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                                 www.rit2007.ru
PostgreSQL in the Web

         Яндекс
         Рамблер
         РБК
         Работа.ру
         Вебальта
         Skype
         + другие крупные анонимные проекты




Иван Золотухин                                РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                          www.rit2007.ru
Отказоустойчивость
    (failover)




Иван Золотухин           РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                     www.rit2007.ru
Балансировка нагрузки



                    Load balancer




Иван Золотухин                      РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                www.rit2007.ru
Масштабирование
    (scale-out, а не scale-up)




Иван Золотухин                   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                             www.rit2007.ru
Репликация
    Master/Slave - asynchronous




                 async




Иван Золотухин                РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                          www.rit2007.ru
Репликация
    Master/Slave - synchronous




                 sync




Иван Золотухин                   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                             www.rit2007.ru
Репликация
    Multi-Master - synchronous




                 sync




Иван Золотухин                   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                             www.rit2007.ru
Репликация
    Multi-Master - asynchronous




                          async




                 With conflicts resolution!
Иван Золотухин                                РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                          www.rit2007.ru
Pgpool-II



                               pgpool

                 INSERT,
                                        SELECT на один
                 UPDATE,
                                        узел
                 DELETE
                 на все узлы




Иван Золотухин                                 РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                           www.rit2007.ru
Pgpool-II

         Менеджер соединений (connection pooling +
         кеш)

         Failover (обнаружение отказа и переключение
         на резервный сервер)

         Репликация (синхронная, мульти-мастер)




Иван Золотухин                                РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                          www.rit2007.ru
Pgpool-II
         Балансировка нагрузки

         Master/Slave режим -- работа вместе с другой
         системой репликации: Slony-I, WAL, ...)

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

         Нет ограничений на число узлов кластера (как
         было в pgpool-I)


Иван Золотухин                                 РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                           www.rit2007.ru
Pgpool-II




Иван Золотухин   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru             www.rit2007.ru
Pgpool-II




Иван Золотухин   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru             www.rit2007.ru
Pgpool-II




Иван Золотухин   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru             www.rit2007.ru
Slony-I
         Master to multiple slaves

         Самая известная репликация для PostgreSQL

         Асинхронная система

         Простота настройки (4 часа Максима Богука)

         Десятки слейвов

         Каскады реплицируемых серверов
Иван Золотухин                                РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                          www.rit2007.ru
Slony-I




Иван Золотухин   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru             www.rit2007.ru
PgCluster
         Синхронный мультимастер

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

         Высокодоступная (HA) система

         Cluster DBs, Load Balancer, Replicator

         Для ленивых: решение от Cybertec, Austria


Иван Золотухин                                    РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                              www.rit2007.ru
Трансфер логов
    (WAL shipping)

         Асинхронная система

         Встроена в PostgreSQL

         Hot backup

         Нельзя читать со слейвов


Иван Золотухин                      РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                www.rit2007.ru
Skype

         PL/Proxy: проксирование запросов

         PgBouncer: легкий менеджер соединений

         SkyTools: управление кластером




Иван Золотухин                              РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                        www.rit2007.ru
Skype: SkyTools

         PgQ: generic queue implementation

         WAL Manager: WAL setup + hot failover

         Londiste: replication tool




Иван Золотухин                                   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                             www.rit2007.ru
Skype




Иван Золотухин   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru             www.rit2007.ru
Skype




Иван Золотухин   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru             www.rit2007.ru
Skype




Иван Золотухин   РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru             www.rit2007.ru
Счастье есть



         Смотрите в CVS этим летом блокбастер 2007
         года: простая асинхронная master-slave
         репликация на трансфере логов (WAL
         shipping), встроенная в PostgreSQL




Иван Золотухин                               РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                                         www.rit2007.ru
Спасибо!




Иван Золотухин              РИТ-2007, Москва, 17 апреля 2007
postgresmen.ru                        www.rit2007.ru

Mais conteúdo relacionado

Mais procurados

ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?Andrew Mayorov
 
Будущее казахстанских корпоративных коммуникаций в 2018
Будущее казахстанских корпоративных коммуникаций в 2018Будущее казахстанских корпоративных коммуникаций в 2018
Будущее казахстанских корпоративных коммуникаций в 2018Askarbekov corporate communications agency
 
316 Ch
316 Ch316 Ch
316 Chanjaan
 
Wda t 91_2010
Wda t 91_2010Wda t 91_2010
Wda t 91_2010aaruicwai
 
кеширование в бд
кеширование в бдкеширование в бд
кеширование в бдMax Lapshin
 
20080424 Cdb2008 Postgresql8.3 Samokhvalov
20080424 Cdb2008 Postgresql8.3 Samokhvalov20080424 Cdb2008 Postgresql8.3 Samokhvalov
20080424 Cdb2008 Postgresql8.3 SamokhvalovNikolay Samokhvalov
 
МАСТЕР-КЛАСС. Руководство командой разработчиков ПО
МАСТЕР-КЛАСС. Руководство командой разработчиков ПОМАСТЕР-КЛАСС. Руководство командой разработчиков ПО
МАСТЕР-КЛАСС. Руководство командой разработчиков ПОSQALab
 
Porimiti er sokol sutro [www.itmona.com]
Porimiti er sokol sutro [www.itmona.com]Porimiti er sokol sutro [www.itmona.com]
Porimiti er sokol sutro [www.itmona.com]Itmona
 
Revista espirito livre_016_julho2010
Revista espirito livre_016_julho2010Revista espirito livre_016_julho2010
Revista espirito livre_016_julho2010Filipe Bezerra Sousa
 

Mais procurados (18)

ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?
 
Будущее казахстанских корпоративных коммуникаций в 2018
Будущее казахстанских корпоративных коммуникаций в 2018Будущее казахстанских корпоративных коммуникаций в 2018
Будущее казахстанских корпоративных коммуникаций в 2018
 
316 Ch
316 Ch316 Ch
316 Ch
 
Postgresql microconf
Postgresql microconfPostgresql microconf
Postgresql microconf
 
Yandex Maps API
Yandex Maps APIYandex Maps API
Yandex Maps API
 
Wda t 91_2010
Wda t 91_2010Wda t 91_2010
Wda t 91_2010
 
кеширование в бд
кеширование в бдкеширование в бд
кеширование в бд
 
20080424 Cdb2008 Postgresql8.3 Samokhvalov
20080424 Cdb2008 Postgresql8.3 Samokhvalov20080424 Cdb2008 Postgresql8.3 Samokhvalov
20080424 Cdb2008 Postgresql8.3 Samokhvalov
 
구글
구글구글
구글
 
Data Storage in Android App
Data Storage in Android AppData Storage in Android App
Data Storage in Android App
 
Grape Trends 2009
Grape Trends 2009Grape Trends 2009
Grape Trends 2009
 
МАСТЕР-КЛАСС. Руководство командой разработчиков ПО
МАСТЕР-КЛАСС. Руководство командой разработчиков ПОМАСТЕР-КЛАСС. Руководство командой разработчиков ПО
МАСТЕР-КЛАСС. Руководство командой разработчиков ПО
 
Xen virtualization
Xen virtualizationXen virtualization
Xen virtualization
 
Christofides
ChristofidesChristofides
Christofides
 
Porimiti er sokol sutro [www.itmona.com]
Porimiti er sokol sutro [www.itmona.com]Porimiti er sokol sutro [www.itmona.com]
Porimiti er sokol sutro [www.itmona.com]
 
Fedoseev Sofs
Fedoseev SofsFedoseev Sofs
Fedoseev Sofs
 
018 al-kahf
018 al-kahf018 al-kahf
018 al-kahf
 
Revista espirito livre_016_julho2010
Revista espirito livre_016_julho2010Revista espirito livre_016_julho2010
Revista espirito livre_016_julho2010
 

Mais de Nikolay Samokhvalov

Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...Nikolay Samokhvalov
 
Промышленный подход к тюнингу PostgreSQL: эксперименты над базами данных
Промышленный подход к тюнингу PostgreSQL: эксперименты над базами данныхПромышленный подход к тюнингу PostgreSQL: эксперименты над базами данных
Промышленный подход к тюнингу PostgreSQL: эксперименты над базами данныхNikolay Samokhvalov
 
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San JoseThe Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San JoseNikolay Samokhvalov
 
Nancy CLI. Automated Database Experiments
Nancy CLI. Automated Database ExperimentsNancy CLI. Automated Database Experiments
Nancy CLI. Automated Database ExperimentsNikolay Samokhvalov
 
#RuPostgresLive 4: как писать и читать сложные SQL-запросы
#RuPostgresLive 4: как писать и читать сложные SQL-запросы#RuPostgresLive 4: как писать и читать сложные SQL-запросы
#RuPostgresLive 4: как писать и читать сложные SQL-запросыNikolay Samokhvalov
 
#RuPostgresLive 4: как писать и читать сложные SQL-запросы
#RuPostgresLive 4: как писать и читать сложные SQL-запросы#RuPostgresLive 4: как писать и читать сложные SQL-запросы
#RuPostgresLive 4: как писать и читать сложные SQL-запросыNikolay Samokhvalov
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДNikolay Samokhvalov
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6Nikolay Samokhvalov
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентовNikolay Samokhvalov
 
#PostgreSQLRussia в банке Тинькофф, доклад №1
#PostgreSQLRussia в банке Тинькофф, доклад №1#PostgreSQLRussia в банке Тинькофф, доклад №1
#PostgreSQLRussia в банке Тинькофф, доклад №1Nikolay Samokhvalov
 
SFPUG 2015.11.20 lightning talk "PostgreSQL in Russia"
SFPUG 2015.11.20 lightning talk "PostgreSQL in Russia"SFPUG 2015.11.20 lightning talk "PostgreSQL in Russia"
SFPUG 2015.11.20 lightning talk "PostgreSQL in Russia"Nikolay Samokhvalov
 
Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...
Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...
Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...Nikolay Samokhvalov
 
#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...
#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...
#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...Nikolay Samokhvalov
 
#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
 
Три вызова реляционным СУБД и новый PostgreSQL - #PostgreSQLRussia семинар по...
Три вызова реляционным СУБД и новый PostgreSQL - #PostgreSQLRussia семинар по...Три вызова реляционным СУБД и новый PostgreSQL - #PostgreSQLRussia семинар по...
Три вызова реляционным СУБД и новый PostgreSQL - #PostgreSQLRussia семинар по...Nikolay Samokhvalov
 
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.42014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4Nikolay Samokhvalov
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, ParallelsNikolay Samokhvalov
 
2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ru2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ruNikolay Samokhvalov
 
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussiaNikolay Samokhvalov
 

Mais de Nikolay Samokhvalov (20)

Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 
Промышленный подход к тюнингу PostgreSQL: эксперименты над базами данных
Промышленный подход к тюнингу PostgreSQL: эксперименты над базами данныхПромышленный подход к тюнингу PostgreSQL: эксперименты над базами данных
Промышленный подход к тюнингу PostgreSQL: эксперименты над базами данных
 
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San JoseThe Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
 
Nancy CLI. Automated Database Experiments
Nancy CLI. Automated Database ExperimentsNancy CLI. Automated Database Experiments
Nancy CLI. Automated Database Experiments
 
#RuPostgresLive 4: как писать и читать сложные SQL-запросы
#RuPostgresLive 4: как писать и читать сложные SQL-запросы#RuPostgresLive 4: как писать и читать сложные SQL-запросы
#RuPostgresLive 4: как писать и читать сложные SQL-запросы
 
#RuPostgresLive 4: как писать и читать сложные SQL-запросы
#RuPostgresLive 4: как писать и читать сложные SQL-запросы#RuPostgresLive 4: как писать и читать сложные SQL-запросы
#RuPostgresLive 4: как писать и читать сложные SQL-запросы
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБД
 
2016.10.13 PostgreSQL in Russia
2016.10.13 PostgreSQL in Russia2016.10.13 PostgreSQL in Russia
2016.10.13 PostgreSQL in Russia
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов
 
#PostgreSQLRussia в банке Тинькофф, доклад №1
#PostgreSQLRussia в банке Тинькофф, доклад №1#PostgreSQLRussia в банке Тинькофф, доклад №1
#PostgreSQLRussia в банке Тинькофф, доклад №1
 
SFPUG 2015.11.20 lightning talk "PostgreSQL in Russia"
SFPUG 2015.11.20 lightning talk "PostgreSQL in Russia"SFPUG 2015.11.20 lightning talk "PostgreSQL in Russia"
SFPUG 2015.11.20 lightning talk "PostgreSQL in Russia"
 
Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...
Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...
Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...
 
#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...
#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...
#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...
 
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
 
Три вызова реляционным СУБД и новый PostgreSQL - #PostgreSQLRussia семинар по...
Три вызова реляционным СУБД и новый PostgreSQL - #PostgreSQLRussia семинар по...Три вызова реляционным СУБД и новый PostgreSQL - #PostgreSQLRussia семинар по...
Три вызова реляционным СУБД и новый PostgreSQL - #PostgreSQLRussia семинар по...
 
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.42014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
 
2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ru2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ru
 
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
 

20070407 Rit2007 Scalability Replication Zolotukhin

  • 1. PostgreSQL в веб-приложениях Отказоусточивость Балансировка нагрузки Репликация Масштабирование Иван Золотухин postgresmen.ru iz@postgresmen.ru
  • 2. PostgreSQL - это... Самая продвинутая из открытых СУБД в мире Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 3. PostgreSQL - это... Надежность и устойчивость на любых нагрузках Превосходная поддержка от community Кроссплатформенность FreeBSD Linux Solaris Windows Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 4. PostgreSQL - это... Высокий уровень соответствия ANSI SQL 92, ANSI SQL 99 и ANSI SQL 2003 Интерфейсы для Tcl, Perl, C, C++, PHP, ODBC, JDBC, Embedded SQL in C, Python, Ruby, ... Развитые административные утилиты (pgAdmin, phpPgAdmin, ...) Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 5. PostgreSQL - это... 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, ... Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 6. PostgreSQL in the Web Яндекс Рамблер РБК Работа.ру Вебальта Skype + другие крупные анонимные проекты Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 7. Отказоустойчивость (failover) Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 8. Балансировка нагрузки Load balancer Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 9. Масштабирование (scale-out, а не scale-up) Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 10. Репликация Master/Slave - asynchronous async Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 11. Репликация Master/Slave - synchronous sync Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 12. Репликация Multi-Master - synchronous sync Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 13. Репликация Multi-Master - asynchronous async With conflicts resolution! Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 14. Pgpool-II pgpool INSERT, SELECT на один UPDATE, узел DELETE на все узлы Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 15. Pgpool-II Менеджер соединений (connection pooling + кеш) Failover (обнаружение отказа и переключение на резервный сервер) Репликация (синхронная, мульти-мастер) Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 16. Pgpool-II Балансировка нагрузки Master/Slave режим -- работа вместе с другой системой репликации: Slony-I, WAL, ...) Параллельное выполнение запросов Нет ограничений на число узлов кластера (как было в pgpool-I) Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 17. Pgpool-II Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 18. Pgpool-II Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 19. Pgpool-II Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 20. Slony-I Master to multiple slaves Самая известная репликация для PostgreSQL Асинхронная система Простота настройки (4 часа Максима Богука) Десятки слейвов Каскады реплицируемых серверов Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 21. Slony-I Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 22. PgCluster Синхронный мультимастер Балансировка нагрузки Высокодоступная (HA) система Cluster DBs, Load Balancer, Replicator Для ленивых: решение от Cybertec, Austria Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 23. Трансфер логов (WAL shipping) Асинхронная система Встроена в PostgreSQL Hot backup Нельзя читать со слейвов Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 24. Skype PL/Proxy: проксирование запросов PgBouncer: легкий менеджер соединений SkyTools: управление кластером Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 25. Skype: SkyTools PgQ: generic queue implementation WAL Manager: WAL setup + hot failover Londiste: replication tool Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 26. Skype Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 27. Skype Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 28. Skype Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 29. Счастье есть Смотрите в CVS этим летом блокбастер 2007 года: простая асинхронная master-slave репликация на трансфере логов (WAL shipping), встроенная в PostgreSQL Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru
  • 30. Спасибо! Иван Золотухин РИТ-2007, Москва, 17 апреля 2007 postgresmen.ru www.rit2007.ru