(←) предыдущая запись ; следующая запись (→)
Читаю отличную книгу “Designing data-intensive applications” aka “книга с кабанчиком”. Даёт прямо отличное описание сложностей и решений, которые возникают при разработке баз данных.
Приступил к очередной главе. Она начинается в духе: “Хотя мы много с вами говорили о том, как именно всё может пойти не так, и что делать в этих случаях, последние главы были как-то слишком оптимистичны. А сейчас будет thoroughly pessimistic and depressing overview of things that may go wrong in a distributed system”.
Последняя “пара всё ещё слишком оптимистичных глав” на протяжении 100 страниц рассказывала:
- о том, как тяжело делать репликацию, потому что конфликты и постоянно что-то ломается
- как тяжело делать партиционирование, потому что фиг знает, кто за что отвечает, и постоянно что-то дочери
- как фигово тяжело делать ACID-транзакции, потому что всё работает некорректно, либо всё ещё некорректно, но вдобавок медленно.
Ну и только последние страниц пять рассказывали, что всё-таки есть сравнительно быстрые способы делать корректные serializable транзакции.
Чувствую, сейчас будет совсем расчленёнка. Люблю такое!