SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
PostgreSQL 8.3
2008 – удачный год для начала использования PostgreSQL



                                      Николай Самохвалов
                                           ООО «Постгресмен»
                Российское сообщество пользователей PostgreSQL




               Корпоративные базы данных 2008
                   Москва, 24 апреля 2008
Работа над PostgreSQL 8.3

   Более 280 пакетов улучшений кода
   Десятки разработчиков из 18 стран
   7 месяцев разработки и 8 месяцев
    интеграции и тестирования
Новое PostgreSQL 8.3



 Производительность
 Разработчикам баз данных

 Администраторам БД

 Проекты-спутники




         Что нового в PostgreSQL 8.3   3
Производительность




      Что нового в PostgreSQL 8.3   4
Лето 2007: The 1st PostgreSQL
                                                  Enterprise-level Benchmark (SPEC*)
                                                                                                                    Josh Berkus: «...a good day for Open Source»
PostgreSQL 8.2 –                                                                                                                                                 Oracle 10g – 874.17
813.73 JOPS                                                                                                                                                      JOPS
              SPECjAppServer2004 2x Sun Fire                                                                                                                                    SPECjAppServer2004 1 HP rx2660
               X4200 appservers (8 cores, 4                                                                                                                                       appserver (4 cores, 2 chips) and 1
               chips) and 1 Sun Fire T2000 DB                                                                                                                                     rx2660 DB server (4 cores, 2
               server (8 cores, 1 chips) with                                                                                                                                     chips) with Oracle Database 10g
               PostgreSQL 8.2.4                                                                                                                                                   Enterprise Edition Release
              HW: ~$60,000; SW: $0                                                                                                                                               10.2.0.2
                                                                                                                                                                                 HW: ~$74,000; SW: ~$110,000



                      Экономия $124000 для каждого сервера БД
                           без потери производительности!
                                                                                                                                                                                                                                                

*) 
    SPEC – Standard Performance Evaluation Corporation, http://spec.org

                                                                                                                               Что нового в PostgreSQL 8.3                                                                                         5
HOT (Heap Only Tuples)

   При обновлении (UPDATE) индекс
    не меняется, если:
       UPDATE не затрагивает
        проиндексированные столбцы,
       новая версия строки записывается на
        той же странице данных (heap).
   «Моментальное» повторное
    использование места в heap без
    ожидания процесса VACUUM.

                    Что нового в PostgreSQL 8.3   6
Обновление без HOT

                 Index      1     2    3



            Page Header         Item1 Ptr Item2 Ptr Item3 Ptr




Heap Page
      8kb


                                              UPDATE-2: row #1, v3

            UPDATE-1: row #1, v2               INSERT: row #1, v1




                          Что нового в PostgreSQL 8.3                7
HOT­обновление

                 Index      1



            Page Header         Item1 Ptr Item2 Ptr Item3 Ptr




Heap Page
      8kb




            UPDATE-1: row #1, v2              UPDATE-2: row #1, v3




                          Что нового в PostgreSQL 8.3                8
HOT (Heap Only Tuples) 

   Экономия дискового пространства
   Ускорение обработки транзакций
   Меньше работы для VACUUM




                Что нового в PostgreSQL 8.3   9
Asynchronous Commit

SET synchronous_commit TO OFF;

Позволяет отложить fsync на небольшое время
(COMMIT без ожидания fsync)
   возможна потеря небольшой порции данных

    (порядка 0.2...1.0 сек)
   нарушение целостности данных

    невозможно! (в отличие от fsync=off)




                  Что нового в PostgreSQL 8.3   10
Сглаживание контрольных точек 
     (checkpoint smoothing)

   «Размазывание» процесса checkoint во времени,
    уменьшение интенсивности I/O-операций.
   Работает только для background checkpoints (при
    выключении сервера и явном выполнении
    команды CHECKPOINT – полная скорость I/O-
    операций).


Надёжность производительности —
гарантированный уровень производительности
без «проседаний»


                     Что нового в PostgreSQL 8.3      11
Synchronized Scans

   Позволяет процессу «подсесть» к
    уже выполняющейся операции
    SeqScan другого процесса

    Сессия 1

    Сессия 2



                    синхронизированный просмотр




                  Что нового в PostgreSQL 8.3     12
Кроме того

   Autovacuum включён по умолчанию
   Несколько параллельных процессов autovacuum
   Экономия пространства (varvarlena)
      VARLENA-значения менее 128 байт: 1 байт

       вместо 4!
      заголовок строки: 24 байта вместо 27!

   При «читающих» транзакциях xid не меняется
      меньше записей в pg_clog!

   Автонастройка bgwriter
   ORDER BY ... LIMIT без полной сортировки
    («Top N» sorting)
                     Что нового в PostgreSQL 8.3   13
Пример миграции с 8.2 на 8.3
                           (Постгресмен)
   OLTP-система
   80-110 TPS
   10% транзакций — модификация данных

Интенсивность работы с диском снизилась (измерения за 4 недели)




                          Что нового в PostgreSQL 8.3             14
Пример миграции с 8.2 на 8.3
                         (Постгресмен)




Загрузка системы снизилась




                        Что нового в PostgreSQL 8.3   15
Пример миграции с 8.2 на 8.3
                         (Постгресмен)




Количество транзакций осталось на прежнем уровне




                        Что нового в PostgreSQL 8.3   16
Разработчикам баз данных




         Что нового в PostgreSQL 8.3   17
Полнотекстовый поиск

   contrib/tsearch2 --> ядро системы
   Новый синтаксис
   Упрощённое создание индекса (без
    триггера)
   Простая миграция и апгрейд версии
    PostgreSQL с (8.3 на следующие версии)




                    Что нового в PostgreSQL 8.3   18
Поддержка XML

   Новый тип данных: xml
   Стандартные (ISO/ANSI SQL) функции
    публикации SQL/XML
   DTD-валидация
   XPath: функция xpath() (с поддержкой
    Namespaces)
   Альтернативные функции экспорта объектов
    БД в XML
   B-tree и GIN-индексы для XML-данных,
    полнотекстовый поиск

                    Что нового в PostgreSQL 8.3   19
Типы данных


   GUID/UUID
   enum
   массивы составных типов




                Что нового в PostgreSQL 8.3   20
Кроме того
   Автоматическая инвалидация плана («чистка»
    кэша функций)
   Table Function (RETURN QUERY)
   Updatable Cursors
   ORDER BY NULLS FIRST/LAST (ISO/ANSI SQL)
   Поддержка NULL-значений в GiST-индексах




                     Что нового в PostgreSQL 8.3   21
Администраторам баз данных




          Что нового в PostgreSQL 8.3   22
Кроме того


   contrib/pg_standby – создание Warm Standby (Linux,
    Windows)
   Удаление пользователя вместе со всеми
    принадлежащими ему объектами
   GSSAPI (Active Directory)
   Улучшенная сборка под Win32 (MS VC++)




                            Что нового в PostgreSQL 8.3   23
Проекты­спутники




     Что нового в PostgreSQL 8.3   24
PL/pgSQL Debugger




    Что нового в PostgreSQL 8.3   25
Продукты Skype
   PL/Proxy – прокси-язык для удаленного вызова
    процедур и партицирования данных между разными
    базами (sharding)
   PgBouncer – простой и быстрый менеджер
    соединений.
   SkyTools
      WalMgr

      Londiste

      PgQ




                      Что нового в PostgreSQL 8.3    26
Кроме того


   pgSNMP – SNMP-агент для PostgreSQL
    (мониторинг)
   SEPostgres – расширение, основанное на
    модели SELinux (безопасность)
   phppgadmin: настройка Slony и
    полнотекстового поиска, автовакуума
   Index Advisor




                   Что нового в PostgreSQL 8.3   27
Ссылки

   Николай Самохвалов. PostgreSQL 8.3
       http://postgresmen.ru/articles/view/78
   Документация
       http://www.postgresql.org/docs/8.3/interactive/
   8.3 Feature List
       http://www.postgresql.org/about/press/features83.html
   PostgreSQL Feature Matrix
       http://www.postgresql.org/about/featurematrix




                            Что нового в PostgreSQL 8.3         28
PostgreSQL 8.4
Об успешном будущем, фундамент которого создаётся уже сегодня


                                                 Олег Бартунов
                Российское сообщество пользователей PostgreSQL,
                            PostgreSQL Global Developmen Group,
                                     PostgreSQL Major Developer

Más contenido relacionado

La actualidad más candente

Для конференции "Интранет в России"
Для конференции "Интранет в России"Для конференции "Интранет в России"
Для конференции "Интранет в России"Mikhail Galushko
 
кеширование в бд
кеширование в бдкеширование в бд
кеширование в бдMax Lapshin
 
исчезнут ли российские эпс
исчезнут ли российские эпсисчезнут ли российские эпс
исчезнут ли российские эпсTimur AITOV
 
презентация
презентацияпрезентация
презентацияLIANA180
 
МЭРТ 19_04_2009 Ivankov Prezentatsiya V5
МЭРТ 19_04_2009 Ivankov   Prezentatsiya V5МЭРТ 19_04_2009 Ivankov   Prezentatsiya V5
МЭРТ 19_04_2009 Ivankov Prezentatsiya V5Victor Gridnev
 
How to make your site accessible
How to make your site accessibleHow to make your site accessible
How to make your site accessibleYuriy Artyukh
 
практ.заняття 3 теорія поля
практ.заняття 3 теорія поляпракт.заняття 3 теорія поля
практ.заняття 3 теорія поляCit Cit
 
Положение о приемной семье
Положение о приемной семьеПоложение о приемной семье
Положение о приемной семьеakipress
 
положение о правилах пользования библиотекой
положение о правилах пользования библиотекойположение о правилах пользования библиотекой
положение о правилах пользования библиотекойpkgpkg
 
МАСТЕР-КЛАСС. Руководство командой разработчиков ПО
МАСТЕР-КЛАСС. Руководство командой разработчиков ПОМАСТЕР-КЛАСС. Руководство командой разработчиков ПО
МАСТЕР-КЛАСС. Руководство командой разработчиков ПОSQALab
 
Установки по приготовлению антисептиков и других дезинфекторов
Установки по приготовлению антисептиков и других дезинфекторовУстановки по приготовлению антисептиков и других дезинфекторов
Установки по приготовлению антисептиков и других дезинфекторовGlobeCore
 
Sergey Kh Citrus Systems 2009
Sergey Kh Citrus Systems 2009Sergey Kh Citrus Systems 2009
Sergey Kh Citrus Systems 2009Liudmila Li
 
Profit Backlog | В погоне за эффективным бэклогом
Profit Backlog | В погоне за эффективным бэклогомProfit Backlog | В погоне за эффективным бэклогом
Profit Backlog | В погоне за эффективным бэклогомNikita Filippov
 

La actualidad más candente (19)

Для конференции "Интранет в России"
Для конференции "Интранет в России"Для конференции "Интранет в России"
Для конференции "Интранет в России"
 
Grape SEO
Grape SEOGrape SEO
Grape SEO
 
кеширование в бд
кеширование в бдкеширование в бд
кеширование в бд
 
исчезнут ли российские эпс
исчезнут ли российские эпсисчезнут ли российские эпс
исчезнут ли российские эпс
 
презентация
презентацияпрезентация
презентация
 
Investment passport UA trytoria2021
Investment passport UA trytoria2021Investment passport UA trytoria2021
Investment passport UA trytoria2021
 
МЭРТ 19_04_2009 Ivankov Prezentatsiya V5
МЭРТ 19_04_2009 Ivankov   Prezentatsiya V5МЭРТ 19_04_2009 Ivankov   Prezentatsiya V5
МЭРТ 19_04_2009 Ivankov Prezentatsiya V5
 
How to make your site accessible
How to make your site accessibleHow to make your site accessible
How to make your site accessible
 
практ.заняття 3 теорія поля
практ.заняття 3 теорія поляпракт.заняття 3 теорія поля
практ.заняття 3 теорія поля
 
Fedoseev Sofs
Fedoseev SofsFedoseev Sofs
Fedoseev Sofs
 
Essja 19 130 131
Essja 19 130 131Essja 19 130 131
Essja 19 130 131
 
Положение о приемной семье
Положение о приемной семьеПоложение о приемной семье
Положение о приемной семье
 
положение о правилах пользования библиотекой
положение о правилах пользования библиотекойположение о правилах пользования библиотекой
положение о правилах пользования библиотекой
 
МАСТЕР-КЛАСС. Руководство командой разработчиков ПО
МАСТЕР-КЛАСС. Руководство командой разработчиков ПОМАСТЕР-КЛАСС. Руководство командой разработчиков ПО
МАСТЕР-КЛАСС. Руководство командой разработчиков ПО
 
03 Bcc снг
03 Bcc снг03 Bcc снг
03 Bcc снг
 
Установки по приготовлению антисептиков и других дезинфекторов
Установки по приготовлению антисептиков и других дезинфекторовУстановки по приготовлению антисептиков и других дезинфекторов
Установки по приготовлению антисептиков и других дезинфекторов
 
Sergey Kh Citrus Systems 2009
Sergey Kh Citrus Systems 2009Sergey Kh Citrus Systems 2009
Sergey Kh Citrus Systems 2009
 
Profit Backlog | В погоне за эффективным бэклогом
Profit Backlog | В погоне за эффективным бэклогомProfit Backlog | В погоне за эффективным бэклогом
Profit Backlog | В погоне за эффективным бэклогом
 
Christofides
ChristofidesChristofides
Christofides
 

Destacado

20070920 Highload2007 Training Performance Momjian
20070920 Highload2007 Training Performance Momjian20070920 Highload2007 Training Performance Momjian
20070920 Highload2007 Training Performance MomjianNikolay Samokhvalov
 
18 Weken Zwoegen
18 Weken Zwoegen18 Weken Zwoegen
18 Weken Zwoegenguest61291d
 
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)Ontico
 

Destacado (9)

20070920 Highload2007 Training Performance Momjian
20070920 Highload2007 Training Performance Momjian20070920 Highload2007 Training Performance Momjian
20070920 Highload2007 Training Performance Momjian
 
18 Weken Zwoegen
18 Weken Zwoegen18 Weken Zwoegen
18 Weken Zwoegen
 
20071113 Msu Vasenin Seminar
20071113 Msu Vasenin Seminar20071113 Msu Vasenin Seminar
20071113 Msu Vasenin Seminar
 
Uu 04 1999
Uu 04 1999Uu 04 1999
Uu 04 1999
 
Uu 14 1992
Uu 14 1992Uu 14 1992
Uu 14 1992
 
Uu 29 1999
Uu 29 1999Uu 29 1999
Uu 29 1999
 
Uu 31 1997
Uu 31 1997Uu 31 1997
Uu 31 1997
 
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
 
Uu 05 1994
Uu 05 1994Uu 05 1994
Uu 05 1994
 

Más 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
 

Más 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
 

20080424 Cdb2008 Postgresql8.3 Samokhvalov

  • 1. PostgreSQL 8.3 2008 – удачный год для начала использования PostgreSQL Николай Самохвалов ООО «Постгресмен» Российское сообщество пользователей PostgreSQL Корпоративные базы данных 2008 Москва, 24 апреля 2008
  • 2. Работа над PostgreSQL 8.3  Более 280 пакетов улучшений кода  Десятки разработчиков из 18 стран  7 месяцев разработки и 8 месяцев интеграции и тестирования
  • 3. Новое PostgreSQL 8.3  Производительность  Разработчикам баз данных  Администраторам БД  Проекты-спутники Что нового в PostgreSQL 8.3 3
  • 4. Производительность Что нового в PostgreSQL 8.3 4
  • 5. Лето 2007: The 1st PostgreSQL Enterprise-level Benchmark (SPEC*) Josh Berkus: «...a good day for Open Source» PostgreSQL 8.2 – Oracle 10g – 874.17 813.73 JOPS JOPS  SPECjAppServer2004 2x Sun Fire  SPECjAppServer2004 1 HP rx2660 X4200 appservers (8 cores, 4 appserver (4 cores, 2 chips) and 1 chips) and 1 Sun Fire T2000 DB rx2660 DB server (4 cores, 2 server (8 cores, 1 chips) with chips) with Oracle Database 10g PostgreSQL 8.2.4 Enterprise Edition Release  HW: ~$60,000; SW: $0 10.2.0.2  HW: ~$74,000; SW: ~$110,000 Экономия $124000 для каждого сервера БД без потери производительности!                                                                                                                                                                                                                                                  *)  SPEC – Standard Performance Evaluation Corporation, http://spec.org Что нового в PostgreSQL 8.3 5
  • 6. HOT (Heap Only Tuples)  При обновлении (UPDATE) индекс не меняется, если:  UPDATE не затрагивает проиндексированные столбцы,  новая версия строки записывается на той же странице данных (heap).  «Моментальное» повторное использование места в heap без ожидания процесса VACUUM. Что нового в PostgreSQL 8.3 6
  • 7. Обновление без HOT Index 1 2 3 Page Header Item1 Ptr Item2 Ptr Item3 Ptr Heap Page 8kb UPDATE-2: row #1, v3 UPDATE-1: row #1, v2 INSERT: row #1, v1 Что нового в PostgreSQL 8.3 7
  • 8. HOT­обновление Index 1 Page Header Item1 Ptr Item2 Ptr Item3 Ptr Heap Page 8kb UPDATE-1: row #1, v2 UPDATE-2: row #1, v3 Что нового в PostgreSQL 8.3 8
  • 9. HOT (Heap Only Tuples)   Экономия дискового пространства  Ускорение обработки транзакций  Меньше работы для VACUUM Что нового в PostgreSQL 8.3 9
  • 10. Asynchronous Commit SET synchronous_commit TO OFF; Позволяет отложить fsync на небольшое время (COMMIT без ожидания fsync)  возможна потеря небольшой порции данных (порядка 0.2...1.0 сек)  нарушение целостности данных невозможно! (в отличие от fsync=off) Что нового в PostgreSQL 8.3 10
  • 11. Сглаживание контрольных точек  (checkpoint smoothing)  «Размазывание» процесса checkoint во времени, уменьшение интенсивности I/O-операций.  Работает только для background checkpoints (при выключении сервера и явном выполнении команды CHECKPOINT – полная скорость I/O- операций). Надёжность производительности — гарантированный уровень производительности без «проседаний» Что нового в PostgreSQL 8.3 11
  • 12. Synchronized Scans  Позволяет процессу «подсесть» к уже выполняющейся операции SeqScan другого процесса Сессия 1 Сессия 2 синхронизированный просмотр Что нового в PostgreSQL 8.3 12
  • 13. Кроме того  Autovacuum включён по умолчанию  Несколько параллельных процессов autovacuum  Экономия пространства (varvarlena)  VARLENA-значения менее 128 байт: 1 байт вместо 4!  заголовок строки: 24 байта вместо 27!  При «читающих» транзакциях xid не меняется  меньше записей в pg_clog!  Автонастройка bgwriter  ORDER BY ... LIMIT без полной сортировки («Top N» sorting) Что нового в PostgreSQL 8.3 13
  • 14. Пример миграции с 8.2 на 8.3 (Постгресмен)  OLTP-система  80-110 TPS  10% транзакций — модификация данных Интенсивность работы с диском снизилась (измерения за 4 недели) Что нового в PostgreSQL 8.3 14
  • 15. Пример миграции с 8.2 на 8.3 (Постгресмен) Загрузка системы снизилась Что нового в PostgreSQL 8.3 15
  • 16. Пример миграции с 8.2 на 8.3 (Постгресмен) Количество транзакций осталось на прежнем уровне Что нового в PostgreSQL 8.3 16
  • 17. Разработчикам баз данных Что нового в PostgreSQL 8.3 17
  • 18. Полнотекстовый поиск  contrib/tsearch2 --> ядро системы  Новый синтаксис  Упрощённое создание индекса (без триггера)  Простая миграция и апгрейд версии PostgreSQL с (8.3 на следующие версии) Что нового в PostgreSQL 8.3 18
  • 19. Поддержка XML  Новый тип данных: xml  Стандартные (ISO/ANSI SQL) функции публикации SQL/XML  DTD-валидация  XPath: функция xpath() (с поддержкой Namespaces)  Альтернативные функции экспорта объектов БД в XML  B-tree и GIN-индексы для XML-данных, полнотекстовый поиск Что нового в PostgreSQL 8.3 19
  • 20. Типы данных  GUID/UUID  enum  массивы составных типов Что нового в PostgreSQL 8.3 20
  • 21. Кроме того  Автоматическая инвалидация плана («чистка» кэша функций)  Table Function (RETURN QUERY)  Updatable Cursors  ORDER BY NULLS FIRST/LAST (ISO/ANSI SQL)  Поддержка NULL-значений в GiST-индексах Что нового в PostgreSQL 8.3 21
  • 22. Администраторам баз данных Что нового в PostgreSQL 8.3 22
  • 23. Кроме того  contrib/pg_standby – создание Warm Standby (Linux, Windows)  Удаление пользователя вместе со всеми принадлежащими ему объектами  GSSAPI (Active Directory)  Улучшенная сборка под Win32 (MS VC++) Что нового в PostgreSQL 8.3 23
  • 24. Проекты­спутники Что нового в PostgreSQL 8.3 24
  • 25. PL/pgSQL Debugger Что нового в PostgreSQL 8.3 25
  • 26. Продукты Skype  PL/Proxy – прокси-язык для удаленного вызова процедур и партицирования данных между разными базами (sharding)  PgBouncer – простой и быстрый менеджер соединений.  SkyTools  WalMgr  Londiste  PgQ Что нового в PostgreSQL 8.3 26
  • 27. Кроме того  pgSNMP – SNMP-агент для PostgreSQL (мониторинг)  SEPostgres – расширение, основанное на модели SELinux (безопасность)  phppgadmin: настройка Slony и полнотекстового поиска, автовакуума  Index Advisor Что нового в PostgreSQL 8.3 27
  • 28. Ссылки  Николай Самохвалов. PostgreSQL 8.3  http://postgresmen.ru/articles/view/78  Документация  http://www.postgresql.org/docs/8.3/interactive/  8.3 Feature List  http://www.postgresql.org/about/press/features83.html  PostgreSQL Feature Matrix  http://www.postgresql.org/about/featurematrix Что нового в PostgreSQL 8.3 28
  • 29. PostgreSQL 8.4 Об успешном будущем, фундамент которого создаётся уже сегодня Олег Бартунов Российское сообщество пользователей PostgreSQL, PostgreSQL Global Developmen Group, PostgreSQL Major Developer