'

PostgreSQL 8.4

Понравилась презентация – покажи это...





Слайд 0

Что нового в PostgreSQL 8.3? PostgreSQL 8.4 Олег Бартунов Российское сообщество пользователей PostgreSQL, PostgreSQL Global Developmen Group, PostgreSQL Major Developer Николай Самохвалов Российское сообщество пользователей PostgreSQL, ООО «Постгресмен» 2008 – удачный год для начала использования PostgreSQL Об успешном будущем, фундамент которого создаётся уже сегодня


Слайд 1


Слайд 2

Что нового в PostgreSQL 8.3 Более 280 патчей Десятки разработчиков из 18 стран 15 месяцев разработки и тестирования


Слайд 3

Что нового в PostgreSQL 8.3 4 Производительность Разработчикам баз данных Администраторам баз данных Проекты сторонних разработчиков Новое PostgreSQL 8.3


Слайд 4

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


Слайд 5

Что нового в PostgreSQL 8.3 6 Summer 2007: The 1st PostgreSQL Enterprise-level Benchmark (SPEC*)? PostgreSQL 8.2 – 813.73 JOPS SPECjAppServer2004 2x Sun Fire X4200 appservers (8 cores, 4 chips) and 1 Sun Fire T2000 DB server (8 cores, 1 chips) with PostgreSQL 8.2.4 HW: ~$65,000; SW: $0 Josh Berkus: «...a good day for Open Source» *) SPEC – Standard Performance Evaluation Corporation, http://spec.org Oracle 10g – 874.17 JOPS SPECjAppServer2004 1 HP rx2660 appserver (4 cores, 2 chips) and 1 rx2660 DB server (4 cores, 2 chips) with Oracle Database 10g Enterprise Edition Release 10.2.0.2 HW: ~$74,000; SW: ~$110,000 Экономия $118500 для каждого сервера БД без потери производительности!


Слайд 6

Что нового в PostgreSQL 8.3 7 Индексы: GiST и GIN (Фёдор Сигаев, Олег Бартунов)? GiST GIN


Слайд 7

Что нового в PostgreSQL 8.3 8 HOT (Heap Only Tuples)? При обновлении (UPDATE) индекс не меняется, если: UPDATE не затрагивает проиндексированные столбцы, новая версия строки записывается на той же странице данных (heap). «Моментальное» повторное использование места в heap без ожидания процесса VACUUM.


Слайд 8

Что нового в PostgreSQL 8.3 9 Обновление без HOT Heap Page 8kb Page Header Item1 Ptr Item2 Ptr Item3 Ptr Item 2: row #1, v2 Item 1: row #1, v1 Item 3: row #1, v3 1 2 3 Index


Слайд 9

Что нового в PostgreSQL 8.3 10 HOT-обновление Heap Page 8kb Page Header Item1 Ptr Item2 Ptr Item3 Ptr Item 2: row #1, v2 Item 3: row #1, v3 1 Index 2


Слайд 10

Что нового в PostgreSQL 8.3 11 Asynchronous Commit SET synchronous_commit TO OFF; Позволяет отложить fsync на небольшое время (COMMIT без ожидания fsync)? возможна потеря небольшой порции данных (порядка 0.2...1.0 сек)? нарушение целостности данных невозможно! (в отличие от fsync=off)?


Слайд 11

Что нового в PostgreSQL 8.3 12 Надёжность производительности


Слайд 12

Что нового в PostgreSQL 8.3 13 Сглаживание контрольных точек (checkpoint smoothing)? «Размазывание» процесса checkoint во времени, уменьшение интенсивности I/O-операций. Работает только для background checkpoints (при выключении сервера и явном выполнении команды CHECKPOINT – полная скорость I/O-операций).


Слайд 13

Что нового в PostgreSQL 8.3 14 Устройство PostgreSQL


Слайд 14

Что нового в PostgreSQL 8.3 15 Synchronized Scans Позволяет процессу «подсесть» к уже выполняющейся операции SeqScan другого процесса Сессия 1 Сессия 2 синхронизированный просмотр


Слайд 15

Что нового в PostgreSQL 8.3 16 Кроме того Autovacuum включён по умолчанию Несколько параллельных процессов autovacuum Экономия пространства (varvarlena)? VARLENA-значения менее 128 байт: 1 байт вместо 4! заголовок строки: 24 байта вместо 27! При «читающих» транзакциях xid не меняется меньше записей в pg_clog! Автонастройка bgwriter ORDER BY ... LIMIT без полной сортировки («Top N» sorting)?


Слайд 16

Что нового в PostgreSQL 8.3 17 Пример перехода с 8.2 на 8.3 OLTP-система 80-130 TPS 10% транзакций — модификация данных


Слайд 17

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


Слайд 18

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


Слайд 19

Что нового в PostgreSQL 8.3 20 Полнотекстовый поиск CREATE TEXT SEARCH DICTIONARY russian_ispell ( TEMPLATE = ispell, DictFile = russian, -- расширение (.dict) добавится автоматически AffFile = russian, StopWords = russian ); ALTER TEXT SEARCH CONFIGURATION utf8_russian ADD MAPPING FOR hword, word WITH russian_ispell, russian_stop; CREATE INDEX i_person__tsvector ON person USING gin(obj_tsvector); CREATE INDEX i_person__tsvector ON person USING gin(to_tsvector('russian', person_name || person_description));


Слайд 20

Что нового в PostgreSQL 8.3 21 Полнотекстовый поиск SELECT ts_rank_cd(obj_tsvector, q) AS rank, person_name FROM person, plainto_tsquery('футбол ясенево') q WHERE q @@ obj_tsvector ORDER BY rank DESC LIMIT 50;


Слайд 21

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


Слайд 22

Что нового в PostgreSQL 8.3 23 Поддержка XML SQL: SELECT XMLROOT ( XMLELEMENT ( NAME ’some’, XMLATTRIBUTES ( ’val’ AS ’name’, 1 + 1 AS ’num’ ), XMLELEMENT ( NAME ’more’, ’foo’ )? ), VERSION ’1.0’, STANDALONE YES ); Результат: <?xml version=’1.0’ standalone=’yes’ ?> <some name=’val’ num=’2’> <more>foo</more> </some>


Слайд 23

Что нового в PostgreSQL 8.3 24 Поддержка XML SELECT * FROM table1 WHERE ((xpath('//person/@smpl:pid', xdata, ARRAY[ARRAY['smpl', 'http://example.com']]))[1])::text = '111'; CREATE INDEX i_table1_xdata ON table1 USING btree( (((xpath('//person/@smpl:pid', xdata, ARRAY[ARRAY['smpl', 'http://example.com']]))[1])::text)? ); ------------------------------------------------------------------ SELECT * FROM table1 WHERE ARRAY['111'] <@ xpath('//person/@smpl:pid', xdata, ARRAY[ARRAY['smpl', 'http://example.com']])::text[]; CREATE INDEX i_table1_xdata ON table USING gin((xpath('//person/@smpl:pid', xdata, ARRAY[ARRAY['smpl', 'http://example.com']])::text[]));


Слайд 24

Что нового в PostgreSQL 8.3 25 Типы данных GUID/UUID enum массивы составных типов


Слайд 25

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


Слайд 26

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


Слайд 27

Что нового в PostgreSQL 8.3 28 EXPLAIN: больше информации QUERY PLAN ---------------------------------------------------------------------------------- Sort (cost=34.38..34.42 rows=13 width=176) (actual time=0.946..0.948 rows=6 loops=1)? Sort Key: obj2tag.o2t_tag_name Sort Method: quicksort Memory: 18kB -> Hash Join (cost=19.19..34.14 rows=13 width=176) (actual time=0.812..0.835 rows=6 loops=1)? Hash Cond: (obj2tag.o2t_tag_obj_id = tag.obj_id)? -> Bitmap Heap Scan on obj2tag (cost=4.43..19.21 rows=13 width=172) (actual time=0.079..0.093 rows=6 loops=1)? Recheck Cond: (o2t_obj_obj_id = 179313440)? Filter: (obj_status_did = 1)? -> Bitmap Index Scan on u_obj2tag_ids (cost=0.00..4.43 rows=24 width=0) (actual time=0.037..0.037 rows=24 loops=1)? Index Cond: (o2t_obj_obj_id = 179313440)? -> Hash (cost=9.89..9.89 rows=389 width=12) (actual time=0.700..0.700 rows=389 loops=1)? -> Seq Scan on tag (cost=0.00..9.89 rows=389 width=12) (actual time=0.012..0.396 rows=389 loops=1)? Total runtime: 1.064 ms (13 rows)?


Слайд 28

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


Слайд 29

Что нового в PostgreSQL 8.3 30 Кроме того Оценки стоимости вызовов функций: ALTER FUNCTION log_data(text)? COST 100000 ROWS 1; Per-function GUC settings: ALTER FUNCTION log_data(text)? SET synchronous_commit TO OFF; Создание таблиц по «подобию»: CREATE TABLE dict2 (LIKE dictionary INCLUDING INDEXES);


Слайд 30

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


Слайд 31

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


Слайд 32

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


Слайд 33

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


Слайд 34

Что нового в PostgreSQL 8.3 35 Ссылки Николай Самохвалов. 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


×

HTML:





Ссылка: