PostgreSQL 8.3
2008 – удачный год для начала использования PostgreSQL



                                      Николай Сам...
Работа над PostgreSQL 8.3

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



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

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

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




    ...
Производительность




      Что нового в PostgreSQL 8.3   4
Лето 2007: The 1st PostgreSQL
                                                  Enterprise-level Benchmark (SPEC*)
       ...
HOT (Heap Only Tuples)

   При обновлении (UPDATE) индекс
    не меняется, если:
       UPDATE не затрагивает
        пр...
Обновление без HOT

                 Index      1     2    3



            Page Header         Item1 Ptr Item2 Ptr Item3 ...
HOT­обновление

                 Index      1



            Page Header         Item1 Ptr Item2 Ptr Item3 Ptr




Heap Pa...
HOT (Heap Only Tuples) 

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

SET synchronous_commit TO OFF;

Позволяет отложить fsync на небольшое время
(COMMIT без ожидания fsyn...
Сглаживание контрольных точек 
     (checkpoint smoothing)

   «Размазывание» процесса checkoint во времени,
    уменьшен...
Synchronized Scans

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

    С...
Кроме того

   Autovacuum включён по умолчанию
   Несколько параллельных процессов autovacuum
   Экономия пространства ...
Пример миграции с 8.2 на 8.3
                           (Постгресмен)
   OLTP-система
   80-110 TPS
   10% транзакций —...
Пример миграции с 8.2 на 8.3
                         (Постгресмен)




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




                   ...
Пример миграции с 8.2 на 8.3
                         (Постгресмен)




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

...
Разработчикам баз данных




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

   contrib/tsearch2 --> ядро системы
   Новый синтаксис
   Упрощённое создание индекса (без
    т...
Поддержка XML

   Новый тип данных: xml
   Стандартные (ISO/ANSI SQL) функции
    публикации SQL/XML
   DTD-валидация
...
Типы данных


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




                Что нового в PostgreSQL 8.3   20
Кроме того
   Автоматическая инвалидация плана («чистка»
    кэша функций)
   Table Function (RETURN QUERY)
   Updatabl...
Администраторам баз данных




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


   contrib/pg_standby – создание Warm Standby (Linux,
    Windows)
   Удаление пользователя вместе со всеми...
Проекты­спутники




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




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


   pgSNMP – SNMP-агент для PostgreSQL
    (мониторинг)
   SEPostgres – расширение, основанное на
    модели...
Ссылки

   Николай Самохвалов. PostgreSQL 8.3
       http://postgresmen.ru/articles/view/78
   Документация
       htt...
PostgreSQL 8.4
Об успешном будущем, фундамент которого создаётся уже сегодня


                                           ...
Upcoming SlideShare
Loading in...5
×

20080424 Cdb2008 Postgresql8.3 Samokhvalov

666
-1

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
666
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20080424 Cdb2008 Postgresql8.3 Samokhvalov

  1. 1. PostgreSQL 8.3 2008 – удачный год для начала использования PostgreSQL Николай Самохвалов ООО «Постгресмен» Российское сообщество пользователей PostgreSQL Корпоративные базы данных 2008 Москва, 24 апреля 2008
  2. 2. Работа над PostgreSQL 8.3  Более 280 пакетов улучшений кода  Десятки разработчиков из 18 стран  7 месяцев разработки и 8 месяцев интеграции и тестирования
  3. 3. Новое PostgreSQL 8.3  Производительность  Разработчикам баз данных  Администраторам БД  Проекты-спутники Что нового в PostgreSQL 8.3 3
  4. 4. Производительность Что нового в PostgreSQL 8.3 4
  5. 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. 6. HOT (Heap Only Tuples)  При обновлении (UPDATE) индекс не меняется, если:  UPDATE не затрагивает проиндексированные столбцы,  новая версия строки записывается на той же странице данных (heap).  «Моментальное» повторное использование места в heap без ожидания процесса VACUUM. Что нового в PostgreSQL 8.3 6
  7. 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. 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. 9. HOT (Heap Only Tuples)   Экономия дискового пространства  Ускорение обработки транзакций  Меньше работы для VACUUM Что нового в PostgreSQL 8.3 9
  10. 10. Asynchronous Commit SET synchronous_commit TO OFF; Позволяет отложить fsync на небольшое время (COMMIT без ожидания fsync)  возможна потеря небольшой порции данных (порядка 0.2...1.0 сек)  нарушение целостности данных невозможно! (в отличие от fsync=off) Что нового в PostgreSQL 8.3 10
  11. 11. Сглаживание контрольных точек  (checkpoint smoothing)  «Размазывание» процесса checkoint во времени, уменьшение интенсивности I/O-операций.  Работает только для background checkpoints (при выключении сервера и явном выполнении команды CHECKPOINT – полная скорость I/O- операций). Надёжность производительности — гарантированный уровень производительности без «проседаний» Что нового в PostgreSQL 8.3 11
  12. 12. Synchronized Scans  Позволяет процессу «подсесть» к уже выполняющейся операции SeqScan другого процесса Сессия 1 Сессия 2 синхронизированный просмотр Что нового в PostgreSQL 8.3 12
  13. 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. 14. Пример миграции с 8.2 на 8.3 (Постгресмен)  OLTP-система  80-110 TPS  10% транзакций — модификация данных Интенсивность работы с диском снизилась (измерения за 4 недели) Что нового в PostgreSQL 8.3 14
  15. 15. Пример миграции с 8.2 на 8.3 (Постгресмен) Загрузка системы снизилась Что нового в PostgreSQL 8.3 15
  16. 16. Пример миграции с 8.2 на 8.3 (Постгресмен) Количество транзакций осталось на прежнем уровне Что нового в PostgreSQL 8.3 16
  17. 17. Разработчикам баз данных Что нового в PostgreSQL 8.3 17
  18. 18. Полнотекстовый поиск  contrib/tsearch2 --> ядро системы  Новый синтаксис  Упрощённое создание индекса (без триггера)  Простая миграция и апгрейд версии PostgreSQL с (8.3 на следующие версии) Что нового в PostgreSQL 8.3 18
  19. 19. Поддержка XML  Новый тип данных: xml  Стандартные (ISO/ANSI SQL) функции публикации SQL/XML  DTD-валидация  XPath: функция xpath() (с поддержкой Namespaces)  Альтернативные функции экспорта объектов БД в XML  B-tree и GIN-индексы для XML-данных, полнотекстовый поиск Что нового в PostgreSQL 8.3 19
  20. 20. Типы данных  GUID/UUID  enum  массивы составных типов Что нового в PostgreSQL 8.3 20
  21. 21. Кроме того  Автоматическая инвалидация плана («чистка» кэша функций)  Table Function (RETURN QUERY)  Updatable Cursors  ORDER BY NULLS FIRST/LAST (ISO/ANSI SQL)  Поддержка NULL-значений в GiST-индексах Что нового в PostgreSQL 8.3 21
  22. 22. Администраторам баз данных Что нового в PostgreSQL 8.3 22
  23. 23. Кроме того  contrib/pg_standby – создание Warm Standby (Linux, Windows)  Удаление пользователя вместе со всеми принадлежащими ему объектами  GSSAPI (Active Directory)  Улучшенная сборка под Win32 (MS VC++) Что нового в PostgreSQL 8.3 23
  24. 24. Проекты­спутники Что нового в PostgreSQL 8.3 24
  25. 25. PL/pgSQL Debugger Что нового в PostgreSQL 8.3 25
  26. 26. Продукты Skype  PL/Proxy – прокси-язык для удаленного вызова процедур и партицирования данных между разными базами (sharding)  PgBouncer – простой и быстрый менеджер соединений.  SkyTools  WalMgr  Londiste  PgQ Что нового в PostgreSQL 8.3 26
  27. 27. Кроме того  pgSNMP – SNMP-агент для PostgreSQL (мониторинг)  SEPostgres – расширение, основанное на модели SELinux (безопасность)  phppgadmin: настройка Slony и полнотекстового поиска, автовакуума  Index Advisor Что нового в PostgreSQL 8.3 27
  28. 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. 29. PostgreSQL 8.4 Об успешном будущем, фундамент которого создаётся уже сегодня Олег Бартунов Российское сообщество пользователей PostgreSQL, PostgreSQL Global Developmen Group, PostgreSQL Major Developer
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×