egorius: (Default)
2020-01-12 01:46 am

Книги: декабрь

Alex Petrov, «Database Internals»

Неплохой обзор технологий, связанных с хранением данных в СУБД и распределенными системами (подзаголовок книги — a deep dive into how distributed data systems work). Узнал для себя много нового.

В первой части на довольно низком уровне рассматриваются структуры хранения (в основном B-деревья и LSM-деревья со всякими вариациями): как это работает логически, как данные организованы физически и разложены по страницам, как все это взаимодействует с буферным кешем и журналом, как используются блокировки.

Вторая часть посвящена распределенным системам. Тут дается обзор используемых технологий и алгоритмов: обнаружение сбоев, выборы лидера, репликация данных, распределенные транзакции и достижение консенсуса. Что хочу сказать: как только начинается NoSQL, проблема согласованности реплик превращается в адское месиво, потому что под флагом CAP творят что хотят и изгаляются кто во что горазд. Надеюсь, что рано или поздно вся эта буйная поросль придет к чему-то удобоваримому, будет проглочена реляционными СУБД и на некоторое время наступит всеобщее щастье.

P. S. Удивило крайне низкое качество издания. Отсутствие лигатуры «fi», формулы набраны моноширинным шрифтом (!), ужасные рамочки вокруг иллюстраций... Думал лучше об O’Reilly.