Илья Космодемьянский — Внутреннее устройство PostgreSQL для практикующих инженеров

 

Илья Космодемьянский, эксперт компании PostgreSQL-Consulting.com — Внутреннее устройство PostgreSQL для практикующих инженеров. Встреча CodeFreeze в Москве, 22.09.2015 Понимание архитектуры используемой СУБД очень важно для правильной эксплуатации, но местами переоценено: администратору, DevOps-специалисту или разработчику прикладных систем вовсе необязательно знать подробности внутреннего устройства B-дерева или тонкости работы легковесных блокировок. Это, конечно, все очень интересно, но существенно загромождает главы Concepts соответствующих руководств или доклады про архитектуру СУБД и оставляет практическим специалистам существенно меньше времени на более важные и насущные с точки зрения повседневной эксплуатации базы данных проблемы. В рамках данного семинара, мы эту проблему попробовали устранить и рассмотреть несколько жизненно-важных систем PostgreSQL со следующих точек зрения: теоретические основы; практическая реализация и суровая практика ежедневной эксплуатации. Главной основой любой базы данных является транзакционная машина. Как она реализованная в PostgreSQL? Какие алгоритмы и протоколы лежат в основе? Как в PostgreSQL реализованы Undo и Redo? Как устроен Write Ahead Log? Для чего нужен и как работает автовакуум? Какие могут быть проблемы в работе всех этих систем? Их мониторинг и настройка: как найти и исправить проблемы? После семинара слушатели не только узнали теоретические основы работы MVCC в PostgreSQL, но и представили: как это может сказаться, например, на производительности; как опознать это на мониторинге; какими настройками и подходами к написанию приложений ситуацию можно улучшить. Говоря о каждой системе PostgreSQL мы сравнивали их с другими СУБД, такими как Oracle, IBM DB2 LUW, MS SQL Server — чтобы специалистам, имеющим опыт с другими СУБД было быстрее и проще разобраться.