Книжный куб
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре (no ads in channel)
Mostrar más📈 Análisis del canal de Telegram Книжный куб
El canal Книжный куб (@book_cube) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 14 405 suscriptores, ocupando la posición 2 571 en la categoría Libros y el puesto 45 927 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 14 405 suscriptores.
Según los últimos datos del 28 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 184, y en las últimas 24 horas de 5, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 18.52%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 9.91% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 2 668 visualizaciones. En el primer día suele acumular 1 428 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 20.
- Intereses temáticos: El contenido se centra en temas clave como engineering, native, devex, devops, leadership.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре (no ads in channel)”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 29 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Libros.
Modularity = Strength Xor DistanceЕдинственная проблема, что это уравнение скорее является эвристикой для инженеров, а вот использовать его для автоматического анализа качества архитектуры пока не получилось. #Software #Architect #SystemDesign #SoftwareArchitecture #Processes #Management
Architecture—fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution. —ISO/IEC/IEEE 42010И дальше начинается интересное 1) Про топологию развертывания кластера, а точнее про датацентры и стойки (racks). Это важно для понимания того, а как обеспечивается отказоустойчивость - для этого в Cassandra есть сплетни (gossip protocols) и детекция сбоев (phi accrual failure detector). И про то и про другое прикольно рассказано в книге "Database Internals", которую мы обсуждали в "CoA" (выпуски раз и два). 2) Про механизм consistent hashing с токенами, кольцом и виртуальными нодами (насайте DataStax есть отличное описание и визуализация). Про то, как работает partitioner, который раскидывает наши партиции по нодам кластера и про стратегии репликации. Дальше наступает время обсудить consistency level и tunable consistency кассандры, которую мы можем выставлять на каждый запрос. 3) Про координацию запроса координирующей нодой, которая от имени клиента взаимодействует с репликами, чтобы обеспечить запрошенный уровень консистентности. Тут появляется такая штука как hinted handoff для write запросов, когда координирующей ноде не удалось записать данные, но она оставила себе напоминание, что надо надо услышав сплетню о возвращении реплики в строй отправить туда write запрос. Тут же появляются темы как бороться с энтропией (anty-entropy) и чинить реплицированные данные (подход Cassandra основан на подходе Amazon Dynamo, про который можно почитать в whitepaper от 2007 года). Тут и пригождается знание алгоритмов и структур данных, например дерева хешей или дерева Меркла (Merkle trees). 4) Про транзакции, точнее lightweight transactions (LWT) и протокол Paxos для достижения консенсуса. Собственно LWT нужно для достижения линеаризуемости, о которой речь шла в знаменитой CAP теореме (подробнее в прошлых постах: Про CAP теорему и Про формализацию CAP теоремы и ее доказательство). Автор объясняет, что чтение с кворума и запись в кворум, которые гарантируют strong consistency, не позволяют предотвратить состояние гонки (race conditions) в случаях, когда клиентам сначала надо прочитать, а потом записать данные. Именно для этого и появляется LWT, который базируется на Paxos (про который надо рассказывать отдельно). Но надо отметить, что
Cassandra’s lightweight transactions are limited to a single partition.А значит мы не можем гарантировать линеаризуемость, если делаем запрос по разным партициям. 5) Про внутренее устройство движка хранения данных, где у нас есть Memtables, SSTables, and Commit Logs. Это работает так, что запросы на запись мы пишем в commit log и делаем это durable, а дальше записываем данные в in-memory структуру memtable, где каждая memtable содержит данные для специфичной таблицы Cassandra. Дальше при достижении определенного предела memtable записывается на диск (это уже называется sstable - sorted strings table или отсортированная таблица строк). Таких SSTable на диске много и Cassandra периодически их компактит, производя mergesort (опять тут пригодятся алгоритма для понимания). Дальше интересно обсудить чтение данных, где нам помогают вероятностные структуры данных, а точнее фильтры Блума (Bloom filters). Они позволяют понять, а есть ли искомая запись внутри конкретной SSTable без full scan. Кроме того используются стратегии кеширования для производительности. Плюс удаление записей с append-only структурой хранения выглядит интересно - мы не можем просто удалить запись, так как надо сохранить tombstone о том, что она удалена. Если мы это не сделаем, то при compaction наши удаленные записи оживут ... и не в виде зомби, а полноценными записями:) To be continued ... #Software #Architecture #DistributedSystems #SystemDesign
Think of the most common query paths your application will use, and then create the tables that you need to support them.Целью является создание такой модели данных в Cassandra, который минимизирует количество партиций, которые нам надо потрогать, чтобы ответить на запрос. Суть в том, что партиция является единицей хранения и если мы попадаем в одну партицию, то обычно получаем оптимальную производительность. Отдельно стоит отметить, что сортировка данных в Cassandra тоже является дизайн решением, так как данные на ноде внутри партиции раскладываются в том порядке, что определен набором clustering columns. Кстати, для моделирования данных в Cassandra используются Chebotko diagrams, на которых моделирование как раз идет от query, которые поддерживаются табличками, а дальше для таблицы указываю входящие колонки и все виды ключей. Обзор оставшейся части книги будет в следующем посте. #Software #Architecture #DistributedSystems #SystemDesign
Пьяный мужик что-то ищет под фонарем. К нему подходит милиционер: — Вы что вы тут делаете? — Ключи от квартиры ищу — А где потерял? — Да вон там, в парке. — А зачем здесь ищешь? — А здесь светлее.И желает читателям найти свои способы расширить маленькое пятно света и осветить окрестности своих данных:) P.S. В следующем посте я расскажу подробнее про виды темных данных #Management #Data #Math #Statistics
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
