TGViewer
Книжный куб Книжный куб @book_cube · 15.7K subscribers
Post #2648 3.24K
Designing Data-Intensive Applications (Рубрика #Architecture)

Я прочитал эту книгу в 2018 году и она реально помогла мне подтянуть знание в проектировании приложений, которые интенсивно работают с данными. Я писал про нее в своей популярной статье "Как прокачаться в проектировании программного обеспечения", где советовал 16 крутых книг по проектированию, которые отвечали на вопросы "Что делаем", "Как делаем" и "Как это эксплатируем". Но в этом канале эту книгу я не вспоминал, поэтому решил исправить это упущение, особенно с учетом того, что я уже начал читать готовящееся второе издание книги на платформе O'Reilly (там пока есть только 3 главы, а вся книга будет готова к концу 2025 года). Поэтому пока актуально еще первое издание, я расскажу о своих впечатлениях

- У меня есть бумажная версия книги на русском и на английском языках - книжка заслуживает быть в моей библиотеке в бумажном виде
- Иллюстрации в книге отличные (в новом издании они тоже хороши)
- Книгу в первый раз я читал долго, но теперь она читается очень легко
- Сама книга состоит из трех частей и 12 глав, ниже перечислены названия частей
-- Основы информационных систем
-- Распределенные данные
-- Производные данные

Первая часть является вводной и состоит из глав:
1. Надежные, масштабируемые и удобные в сопровождении системы
2. Модели данных и языки запросов — SQL, NoSQL, Map Reduce, Cypher и SparQL
3. Подсистемы хранения и извлечения данных — SSTables, LSM, B-Tree, Звезды и снежинки, столбцовое хранение данных
4. Кодирование и эволюция — json, xml, thrift, protobuf, avro. Миграции данных:)

Вторая часть включает в себя главы:
5. Репликация — синхронная/асинхронная, master/slave, master/master, no-master
6. Секционирование — типа ключ/значение, по диапазонам ключе, секционирование и репликация, секционирование и вторичные индексы, перебалансировка секций
7. Транзакции — ACID/BASE, 2PL(two-phase locking), SSI (serializable snapshot isolation)
8. Проблемы распределенных систем — сбои и отказы, ненадежные сети, ненадежные часы, знание/истина/ложь
9. Согласованность и консенсус

Часть 3 состоит из глав:
10. Пакетная обработка
11. Потоковая обработка
12. Будущее информационных систем

P.S.
Книга позволяет увидеть хорошее overview разных тем для тех, кому приходится проектировать/разрабатывать системы, которые хранят/обрабатывают данные:)

P.P.S.
С момента первого прочтения книги я прочел много других книг и мой изначальный восторг от книги Мартина Клеппмана поблек, но второе издание книги я жду с большим интересом. А чуть позже я сделаю обзор тех частей, что доступны в early preview этого второго издания.

#DistributedSystems #Architecture #SystemDesign #Software #SoftwareArchitecture
  • 👍 42
  • 🔥 8
  • 👀 4
  • ⚡ 3
  • ❤ 1
  • 👏 1
More from @book_cube
  1. Oct 2, 2026Stanford CME295: погружение в основы LLM (Рубрика #AI) Начал изучать курс Stanford CME295…
  2. Oct 2, 2026Заходите на прямой эфир с Сергеем Киселевым, head of devplatform в MWS, где мы обсудим тем…
  3. Oct 2, 2026Anthropic: кто будет делать следующий ИИ (Рубрика #AI) Если ИИ помогает создавать следующу…
  4. Oct 1, 20263 AImigo S1E8: AI-native: что это значит для компании? (Рубрика #Management) Раздать сотру…
  5. Oct 1, 2026AMD договорилась купить World Labs за $8,2 млрд (Рубрика #AI) Я уже разбирал доклад Фей-Фе…
  6. Oct 1, 2026Заходите на прямой эфир с Никитой Белокопытовым, где мы с ним поговорим про его карьеру и…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →