Top Banner
Новый PostgreSQL 8.3 Иван Золотухин SHIFT_expectations
55

20080415 Rit2008 Postgresql8.3 Zolotukhin

May 18, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Новый PostgreSQL 8.3

Иван Золотухин

SHIFT_expectations

Page 2: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Ну, 8.3 - понятно

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 3: 20080415 Rit2008 Postgresql8.3 Zolotukhin

А что такое PostgreSQL?

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 4: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Самая продвинутая open-source СУБД,

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 5: 20080415 Rit2008 Postgresql8.3 Zolotukhin

быстрая и функциональная

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 6: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Подробности — в буклете

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 7: 20080415 Rit2008 Postgresql8.3 Zolotukhin

ОК, PostgreSQL 8.3

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 8: 20080415 Rit2008 Postgresql8.3 Zolotukhin

15 месяцев

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 9: 20080415 Rit2008 Postgresql8.3 Zolotukhin

десятки разработчиков

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 10: 20080415 Rit2008 Postgresql8.3 Zolotukhin

18 стран

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 11: 20080415 Rit2008 Postgresql8.3 Zolotukhin

280 патчей

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 12: 20080415 Rit2008 Postgresql8.3 Zolotukhin

титанический труд

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 13: 20080415 Rit2008 Postgresql8.3 Zolotukhin

совершенная система

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 14: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Как мы мигрировали МирТесен.ру

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 15: 20080415 Rit2008 Postgresql8.3 Zolotukhin

дело было в четверг вечером...

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 16: 20080415 Rit2008 Postgresql8.3 Zolotukhin

...в пятницу днем я поседел

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 17: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Я не поверил своим глазам

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 18: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Я не поверил своим глазам

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 19: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Я не поверил своим глазам

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 20: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Я не поверил своим глазам

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 21: 20080415 Rit2008 Postgresql8.3 Zolotukhin

...и только потом я поседел обратно

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 22: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Ммм, супер! А как оно так получилось?

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 23: 20080415 Rit2008 Postgresql8.3 Zolotukhin

HOT (читается ХОТ)

Heap Only Tuples

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 24: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Было

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Heap Page8kb

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 3Index

Page 25: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Стало

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Heap Page8kb

Page Header Item1 Ptr Item2 Ptr Item3 Ptr

Item 2: row #1, v2 Item 3: row #1, v3

1Index 3

Page 26: 20080415 Rit2008 Postgresql8.3 Zolotukhin

HOT

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

- ускорение UPDATE- ускорение VACUUM- ускорение SELECT COUNT(*) - уменьшение размера таблиц

Page 27: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Asynchronous commit

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 28: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Асинхронные транзакции

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 29: 20080415 Rit2008 Postgresql8.3 Zolotukhin

SET synchronous_commit

TO OFF;

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 30: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Checkpoint smoothing

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 31: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Сглаживание контрольных точек

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 32: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Synchronized Scans

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Сессия 1

Сессия 2

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

Page 33: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Autovacuum включён по умолчанию

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 34: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Запуск нескольких процессов

autovacuum

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 35: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Заметная (до 10%!) экономия дискового

пространства

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 36: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Читающие транзакции не

мотают xid

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 37: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Значит, светлое будущее совсем

близко!(Master-Slave)

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 38: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Top-N Sorting

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 39: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Значительно ускорен ORDER BY ... LIMIT

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 40: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Миграция tsearch2 в ядро!

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 41: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Это фантастика: 1.5МБ (в гзипе),

патч v.59

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 42: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Поддержка XML

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 43: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Тип данных, DTD, публикация, XPath,

индексы

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 44: 20080415 Rit2008 Postgresql8.3 Zolotukhin

И даже это еще не всё

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 45: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Автоматическая инвалидация плана, RETURN QUERY, Updatable

Cursors, ORDER BY NULLS FIRST/LAST, NULL в GiST,

GUID/UUID, enum, композитные массивы, больше информации в

EXPLAIN, GSSAPI (Active Directory), contrib/pg_standby

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 46: 20080415 Rit2008 Postgresql8.3 Zolotukhin

ALTER FUNCTION log_data(text)COST 10000 ROWS 1;

ALTER FUNCTION log_data(text) SET synchronous_commit TO OFF;

CREATE TABLE dict2 (LIKE dictionary INCLUDING INDEXES);

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 47: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Производительность на платформе

Windows

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 48: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Сборка с помощьюMicrosoft VC++

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 49: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Debugger + profiler

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 50: 20080415 Rit2008 Postgresql8.3 Zolotukhin

И многие другие сопутствующие

проекты(skype)

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 51: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Промышленный тест от Sun

(опубликовано на spec.org)

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 52: 20080415 Rit2008 Postgresql8.3 Zolotukhin

PostgreSQL быстрее MySQL и сравним с

Oracle

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 53: 20080415 Rit2008 Postgresql8.3 Zolotukhin

PostgreSQL при той же

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

дешевле на

$118 500

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 54: 20080415 Rit2008 Postgresql8.3 Zolotukhin

PostgreSQL — это не только модно, но и

быстро

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3

Page 55: 20080415 Rit2008 Postgresql8.3 Zolotukhin

Задавайте вопросы

[email protected]://postgresmen.ru

Иван Золотухин Иван Золотухин Новый PostgreSQL 8.3Новый PostgreSQL 8.3