Книги: декабрь
Jan. 12th, 2020 01:46 amAlex Petrov, «Database Internals»
Неплохой обзор технологий, связанных с хранением данных в СУБД и распределенными системами (подзаголовок книги — a deep dive into how distributed data systems work). Узнал для себя много нового.
В первой части на довольно низком уровне рассматриваются структуры хранения (в основном B-деревья и LSM-деревья со всякими вариациями): как это работает логически, как данные организованы физически и разложены по страницам, как все это взаимодействует с буферным кешем и журналом, как используются блокировки.
Вторая часть посвящена распределенным системам. Тут дается обзор используемых технологий и алгоритмов: обнаружение сбоев, выборы лидера, репликация данных, распределенные транзакции и достижение консенсуса. Что хочу сказать: как только начинается NoSQL, проблема согласованности реплик превращается в адское месиво, потому что под флагом CAP творят что хотят и изгаляются кто во что горазд. Надеюсь, что рано или поздно вся эта буйная поросль придет к чему-то удобоваримому, будет проглочена реляционными СУБД и на некоторое время наступит всеобщее щастье.
P. S. Удивило крайне низкое качество издания. Отсутствие лигатуры «fi», формулы набраны моноширинным шрифтом (!), ужасные рамочки вокруг иллюстраций... Думал лучше об O’Reilly.