TGViewer
Книжный куб Книжный куб @book_cube · 15.8K subscribers
Post #2339 2.89K
[3/3] Cassandra: The Definitive Guide, 3rd edition (Рубрика #Architecture)

Этим постом я заканчиваю рассказывать о книге про Cassandra (предыдущие посты: 1 и 2).

7. Designing Applications with Cassandra - авторы разбирают дизайн приложения для букинга отелей и выбирают микросервисный подход из-за обеспечения инкапсуляции логики внутри сервисов, наличия автономности для деплоя сервисов, а также независимого масштабирования при необходимости. Для проектирования авторы предлагают итеративно работать над UX design, data modeling, architecture. С точки зрения проектирования авторы начинают с идентификации bounded context, идентификации сервисов, дизайна persistence для микросервисов. Причем авторы ратуют за polglot persistence, где мы можем выбирать разные базы для разных сценариев (RDBMS, Document-oriented, Wide-column, graph databases, ...). В итоге, у нас получаются bounded contexts и наборы query для получения данных - это можно использовать для моделирования данных с использование Chebotko diagrams. Тут же авторы рассказывают про secondary indexes, свою часть которых должна хранить каждая нода. А также про материализованные представления (materialized views), которые позволяют хранить преконфигурированное view, которое помогает с запросами, которые основаны на одной из колонок, что не входят в primary key.

8. Application Development with Drivers - рассказ про возможности драйверо для работы с Cassandra. Так как книга была написана уже давно, то рекомендую почитать доки к последнему драйверу для Java от DataStax.

9. Writing and Reading Data - авторы рассказывают и показывают как писать и читать в Cassandra с учетом tunable consistency. Они объясняют как выглядит write path и read path с учетом схемы деплоймента кластера, а также работы движка хранения (Commit logs, Memtable, SSTable, LWT). Также авторы рассказывают как работает батчевая запись, read repair, запросы по диапозонам, сортировка, фильтрация, пейджинация и удаление записей.

10. Configuring and Deploying Cassandra - авторы показывают как задеплоить свой Cassandra кластер при помощи ccm (Cassandra cluster management). Если у вас Cassandra предоставляется ни как сервис, то вам стоит внимательно прочитать эту главу (а тем у кого это сервис читать можно менее внимательно:) )

11. Monitoring - эта глава посвящена мониторингу кассандры. Авторы рассказывают про использование jmx, nodetool и virtual tables, которые предоставляют метаданные о нодах и таблицах через стандартный CQL. Также в этой главе упоминается про логгирование Cassandra

12. Maintenance - из этой главы становится ясно, что поддержка Cassandra совсем не тривиальная задача:)
13. Performance Tuning - авторы предлагают использовать USE для анализа performance и дальше они рассказывают про то, как устроить стресс-тестирование кластеру, а потом про ее тюнинг за счет кеширования, настройки memtables, sstables, commit logs, hinted handoff, compaction, concurrency и тредов, сети и выставленных таймаутов. А напоследок авторы разбирают настройки JVM, что влияют на perf Кассандры.

14. Security - глава начинается с того, а как устроена аутентификация и авторизация в Cassandra, например, авторы рассказывают про RBAC. Дальше наступает время обсудить encryption (сертификаты, node-to-node и client-to-node encryption) и опции безопасности, что можно настроить в JMX. А напоследок в главе рассказывается про audit logging и как его можно настроить

15. Migrating and Integrating - эта глава рассказывает как переехать с RDBMS на Cassandra и авторы выдают следующий алгоритм
- Понять когда пора мигрировать (авторы приводят список триггеров)
- Адаптировать модель данных (entity, relationships)
- Адаптировать приложение (поменять способы доступа к данным, способы поддержания консистентности, избавиться от хранимок (авторы рассказывают про UDF в Cassandra))
- Распланировать схему деплоя и смигрировать данные (предлагается стандартная схема без даунтайма с параллельной работой с новой/старой базой на уровне приложения)

#Software #Architecture #DistributedSystems #SystemDesign
Telegram Книжный куб Cassandra: The Definitive Guide, 3rd edition (Рубрика #Architecture) Уже больше года назад я прочитал эту книгу про популярную NoSQL базу данных и запланировал написать краткое саммари. Но когда я начал писать саммари, то понял, что сначала нужно сделать…
  • ❤ 5
  • 👍 5
  • 🔥 2
More from @book_cube
  1. Sep 21, 2026Research Insights Made Simple #30: Developer Productivity for Humans (Рубрика #Management)…
  2. Sep 21, 2026Y Combinator: железо, агенты и основатели (Рубрика #AI) В свежем выпуске The Lightcone «Th…
  3. Sep 20, 2026Jev: интеллект для обычного if (Рубрика #AI4SDLC) В предыдущем посте Диогу Алмейда предлаг…
  4. Sep 20, 2026Диогу Алмейда: AI, за которым можно не присматривать (Рубрика #AI4SDLC) Почему AI впечатля…
  5. Sep 20, 2026Материалы 3 AImigo S1E6: как не утонуть в потоке AI-изменений и сохранить силы (Рубрика #A…
  6. Sep 20, 2026Regenerative Software — Чад Фаулер (Рубрика #Books) Книга ещё не дописана, а рекомендовать…
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 →