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