PostgreSQL изнутри
Мой коллега Егор Рогов из ППГ недавно издал книгу “PostgreSQL изнутри”. Книгу можно бесплатно скачать в формате pdf на сайте Postgres Professional. Для любителей читать книги, сделанные из переработанных трупов зверски убитых деревьев, ее без труда можно найти на сайте “ДМК Пресс”.
Грех было не воспользоваться такой возможностью, поэтому книгу я прочитал. И рекомендую ее DBA и разработчикам ПО, которые хотят понимать, что же они творят, вместо того, чтобы, как обезьянка, стучать по кнопочкам клавиатуры. Правда, из минусов, чтобы ее читать, надо хотя бы смутно понимать, как работают БД, и уметь в SQL.
Очень понравилось логика повествования — от объяснения понятия изоляции (и уровней изоляции), к MVCC (многоверсионность), буферному кэшу и WAL-логу (журнал предзаписи), а потом к объяснению, как на самое деле исполняются запросы внутри БД. И на закуску — все многообразие типов индексов в Postgres.
Книгу я читал перед сном, но то ли профессиональная деформация, то ли что-то еще, но иногда зачитывался так, что ложился на час позже обычного.
Меня после прочтения книги поразило другое. Когда читаешь про все эти компоненты и кучу оптимизаций в pg, то понимаешь, сколько же тысяч человеко-лет вложено в него, чтобы мы могли написать “селект звездочка фром тейбл”. И главное, что обычно БД просто работает. Я давно подозревал, что БД — это самое сложное, что когда-либо писало человечество, и, читая книгу, в очередной раз убедился в верности своего предположения.
Егору Рогову хочется выразить личную благодарность за такой титанический труд.