Sharding вживую
Hashed и ranged shard key, chunk splitting, balancer, роутинг через mongos, config servers, zone sharding, jumbo chunks и resharding — на живом шардированном кластере, с хотспотами и тем, как их ловить
Hashed и ranged shard key, chunk splitting, balancer, роутинг через mongos, config servers, zone sharding, jumbo chunks и resharding — на живом шардированном кластере, с хотспотами и тем, как их ловить
Выборы в replica set, механика oplog, read и write concern, causal consistency и живой failover — с контрастом к стриминговой и логической репликации PostgreSQL
Стадии aggregation pipeline, цена $lookup как join, оптимизатор конвейера, allowDiskUse и лимиты памяти — с Go и Java клиентами на живых данных, в контрасте с SQL GROUP BY и JOIN
Multikey-индексы на массивах, правило ESR (Equality-Sort-Range), partial/TTL/wildcard-индексы и чтение explain() в MongoDB — специфика движка индексов поверх общей теории B-tree
WiredTiger — не LSM, а B-tree с MVCC: снапшоты, checkpoint, journal и кеш с dirty/eviction вживую, с контрастом к PostgreSQL heap+btree и разбором, где заканчивается WAL и начинается специфика Mongo
Метрики, backup/restore через snapshot, Alternator как DynamoDB-совместимый API — и итоговый разбор, когда ScyllaDB оправдана, а когда это избыточная сложность
BSON, embedding против referencing, денормализация и рост документа — как проектировать схему MongoDB запросом вперёд, а не таблицами, и где документ честная альтернатива JSONB в PostgreSQL, а где нет
Случайный ID (UUIDv4) деградирует вставку в PostgreSQL: ниже плотность листьев B-tree, больше WAL, крупнее первичный индекс — измерено на стенде против bigint и монотонного UUIDv7. Плюс кросс-движковый разбор: миф «UUID-PK раздувает вторичные индексы» верен для MySQL/InnoDB и неверен для PostgreSQL; и когда монотонный ключ создаёт горячий шард (MongoDB ranged), а когда нет (ScyllaDB и Mongo hashed).
Сколько реально даёт шард-осведомлённая маршрутизация в gocql и Java-драйвере, почему апстрим и форк ScyllaDB не могут сосуществовать в одном проекте, и как честно измерить эффект без JIT-искажений
Идентификатор — проектное решение с отложенной ценой. Разбор bigint, UUIDv4, UUIDv7/ULID, Snowflake, ObjectId по осям, которые реально влияют на систему: кто генерирует, монотонность и сортируемость, размер ключа, что утекает наружу, вероятность коллизий. Главная ось — не «UUID или число», а случайный против монотонного; дерево выбора и разбор мифов.
Ближайшие материалы, которые продолжают этот раздел.
Вводный материал про Redis как класс решений: паттерны, анти-паттерны, ограничения и подходы к надёжности.
Практический baseline для PostgreSQL в контейнерах: volume, backup, healthcheck и границы допустимого production.
Разбор dev- и lab-сценариев для ClickHouse и того, где контейнеризация уже начинает мешать эксплуатации.