More Related Content Similar to Владимир Бородин - PostgreSQL (20) Владимир Бородин - PostgreSQL3. 3
Черновой список тем для КИТ 5
• Универсальная реляционная
транзакционная СУБД Oracle
• Легковесная реляционная
высокопроизводительная СУБД MySQL
• PostgreSQL
• Документо-ориентированная горизонтально
масштабируемая NoSQL СУБД MongoDB
5. 5
Немного истории
• С 1973 года Ingres (Стоунбрейкер и Вон)
• С 1986 года Postgres (Post Ingres)
• В 1997 году Postgres95 переименован в
PostgreSQL
17. 17
Надёжность
• Зрелая СУБД
• Отличная кодовая база
• Грамотная архитектура
• Community
18. 18
Отказоустойчивость
• Write ahead logging
• Crash recovery
• Поточная репликация:
– Асинхронная/синхронная
– Каскадная
• Логическая репликация (с 9.4)
• Горячие бэкапы
• PITR
21. 21
Производительность
• MVCC
• Процессная модель хорошо
масштабируется на много процессоров/ядер
• Легко убивает дисковую подсистему
22. • Oracle
– 12K rps
– CPU
• PostgreSQL
– 3K rps
– I/O
• MySQL
– 1K rps
– I/O
22 Производительность на нашей нагрузке
24. 24
Расширяемость
• Операторы
• Типы данных
• Функции
• Access methods
• Процедурные языки
• Индексы
• Расширения
25. 25
Типы данных
• Стандартные
• Геометрические (points, lines, boxes, paths, polygons, …)
• Сетевые адреса (inet, cidr, macaddr)
• UUID
• JSON
• Композитные типы
• Range-типы
• ARRAY
• Битовые строки
• Текстовый поиск (tsvector, tsquery)
• ISBN
• XML
26. 26
Процедурные языки
• PL/pgSQL
• PL/Tcl
• PL/Perl
• PL/Python
• PL/Java
• PL/PHP
• PL/Py
• PL/R
• PL/Ruby
• PL/Scheme
• PL/sh
27. 27
Индексы
• Типы:
– Compound
– Unique
– Partial
– Functional
• Access methods:
– B-Tree
– R-Tree
– Hash
– GIST
– SP-GiST
– GIN
– VODKA (с 9.5)
• GIN
• PostGIS
• OpenFTS
• BRIN (с 9.5)
28. 28
Foreign data wrappers
• PostgreSQL
• Oracle
• MongoDB
• MySQL
• Redis
• Neo4j
• File
• ODBC/JDBC
• Hadoop
29. 29
contrib
• pg_stat_statements
• pg_buffercache
• pg_prewarm
• pgbench
• pg_upgrade
• autoexplain
• pg_crypto
• pg_rewind
• ...
30. 30
Другие особенности
• Table inheritance
– Так работает partitioning
– http://www.postgresql.org/message-id/20140829155607.GF7705@eldon.alvh.no-ip.org
• Event system (LISTEN/NOTIFY)
41. 41
Почитать
• http://www.postgresql.org/docs/current/static/index.html
• find src -name README
• http://www.postgresql.org/about/featurematrix/
42. Владимир Бородин
Системный администратор
d0uble@yandex-team.ru
+7 495 739-70-00 (доб. 7255)
119021, Москва, ул. Льва
Толстого, 18Б
Спасибо