🎦 The End of Eventual Consistency | CockroachDB
Кликбейтное название + тайминг в 6:28 = секрет успешного видео! Люблю такое!😍
Понятное дело, что строгая согласованность лучше согласованности в конечном счета. Это понятно 👌
В целом, автор видео это наглядно нам продемонстрировал.
Меня в этом видео зацепил сам эксперимент.
Автор взял кластер из трех нод CockroachDB (3 мастера) и RDS for PostgreSQL (1 мастер + 2 реплика. Причем не понятно, репликация синхронная или асинхронная)
Затем смоделировал нагрузку, а-ля, e-commerce-сценарий в котором агенты (или пользователи) создают и забирают ваучеры.
Тест запускался параллельно для 10 агентов, где каждый создавал по 100 ваучеров.
Результаты очевидны:
В целом, ничего удивительного. Но мне захотелось воспроизвести этот сценарий тестирования. Надо бы написать подобный скрипт с нагрузкой и проверить его на Постгресе с двумя синхронными репликами. Еще можно собрать мастер-мастер кластер из трех нод на PostgresPro дистрибутиве . Мне кажется результаты будут другие.
В общем, отличная тема для открытого урока!
Возьму на заметку 📝
Кликбейтное название + тайминг в 6:28 = секрет успешного видео! Люблю такое!
Понятное дело, что строгая согласованность лучше согласованности в конечном счета. Это понятно 👌
В целом, автор видео это наглядно нам продемонстрировал.
Меня в этом видео зацепил сам эксперимент.
Автор взял кластер из трех нод CockroachDB (3 мастера) и RDS for PostgreSQL (1 мастер + 2 реплика. Причем не понятно, репликация синхронная или асинхронная)
Затем смоделировал нагрузку, а-ля, e-commerce-сценарий в котором агенты (или пользователи) создают и забирают ваучеры.
Тест запускался параллельно для 10 агентов, где каждый создавал по 100 ваучеров.
Результаты очевидны:
🪳 CockroachDB
все ваучеры созданы и захвачены корректно, без дублирования (Strong Consistance всё-таки)🐘 RDS PostgreSQL
В "вежливом" режиме, 36 случаев двойного захвата одного ваучера. В "невежливом" режиме. появились случаи тройного захвата. Причина в том, что агент проверяет статус ваучера на реплике, где данные ещё не обновились, и повторно захватывает уже занятый ресурс.
В целом, ничего удивительного. Но мне захотелось воспроизвести этот сценарий тестирования. Надо бы написать подобный скрипт с нагрузкой и проверить его на Постгресе с двумя синхронными репликами. Еще можно собрать мастер-мастер кластер из трех нод на PostgresPro дистрибутиве . Мне кажется результаты будут другие.
В общем, отличная тема для открытого урока!
Возьму на заметку 📝
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
The End of Eventual Consistency | CockroachDB
This video demonstrates why eventual consistency in databases is becoming increasingly problematic with the rise of AI agents. Rob Reid explains why choosing a database built for strong consistency reduces the complexity and potential for error in rapidly…
📚Introducing Valkey Admin: Visual Cluster Management for Valkey 2026-02-25 · Allen Helton, Arseny Kostenko
Какая классная тема! Первая opensource GUI для Valkey! Проект пока на очень ранее стадии, но надеюсь они доведут его до ума. Я обожаю всяческие графические управляшки. Супер! Буду обязательно следить за проектом.
Написан на TypeScript + JavaScript
Текущие особенности:
👉 Визуализация топологии кластера
👉 Мониторинг узлов
👉 Управление ключами (просмотр, редактирование, удаление)
👉 Диагностика производительности
👉 Встроенный CLI
В будущем планируется веб-версия. RedisInsight подвинься...
Valkey Admin - новый инструмент с графическим интерфейсом для визуального управления кластерами Valkey.
Какая классная тема! Первая opensource GUI для Valkey! Проект пока на очень ранее стадии, но надеюсь они доведут его до ума. Я обожаю всяческие графические управляшки. Супер! Буду обязательно следить за проектом.
Написан на TypeScript + JavaScript
Текущие особенности:
👉 Визуализация топологии кластера
👉 Мониторинг узлов
👉 Управление ключами (просмотр, редактирование, удаление)
👉 Диагностика производительности
👉 Встроенный CLI
В будущем планируется веб-версия. RedisInsight подвинься...
valkey.io
Valkey: Introducing Valkey Admin: Visual Cluster Management for Valkey
Valkey Admin is an open-source desktop application that provides visual cluster topology, hot key detection, performance diagnostics, and interactive key management for Valkey clusters without piecing together CLI commands. Now in preview!
❤1
📚Open Source, Community, and Consequence: The Story of MongoDB
Конечно она далеко не полная, но кое-какие вызовы подсвечивает.
Я попытался разбить текст статьи на исторические вехи
🚀 Этап 1: Рождение из боли (2007–2009)
👉 Основатели работают в DoubleClick (рекламный гигант). Реляционные базы не справляются с веб нагрузками.
👉 Идея: Хватит пытаться втиснуть объекты из кода в таблицы. Сделаем «документную модель» — JSON-подобные структуры, которые понятны разработчику.
🔥 В результате появилась MongoDB.
🌪 Этап 2: Хайп и «Web-Scale» (2010–2014)
Взрыв популярности. Весь мир строит приложения на «MERN/MEAN» стеке.
Ложка дегтя. Появляются мемы про потерю данных и плохую консистентность. Критики разносят базу за отсутствие транзакций и слабую надежность. Однако Команда признает ошибки, активно слушает сообщество и исправляет баги и пилит фичи.
🛠 Этап 3: Техническое взросление (2015–2018)
⚡️Покупка движка WiredTiger. MongoDB полностью переписывает систему хранения.
👉Появление ACID-транзакций. База перестает быть «игрушкой для стартапов» и заходит в банки и энтерпрайз. Я бы еще добавил, отказ от BASE и добавлением необходимых "корпоративных" фич.
☁️ Этап 4: Облачные войны и Atlas (2019–2023)
🧨 Бизнес-бомба: Ввод лицензии SSPL. Запрет использования облачным провайдерам кода MongoDB без дополнительной платы.
👉 Релиза своего облачного сервиса Mongo Atlas.
🤖 Этап 5: Платформа данных (Сегодня)
🤘 Это уже не просто NoSQL. Теперь это «Developer Data Platform».
👉 Векторный поиск для ИИ, полнотекстовый поиск, аналитика в реальном времени.
Как итог я бы сказал, что сообщество - ключ к успеху. Надо делать всё возможное, чтобы привлекать народ к своему продукту. Реклама, маркетинг, бренд маскот и т.п.
Я ScyllaDB полюбил как вендора только благодаря маскоту. Хотя сам я эту СУБД нигде не использую. Но отношение к ней максимально положительное 🤪
История эволюции MongoDB от простой нишевой документоориентированной БД до полнофункциональной платформы данных..
Конечно она далеко не полная, но кое-какие вызовы подсвечивает.
"нереляционных" данных не существует. Любые данные имеют связи. Разница лишь в том, как мы их моделируем.
Я попытался разбить текст статьи на исторические вехи
🚀 Этап 1: Рождение из боли (2007–2009)
👉 Основатели работают в DoubleClick (рекламный гигант). Реляционные базы не справляются с веб нагрузками.
👉 Идея: Хватит пытаться втиснуть объекты из кода в таблицы. Сделаем «документную модель» — JSON-подобные структуры, которые понятны разработчику.
🔥 В результате появилась MongoDB.
🌪 Этап 2: Хайп и «Web-Scale» (2010–2014)
Взрыв популярности. Весь мир строит приложения на «MERN/MEAN» стеке.
Ложка дегтя. Появляются мемы про потерю данных и плохую консистентность. Критики разносят базу за отсутствие транзакций и слабую надежность. Однако Команда признает ошибки, активно слушает сообщество и исправляет баги и пилит фичи.
🛠 Этап 3: Техническое взросление (2015–2018)
⚡️Покупка движка WiredTiger. MongoDB полностью переписывает систему хранения.
👉Появление ACID-транзакций. База перестает быть «игрушкой для стартапов» и заходит в банки и энтерпрайз. Я бы еще добавил, отказ от BASE и добавлением необходимых "корпоративных" фич.
☁️ Этап 4: Облачные войны и Atlas (2019–2023)
🧨 Бизнес-бомба: Ввод лицензии SSPL. Запрет использования облачным провайдерам кода MongoDB без дополнительной платы.
👉 Релиза своего облачного сервиса Mongo Atlas.
🤖 Этап 5: Платформа данных (Сегодня)
👉 Векторный поиск для ИИ, полнотекстовый поиск, аналитика в реальном времени.
Как итог я бы сказал, что сообщество - ключ к успеху. Надо делать всё возможное, чтобы привлекать народ к своему продукту. Реклама, маркетинг, бренд маскот и т.п.
Я ScyllaDB полюбил как вендора только благодаря маскоту. Хотя сам я эту СУБД нигде не использую. Но отношение к ней максимально положительное 🤪
Please open Telegram to view this post
VIEW IN TELEGRAM
InfoQ
Open Source, Community, and Consequence: the Story of MongoDB
Andrew Davidson and Akshat Vig discuss the journey of disrupting the transactional database market. They explain why the document model became the "Buckminster Fuller" moment for modern apps and share lessons on scaling from "web-scale" memes to mission-critical…
❤2
📚 ClickHouse не тормозит, но заставляет глаз дергаться. Materialized Views
Не буду обозревать эту статью. Она на 4 минутки и так можно прочесть 😎.
По сути автор жалуется, что материализованные представления в РСУБД и они же в Кликхаусе работают совершенно по другому 😲. Нужно отдельно про них читать и вникать в нюансы. Это прекрасно подчеркнуто в комментарии:
Мне даже добавить нечего. Всё, что вы знаете по РСУБД справедливо только для РСУБД. Представления, констрейнты, индексы и триггеры в других СУБД могут работать совсем не так, как вы ожидаете. Будьте к этому готовы 😉
Не буду обозревать эту статью. Она на 4 минутки и так можно прочесть 😎.
По сути автор жалуется, что материализованные представления в РСУБД и они же в Кликхаусе работают совершенно по другому 😲. Нужно отдельно про них читать и вникать в нюансы. Это прекрасно подчеркнуто в комментарии:
Когда вы имеете дело с продуктом, который на первый взгляд выглядит как типичная реляционная СУБД, но у которого, внезапно, первичный ключ не предполагает уникальности, вы не только вправе, но даже обязаны ожидать от него чего угодно.
Мне даже добавить нечего. Всё, что вы знаете по РСУБД справедливо только для РСУБД. Представления, констрейнты, индексы и триггеры в других СУБД могут работать совсем не так, как вы ожидаете. Будьте к этому готовы 😉
Хабр
ClickHouse не тормозит, но заставляет глаз дергаться. Materialized Views
Вы пришли из мира PostgreSQL, Oracle или MSSQL. Вы знаете: материализованное представление — это «замороженный» результат запроса. Удобно. Предсказуемо. Вы открываете документацию ClickHouse. Видите...
👍4
📚 Почему "достаточно хорошие2 облачные базы данных становятся риском для бизнеса?
В последнее время часто встречаются статьи исследований, которые делают аналитические и RnD агенства по заказу компаний разработчиков СУБД. Что CockroachLab, что Scylla сейчас. Почему в РФ нет такой практики? Такое ощущение, что люди сами себе аналитики и не хотят платить за исследования. Хотя по DevOps регулярно проводятся разные опросы и исследования.
Подниму этот вопрос на каких-нибудь конференциях и спрошу народ... Если не забуду 😊
Вернемся к статье. Главные тезис:
По сути это классическая ловушка. Система сейчас работает и всё ОК, но что будет через год-два, когда данных станет больше? Как поведет себя система? Спрогнозировать тяжело. Хотя вру, не тяжело. Дорого 💰 Попробуй выбить у руководство бюджет на подобные тесты 😊
Я сам переживал только последний вариант. Реально, пришел новый СТО и сказал всем перейти с БД Oracle. Это было давно, но всё-таки. Мы все массово всем банком пошли в новое будущее....
Никогда не видел, чтобы меняли СУБД исходя из каких-то технических ограничений или ошибок и т.д.
СУБД меняют только тогда, когда компания-разработчик "умерла" или ушла с рынка. Всё.
Довольно забавный вывод из статьи. Действительно проблема на лицо. Сейчас на хайпе PostgreSQL. Найти спеца по это СУБД очень легко. Понятное дело, что есть нюансы, но по крайне мере выбор есть. Найти специалиста по Valkey или MongoDB или YDB даже по Tarantool, а? Реально на рынке? Особенно если он не бывший сотрудник Яндекса или VK. Проблема в обучение специалистов технологиями 2-ого или 3-ого эшелона на лицо.
Как итог можно сказать следующее, что это статья не про базы данных, а про поведение компаний в разных ситуациях. Все архитектурные решения откладываются до тех пор, пока система не начинает приносить убытки.
В исследовании Futurum Group, выполненное по заказу ScyllaDB, рассматриваются расходы на облачные базы данных, проблемы с производительностью и причины миграции на другие системы.
В последнее время часто встречаются статьи исследований, которые делают аналитические и RnD агенства по заказу компаний разработчиков СУБД. Что CockroachLab, что Scylla сейчас. Почему в РФ нет такой практики? Такое ощущение, что люди сами себе аналитики и не хотят платить за исследования. Хотя по DevOps регулярно проводятся разные опросы и исследования.
Подниму этот вопрос на каких-нибудь конференциях и спрошу народ... Если не забуду 😊
Вернемся к статье. Главные тезис:
У многих команд с текущей облачной БД всё "вроде бы нормально", но уверенности в будущем нет. 33% респондентов довольны текущей конфигурацией, но при этом 38% опасаются, что их нынешняя база не справится с будущими техническими требованиями, включая рост данных, AI/ML-нагрузки и новые требования по соответствию. То есть сегодня система ещё устраивает, а завтра уже может стать проблемой.
По сути это классическая ловушка. Система сейчас работает и всё ОК, но что будет через год-два, когда данных станет больше? Как поведет себя система? Спрогнозировать тяжело. Хотя вру, не тяжело. Дорого 💰 Попробуй выбить у руководство бюджет на подобные тесты 😊
Решение о смене БД редко принимается “рационально”.
Обычно это:
👉 не меняем ➡️ потому что работает
👉 терпим ➡️ потому что высокая цена миграции
👉 меняем ➡️ когда пришёл новый CTO
Я сам переживал только последний вариант. Реально, пришел новый СТО и сказал всем перейти с БД Oracle. Это было давно, но всё-таки. Мы все массово всем банком пошли в новое будущее....
Никогда не видел, чтобы меняли СУБД исходя из каких-то технических ограничений или ошибок и т.д.
СУБД меняют только тогда, когда компания-разработчик "умерла" или ушла с рынка. Всё.
Замкнутый круг
экономим ресурсы ➡️падает производительность
➡️ не хватает экспертизы ➡️ не можем оптимизировать
➡️ система кажется плохой ➡️ но менять дорого ➡️ работаем с тем, что есть
Довольно забавный вывод из статьи. Действительно проблема на лицо. Сейчас на хайпе PostgreSQL. Найти спеца по это СУБД очень легко. Понятное дело, что есть нюансы, но по крайне мере выбор есть. Найти специалиста по Valkey или MongoDB или YDB даже по Tarantool, а? Реально на рынке? Особенно если он не бывший сотрудник Яндекса или VK. Проблема в обучение специалистов технологиями 2-ого или 3-ого эшелона на лицо.
Как итог можно сказать следующее, что это статья не про базы данных, а про поведение компаний в разных ситуациях. Все архитектурные решения откладываются до тех пор, пока система не начинает приносить убытки.
The New Stack
Why “good enough” cloud databases are becoming a business risk
Research finds 38% of tech leaders doubt their database can handle future AI workloads, yet most wait for a crisis before migrating.
❤1
📚 DuckDB использует реляционную базу данных для решения классической проблемы «небольших изменений» в системах хранения данных.
DuckDB предлагает неожиданный поворот в архитектуре lakehouse.
Вкратце, они решили вернуть в lakehouse… классическую реляционную базу данных. Но используют её не для хранения данных, а для хранения метаданных и обработки мелких изменений .
Казалось, а зачем? Проблема современных lakehouse (Iceberg, Delta и др.) в том, что они плохо справляются с маленькими изменениями. Добавили пару строк - получили новый файл или обновили метаданные - сделали лишние операции с хранилищем.
❌В итоге:
👉 много мелких файлов
👉 лишние IO
👉 падение производительности
DuckDB предлагает следующее:
1️⃣ сначала писать изменения в обычную SQL-БД
2️⃣ накапливать их
3️⃣ и только потом батчами выгружать в Parquet
✅Что это даёт:
👉 меньше файлов
👉 меньше накладных расходов
👉 данные записываются быстрее
По сути, это попытка сбалансировать два мира:
гибкость lakehouse + строгость и эффективность классических СУБД
Мне кажется это никак не революция, а какой-то шаг назад, чтобы чуть подумать и потом сделать более осознанный шаг вперед. Это промежуточная конструкция.
Данный "костыль" поднимает новые вопросы
🤔 не станет ли RDBMS новым узким местом?
🤔 не усложняется ли архитектура?
🤔 не теряется ли идея serverless?
DuckDB аккуратно подталкивает индустрию к мысли, что будущее не в чистом lakehouse, а в гибридных решениях.
DuckDB предлагает неожиданный поворот в архитектуре lakehouse.
Вкратце, они решили вернуть в lakehouse… классическую реляционную базу данных. Но используют её не для хранения данных, а для хранения метаданных и обработки мелких изменений .
Казалось, а зачем? Проблема современных lakehouse (Iceberg, Delta и др.) в том, что они плохо справляются с маленькими изменениями. Добавили пару строк - получили новый файл или обновили метаданные - сделали лишние операции с хранилищем.
❌В итоге:
👉 много мелких файлов
👉 лишние IO
👉 падение производительности
DuckDB предлагает следующее:
1️⃣ сначала писать изменения в обычную SQL-БД
2️⃣ накапливать их
3️⃣ и только потом батчами выгружать в Parquet
✅Что это даёт:
👉 меньше файлов
👉 меньше накладных расходов
👉 данные записываются быстрее
По сути, это попытка сбалансировать два мира:
гибкость lakehouse + строгость и эффективность классических СУБД
мы слишком увлеклись “файловой” архитектурой lakehouse и забыли, что у СУБД уже давно есть решения для транзакций, метаданных и мелких операций.
Мне кажется это никак не революция, а какой-то шаг назад, чтобы чуть подумать и потом сделать более осознанный шаг вперед. Это промежуточная конструкция.
Данный "костыль" поднимает новые вопросы
🤔 не станет ли RDBMS новым узким местом?
🤔 не усложняется ли архитектура?
🤔 не теряется ли идея serverless?
DuckDB аккуратно подталкивает индустрию к мысли, что будущее не в чистом lakehouse, а в гибридных решениях.
The Register
DuckDB uses RDBMS to attack classic 'small changes' problem in lakehouses
: Batching teensy changes in chunks creates massive performance boost, DuckDB Labs team claims
❤2
📚 Как Redis Auto Failover повышает отказоустойчивость наших БД
Классная статья про адаптацию опенсор версии Redis под требования реального мира. Кластер Redis является хорошим решением, но не идеальным. Если у вас одномоментно выходит из строя кворум мастеров, то кластер считается разваленным, даже если реплики с нужными данными живы.
Ребята из WB прикрутили свой дополнительный механизм Auto Failover поверх Redis Cluster. Он очень похож на слой координации, аналогичный DCS (Distributed Configuration Store).
Идея хорошая. Я о подобном писал недавно.
Надеюсь, что WB выложат свой доработку в opensource.
Классная статья про адаптацию опенсор версии Redis под требования реального мира. Кластер Redis является хорошим решением, но не идеальным. Если у вас одномоментно выходит из строя кворум мастеров, то кластер считается разваленным, даже если реплики с нужными данными живы.
Ребята из WB прикрутили свой дополнительный механизм Auto Failover поверх Redis Cluster. Он очень похож на слой координации, аналогичный DCS (Distributed Configuration Store).
Идея хорошая. Я о подобном писал недавно.
Надеюсь, что WB выложат свой доработку в opensource.
Хабр
Как Redis Auto Failover повышает отказоустойчивость наших БД
Введение Привет! Меня зовут Иван Откидач, я DevOps-инженер в команде DBA. Моя основная специализация — NoSQL-базы данных, в частности Redis и MongoDB. С каждым месяцем количество Redis, находящихся на...
👍3
📚 NoSQL Data Modeling Explained with DynamoDB Single Table Design
Очень показательная идея из статьи про DynamoDB:
Я всё хочу погрузиться в идею проектирования нереляционных схем данных, но что-то никак повода не найду. Мне самому тяжело понять весь профит от такого проектирования. Думаю это статья будет драйвером, которая сподвигнет меня сесть за эту тему.
📊 Как бы решили задачу в реляционной БД
Допустим, у нас сервис поиск пациентов через платный API ($5 за запрос).
Нам нужно:
👉не платить повторно за одинаковый поиск
👉хранить историю
👉считать биллинг
В классической СУБД (например, PostgreSQL) мы бы сделали:
✅таблица patients
✅таблица search_requests
✅таблица billing
И далее классика:
Данные нормализуем ➡️ нужное собираем запросом
➕ гибкость
➕ можно добавлять новые сценарии
➖ больше JOIN
➖ нагрузка растёт с объёмом
⚡️ Как это решается в NoSQL (например, Amazon DynamoDB)
Мы заранее думаем:
👉 как будем искать?
👉 как проверять “уже был такой запрос”?
👉 как считать биллинг?
И делаем одну таблицу, например:
И рядом:
👉 теперь:
❇️проверка кэша ➡️ 1 запрос
❇️получение результата ➡️ 1 запрос
❇️биллинг ➡️ 1 запрос
Без JOIN вообще.
🧠 Где ключевой сдвиг мышления
⚖️ Что стало лучше
✔️ быстрее (меньше round-trip)
✔️ дешевле (меньше операций)
✔️ проще на чтение (всё рядом)
⚠️ Что стало хуже
❌ почти нет гибкости
❌ сложно добавить новый тип запроса
❌ дублирование данных
❌ ошибки в модели очень дорогие
🎯 Итого
Идея красивая, но надо будет на цифрах это всё проверить 😊
Очень показательная идея из статьи про DynamoDB:
в NoSQL ты проектируешь не таблицы - ты проектируешь запросы.
Я всё хочу погрузиться в идею проектирования нереляционных схем данных, но что-то никак повода не найду. Мне самому тяжело понять весь профит от такого проектирования. Думаю это статья будет драйвером, которая сподвигнет меня сесть за эту тему.
📊 Как бы решили задачу в реляционной БД
Допустим, у нас сервис поиск пациентов через платный API ($5 за запрос).
Нам нужно:
👉не платить повторно за одинаковый поиск
👉хранить историю
👉считать биллинг
В классической СУБД (например, PostgreSQL) мы бы сделали:
✅таблица patients
✅таблица search_requests
✅таблица billing
И далее классика:
JOIN + индексы + агрегации
Данные нормализуем ➡️ нужное собираем запросом
⚡️ Как это решается в NoSQL (например, Amazon DynamoDB)
Мы заранее думаем:
👉 как будем искать?
👉 как проверять “уже был такой запрос”?
👉 как считать биллинг?
И делаем одну таблицу, например:
PK = SEARCH#<query_hash>
SK = RESULT#<timestamp>
И рядом:
PK = USER#123
SK = BILLING#2026-04
👉 теперь:
❇️проверка кэша ➡️ 1 запрос
❇️получение результата ➡️ 1 запрос
❇️биллинг ➡️ 1 запрос
Без JOIN вообще.
🧠 Где ключевой сдвиг мышления
В SQL:
сначала модель → потом запрос
В NoSQL:
сначала запрос → потом модель
⚖️ Что стало лучше
✔️ быстрее (меньше round-trip)
✔️ дешевле (меньше операций)
✔️ проще на чтение (всё рядом)
⚠️ Что стало хуже
❌ почти нет гибкости
❌ сложно добавить новый тип запроса
❌ дублирование данных
❌ ошибки в модели очень дорогие
🎯 Итого
в SQL ты собираешь данные на лету
в NoSQL ты обязан собрать их заранее
Идея красивая, но надо будет на цифрах это всё проверить 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
NoSQL Data Modeling Explained with DynamoDB Single Table Design
Get your data model wrong and everything downstream pays for it.
❤2
🎥 ClickHouse в 2026: сценарии, сильные стороны, лучшие практики
Видеознакомство с Кликом от Алексея Белозерского из ВК.
Приятный вебинар 🙂 Чтобы понять нишу и основные задачи Клика - супер! Советую глянуть...
Видеознакомство с Кликом от Алексея Белозерского из ВК.
Приятный вебинар 🙂 Чтобы понять нишу и основные задачи Клика - супер! Советую глянуть...
VK Видео
ClickHouse в 2026: сценарии, сильные стороны, лучшие практики
Что будет на вебинаре: - Применение ClickHouse в архитектуре современных дата-платформ (Data Warehouse / Data Lakehouse) - Устройство ClickHouse: что под капотом и что нужно понимать аналитику и инженеру данных - Типичные ошибки при работе с ClickHouse …
❤1
🎦 Avito Database meetup
Основные доклады
Меня больше всего заинтересовал 2-ой доклад. Про сравнение FoundationDB vs Cassandra 5.
И так, Авито искали автошардируемую базу данных,
чтобы заменить сложную инфраструктуру с MongoDB.
В текущей архитектуре:
👉 используется MongoDB
👉 сотни шардов / тысячи инстансов
👉 self-sharding (логика на стороне сервиса)
🔥 последствия:
👉сложная логика в коде
👉сложные миграции
👉дорого по ресурсам (x4 из-за реплик и бэкапов)
🎯 Что хотели получить
🔸 автошардинг “из коробки”
🔸 простой кластер (желательно masterless)
🔸 меньше инфраструктуры
🔸 open-source лицензия
🔸 горизонтальное масштабирование
🔸 мульти-DC
🧠 Что показали тесты
Cassandra
➕ высокий RPS (выше MongoDB)
➕ latency на уровне Mongo
➕ автошардинг работает
➕ masterless → быстрое восстановление
➕ экономия диска ~30%
➕ зрелая экосистема
➖ требовательна к настройке ОС
➖ сложный data modeling
➖ масштабирование “пачками” (по replication factor)
FoundationDB
➕ очень низкая latency
➕ хорошая модель транзакций
➕ автошардинг есть
➖ низкий RPS
➖ сильная зависимость от дисков
➖ нет сжатия → x3 по месту
➖ лимит 100KB на значение
➖ сложный клиент (высокий порог входа)
➖ проблемы с конфликтами транзакций
🏆 Победитель - Cassandra
Однако:
Основные доклады
🕚 Как мы прошли путь от разрозненных Ceph кластеров к единой платформе с 100 000+ бакетов;
🕚 Почему нам не подошла FoundationDB и чем удивила Cassandra 5;
🕚 Как мы предоставляем базы данных с чувствительными данными внутри DBaaS
Меня больше всего заинтересовал 2-ой доклад. Про сравнение FoundationDB vs Cassandra 5.
И так, Авито искали автошардируемую базу данных,
чтобы заменить сложную инфраструктуру с MongoDB.
В текущей архитектуре:
👉 используется MongoDB
👉 сотни шардов / тысячи инстансов
👉 self-sharding (логика на стороне сервиса)
данные шардуются не БД, а приложением
🔥 последствия:
👉сложная логика в коде
👉сложные миграции
👉дорого по ресурсам (x4 из-за реплик и бэкапов)
🎯 Что хотели получить
🔸 автошардинг “из коробки”
🔸 простой кластер (желательно masterless)
🔸 меньше инфраструктуры
🔸 open-source лицензия
🔸 горизонтальное масштабирование
🔸 мульти-DC
🧠 Что показали тесты
Cassandra
FoundationDB
🏆 Победитель - Cassandra
Однако:
Cassandra победила как решение конкретной задачи (замена многосотшардовой MongoDB)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
📚 Забудьте о Redis: DuckDB обрабатывает 78 % наших аналитических запросов быстрее
Звучит как «Redis не нужен»? На самом деле это очередной пример "кликбейтного" названия статьи, хотя суть её совершенно про другое. Я прочел и был крайне недоволен. Автор, как бы выразиться покультурнее, не прав.
Что у них было:
👉 основная (OLTP) база данных
👉 сложные аналитические запросы (фильтры, агрегации, группировки)
👉 Redis как кэш результатов
Цепочка следующая:
запрос ➡️ считаем в БД ➡️ кладём результат в Redis ➡️ надеемся на cache hit
Проблема началась, когда аналитика усложнилась:
👉 комбинаций фильтров стало слишком много
👉 кэш начал «взрываться»
👉 cache hit падал
👉 latency стала непредсказуемой
И тут пришла идея подключить DuckDB и начать выполнять запросы напрямую в ней. И внезапно стало быстрее💨. Магия 🪄
Зановес!
Это не история про Redis vs DuckDB. Это история про неправильный выбор движка выполнения (execution engine).
❌ OLTP база + кэш (Redis)🔜 попытка ускорить аналитику
✅ OLAP движок (DuckDB)🔜 нативное выполнение аналитики
Redis в этом кейсе использовался примитивно — как key-value cache. При этом у Redis есть инструменты для аналитики:
➕ Sorted Sets (топы, ранжирование)
➕ HyperLogLog (approximate distinct)
➕ Векторный и семантический поиск
И многое другое
Вывод:
И если вы начинаете кешировать аналитические запросы, то возможно, проблема не в скорости, а в архитектуре.
Звучит как «Redis не нужен»? На самом деле это очередной пример "кликбейтного" названия статьи, хотя суть её совершенно про другое. Я прочел и был крайне недоволен. Автор, как бы выразиться покультурнее, не прав.
Что у них было:
👉 основная (OLTP) база данных
👉 сложные аналитические запросы (фильтры, агрегации, группировки)
👉 Redis как кэш результатов
Цепочка следующая:
запрос ➡️ считаем в БД ➡️ кладём результат в Redis ➡️ надеемся на cache hit
Проблема началась, когда аналитика усложнилась:
👉 комбинаций фильтров стало слишком много
👉 кэш начал «взрываться»
👉 cache hit падал
👉 latency стала непредсказуемой
И тут пришла идея подключить DuckDB и начать выполнять запросы напрямую в ней. И внезапно стало быстрее💨. Магия 🪄
Зановес!
Это не история про Redis vs DuckDB. Это история про неправильный выбор движка выполнения (execution engine).
❌ OLTP база + кэш (Redis)
✅ OLAP движок (DuckDB)
Redis в этом кейсе использовался примитивно — как key-value cache. При этом у Redis есть инструменты для аналитики:
И многое другое
Вывод:
OLAP-движок (DuckDB) лучше справился с их аналитическим workload, чем схема "OLTP БД + кэш Redis"
И если вы начинаете кешировать аналитические запросы, то возможно, проблема не в скорости, а в архитектуре.
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
Forget Redis: DuckDB Served 78% of Our Analytics Queries Faster
The real speedup did not come from a smarter cache. It came from admitting we were asking the wrong engine to do the job.
👍2❤1
🎦 SmartData 2025. Запускаем YugabyteDB в production, Василий Осадчий
Презентация
Если выкинуть детали, то главный вывод вообще не про конкретную СУБД.
Он про смену традиционного реляционного мышления при проектировании схемы данных.
Команда хотела "PostgreSQL, но распределённый". На рынке есть много продуктов, которые предоставляют данные функции.
Главный слом происходит в проектировании схемы данных.
В привычной (single-node) модели:
👉 primary key = просто уникальный идентификатор
👉 индексы = оптимизация
👉 где лежат данные - неважно
В распределённой базе:
👉 primary key = shard key
👉 он определяет, где физически лежат данные
👉 ошибка в нём = fan-out по всему кластеру
И дальше начинается цепочка изменений:
Запрос - это уже не просто SQL.Это:
👉 сколько нод будет задето
👉 будет ли scatter
👉 не создаём ли hotspot
Особенно показательный момент из доклада, перенос схемы "как есть" из PostgreSQL формально работает,
но под нагрузкой начинает деградировать.
Потому что:
👉 схема проектировалась под один узел
👉 а выполняется на кластере
Итог:
И именно это - главный барьер при переходе, а не выбор технологии. Хотя очень приятно увидеть пример с Distributed SQL СУБД. Очень классно 😊
Презентация
Если выкинуть детали, то главный вывод вообще не про конкретную СУБД.
Он про смену традиционного реляционного мышления при проектировании схемы данных.
Команда хотела "PostgreSQL, но распределённый". На рынке есть много продуктов, которые предоставляют данные функции.
Главный слом происходит в проектировании схемы данных.
В привычной (single-node) модели:
👉 primary key = просто уникальный идентификатор
👉 индексы = оптимизация
👉 где лежат данные - неважно
В распределённой базе:
👉 primary key = shard key
👉 он определяет, где физически лежат данные
👉 ошибка в нём = fan-out по всему кластеру
И дальше начинается цепочка изменений:
Запрос - это уже не просто SQL.Это:
👉 сколько нод будет задето
👉 будет ли scatter
👉 не создаём ли hotspot
Особенно показательный момент из доклада, перенос схемы "как есть" из PostgreSQL формально работает,
но под нагрузкой начинает деградировать.
Потому что:
👉 схема проектировалась под один узел
👉 а выполняется на кластере
Итог:
Распределённые СУБД — это не «галочка HA + scaling».
Это другая модель проектирования.
Single-node мышление — «как выполнить запрос»
Distributed мышление — «как разложить данные, чтобы запрос был дешёвым»
И именно это - главный барьер при переходе, а не выбор технологии. Хотя очень приятно увидеть пример с Distributed SQL СУБД. Очень классно 😊
❤3
Иногда на экзамене люди неожиданно меняются и от этого бывает немного дискомфортно.
С пятницей!
#mems
С пятницей!
#mems
😁4❤2🤔1
📚🦆 DuckLake 1.0: Data Lake Format with SQL Catalog Metadata
DuckDB продолжает активно расширять свою экосистему. После успеха embedded analytics движка команда решила зайти на территорию Data Lake / Lakehouse и представила DuckLake.
Главная идея проекта звучит неожиданно😱 ШОК 💥
Подводочка. Сегодняшние lakehouse-системы это:
👉 Apache Iceberg
👉 Delta Lake
👉 Apache Hudi
Они хранят метаданные в виде файлов прямо в S3/GCS/Azure Blob Storage:
➡️ JSON
➡️ Avro
➡️ manifests
➡️ snapshots
Это позволило отказаться от центральной СУБД для метаданных и лучше масштабировать систему. Но со временем архитектура начала обрастать сложностью:
👉 тысячи metadata-файлов,
👉 expensive LIST operations,
👉 compaction,
👉 catalog services,
👉 coordination layers,
👉 сложные commit protocols.
И тут DuckLakeдостаёт из широких штанин предлагает почти "еретическую"идею 😈 :
Архитектура DuckLake:
И вот тут начинается самое интересное 🧐. На самом деле идея НЕ новая. Старый Hadoop/Hive мир уже жил примерно так же.
Данные лежали в HDFS, а Hive Metastore хранился в MySQL/PostgreSQL. То есть ранние Data Lake уже были database-native для metadata.
Потом индустрия решила уйти от СУБД для метаданных:
👉 из-за масштабирования,
👉 distributed workloads,
👉 cloud-native pipelines.
Так появился Iceberg/Delta-подход:
👉 metadata как immutable files.
И теперь история делает красивый круг 🔄
На мой взгляд, самое интересное здесь даже не сам формат, а цикличность архитектуры.
IT-индустрия очень часто:
1️⃣ уходит от централизованной модели,
2️⃣ сталкивается со взрывом сложности,
3️⃣ а потом аккуратно возвращает часть централизации обратно, но уже на новом технологическом уровне.
DuckDB продолжает активно расширять свою экосистему. После успеха embedded analytics движка команда решила зайти на территорию Data Lake / Lakehouse и представила DuckLake.
Главная идея проекта звучит неожиданно😱 ШОК 💥
Подводочка. Сегодняшние lakehouse-системы это:
👉 Apache Iceberg
👉 Delta Lake
👉 Apache Hudi
Они хранят метаданные в виде файлов прямо в S3/GCS/Azure Blob Storage:
➡️ JSON
➡️ Avro
➡️ manifests
➡️ snapshots
Это позволило отказаться от центральной СУБД для метаданных и лучше масштабировать систему. Но со временем архитектура начала обрастать сложностью:
👉 тысячи metadata-файлов,
👉 expensive LIST operations,
👉 compaction,
👉 catalog services,
👉 coordination layers,
👉 сложные commit protocols.
И тут DuckLake
А зачем вообще хранить metadata как файлы, если человечество уже придумало SQL database?
Архитектура DuckLake:
Компонент ➡️ Где хранится
Data ➡️ Parquet
Metadata ➡️ SQL database
Query Engine ➡️ DuckDB
И вот тут начинается самое интересное 🧐. На самом деле идея НЕ новая. Старый Hadoop/Hive мир уже жил примерно так же.
Данные лежали в HDFS, а Hive Metastore хранился в MySQL/PostgreSQL. То есть ранние Data Lake уже были database-native для metadata.
Потом индустрия решила уйти от СУБД для метаданных:
👉 из-за масштабирования,
👉 distributed workloads,
👉 cloud-native pipelines.
Так появился Iceberg/Delta-подход:
👉 metadata как immutable files.
И теперь история делает красивый круг 🔄
❗️Hive-era:➖ metadata in DB➖ simple➖ but scaling pain
❗️Iceberg-era:➖ metadata as files➖ scalable➖ but operationally complex
❗️ DuckLake:➖ maybe SQL DB was not such a bad idea after all 🙂
На мой взгляд, самое интересное здесь даже не сам формат, а цикличность архитектуры.
IT-индустрия очень часто:
1️⃣ уходит от централизованной модели,
2️⃣ сталкивается со взрывом сложности,
3️⃣ а потом аккуратно возвращает часть централизации обратно, но уже на новом технологическом уровне.
Please open Telegram to view this post
VIEW IN TELEGRAM
InfoQ
DuckLake 1.0: Data Lake Format with SQL Catalog Metadata
DuckDB Labs recently released DuckLake 1.0, a data lake format that stores table metadata in a SQL database rather than across many files in object storage. The first implementation is available as a DuckDB extension and includes catalog-stored small updates…
👍7
🎦 Что должен знать каждый backend про N+1, lazy preload и производительность / Евгений Демин #83
Разберу довольно интересное интервью с Евгением Демином - Ruby-разработчик и автор нескольких популярных open source библиотек, которые решают проблемы с базами данных, валидацией и производительностью.
Меня зацепило это видео тем, что в нем поднимаются проблемы конситентности на уровне БД и Приложения.
Видимо что-то навеяло мне после недели зачетов и выслушивания 100500 вариантов расшифровки аббревиатур ACID, BASE, LSM, PAXOS, GOSSIP, RAFT
❇️ База данных не должна верить приложению на слово
Важная мысль для всех, кто работает с базами данных:
Типичный пример: в приложении написано, что поле
То же самое с уникальностью. Проверка на уровне приложения удобна для пользовательского сообщения об ошибке, но от "race condition" защищает только
Интересна и тема
Отдельная тема - N+1. Часто говорят: "это проблема ORM". Но на самом деле запросы в цикле можно написать и без ORM. ORM просто делает эту ошибку менее заметной. Для DB-специалиста здесь важнее не спор "ORM или SQL руками", а вопрос,
❇️ Главный вывод из интервью такой:
🔑Если инвариант живёт только в коде приложения, он живёт до первого обходного пути.
Разберу довольно интересное интервью с Евгением Демином - Ruby-разработчик и автор нескольких популярных open source библиотек, которые решают проблемы с базами данных, валидацией и производительностью.
Меня зацепило это видео тем, что в нем поднимаются проблемы конситентности на уровне БД и Приложения.
Видимо что-то навеяло мне после недели зачетов и выслушивания 100500 вариантов расшифровки аббревиатур ACID, BASE, LSM, PAXOS, GOSSIP, RAFT
❇️ База данных не должна верить приложению на слово
Важная мысль для всех, кто работает с базами данных:
многие проблемы качества данных рождаются не внутри СУБД, а на границе между приложением и БД.
Типичный пример: в приложении написано, что поле
name обязательно. Но в самой таблице нет NOT NULL. Пока все данные проходят через основной backend, то вроде бы всё хорошо. А потом появляется импорт, скрипт, bulk insert, отключённый callback или второй сервис. В итоге в базе оказываются данные, которые приложение считало невозможными.То же самое с уникальностью. Проверка на уровне приложения удобна для пользовательского сообщения об ошибке, но от "race condition" защищает только
UNIQUE INDEX или UNIQUE CONSTRAINT. Поэтому хорошее правило простое:application validation - это про UX,
database constraint - это про целостность данных.
Интересна и тема
schema as code. В Rails актуальная схема базы хранится в репозитории, и это открывает дорогу для автоматических проверок. Можно сравнивать модель приложения с реальной структурой БД, искать nullable-поля там, где бизнес-логика требует обязательности, проверять уникальные индексы, внешние ключи, несовпадение типов PK и FK.Отдельная тема - N+1. Часто говорят: "это проблема ORM". Но на самом деле запросы в цикле можно написать и без ORM. ORM просто делает эту ошибку менее заметной. Для DB-специалиста здесь важнее не спор "ORM или SQL руками", а вопрос,
понимает ли команда, какие запросы реально уходят в базу, как они исполняются и где возникает лишняя нагрузка.
❇️ Главный вывод из интервью такой:
База данных - это не пассивное хранилище под ORM. Это слой, который должен защищать инварианты продукта: типами, ограничениями, индексами, внешними ключами и транзакционной семантикой.
🔑Если инвариант живёт только в коде приложения, он живёт до первого обходного пути.
YouTube
Что должен знать каждый backend про N+1, lazy preload и производительность / Евгений Демин #83
В этом выпуске у меня в гостях Евгений Дёмин — Ruby-разработчик и автор нескольких популярных open source библиотек, которые решают проблемы с базами данных, валидацией и производительностью. Женя начинал как математик в Калининграде, попал на западный рынок…
❤3👍1
Как вы думаете, в сказке про Красную Шапочку волк сумел так мастерски замаскироваться, что Шапочка ничего не заметила, или у самой Шапочки были проблемы со зрением и слухом?
С пятницей!
#mems
С пятницей!
#mems
😁3
📚«День СУБД 2026»: как «Диасофт» меняет подход к импортозамещению СУБД
📚 RuDB и Digital Q.DataBase: как в России развивают СУБД класса Enterprise
Разберу тандем статей от компании Диасофт.
К сожалению, не смог присутствовать лично на "Дне СУБД", т.к. был в отпуске, но обойти эту тему нельзя, т.к. ребята решили заморочиться.
Забавный факт, Диасофт вложила в пиар мероприятия и рекламу новой СУБД RuDB, но в профессиональных сообществах по базам данных ни одного коммента на этот счет. Даже на Хабре 0 комментов. Странно, не так ли? Давайте разберемся, что же нам презентовали.
❇️ После «Дня СУБД 2026» Диасофт активно продвигает два связанных продукта:
👉 Digital Q.DataBase - коммерческую enterprise-СУБД для миграции с Oracle и Microsoft SQL Server.
🆕RuDB - бесплатную СУБД на базе PostgreSQL 18.2.
На первый взгляд возникает закономерный вопрос:
Если рассматривать RuDB как самостоятельный PostgreSQL-форк, её ценность около нулевая. Ниша уже занята более зрелыми игроками: с поддержкой, документацией, внедрениями, экспертизой и промышленной историей, поэтому как конкурент RuDB пока выглядит слабовато.
Предполагаю, что ставка Диасофта - не на RuDB и "«Ассоциацию Разработчиков СУБД", а на Digital Q.DataBase и механизм «Полиглот».
Идея "Полиглота" - предоставить слой совместимости с Oracle и Microsoft SQL Server: PL/SQL, T-SQL, системные функции, пакеты, привычную прикладную логику. То есть продавать не просто PostgreSQL, а снижение стоимости миграции с тяжёлых enterprise-СУБД.
Почему-то компания Диасофт в 2026 решили тему миграции сделать главной темой своих продуктов.
С моей колокольни, миграция была актуальна с 2022-2024 годах. Все, кто хотел мигрировать уже смигрировали. А те, кто остается на Oracle/MSSQL могут спокойно еще 5 лет сидеть и не париться. За весь ИТ-рынок говорить не буду, но тема миграции ушла из прайм-тайм давно.
Как я понял, Диасофт предлагаю следующую картину:
❗️RuDB сама по себе пока не выглядит сильной технологической необходимостью.
Если это просто ещё один PostgreSQL-based fork, проект рискует потеряться на перегретом рынке российских СУБД.
Но в связке с Digital Q.DataBase логика начинает виднеться.
Ставка Диасофта - это не на "мы сделали ещё один PostgreSQL", а:
Нужно ли это клиентам? Маркетологи считают, что да 😊
Будем верить в ребят! 👀
📚 RuDB и Digital Q.DataBase: как в России развивают СУБД класса Enterprise
Разберу тандем статей от компании Диасофт.
К сожалению, не смог присутствовать лично на "Дне СУБД", т.к. был в отпуске, но обойти эту тему нельзя, т.к. ребята решили заморочиться.
Забавный факт, Диасофт вложила в пиар мероприятия и рекламу новой СУБД RuDB, но в профессиональных сообществах по базам данных ни одного коммента на этот счет. Даже на Хабре 0 комментов. Странно, не так ли? Давайте разберемся, что же нам презентовали.
❇️ После «Дня СУБД 2026» Диасофт активно продвигает два связанных продукта:
👉 Digital Q.DataBase - коммерческую enterprise-СУБД для миграции с Oracle и Microsoft SQL Server.
🆕RuDB - бесплатную СУБД на базе PostgreSQL 18.2.
На первый взгляд возникает закономерный вопрос:
Зачем нужна RuDB, если на российском рынке уже есть Postgres Pro Standard, Tantor, Pangolin, Jatoba и другие PostgreSQL-based решения?
Если рассматривать RuDB как самостоятельный PostgreSQL-форк, её ценность около нулевая. Ниша уже занята более зрелыми игроками: с поддержкой, документацией, внедрениями, экспертизой и промышленной историей, поэтому как конкурент RuDB пока выглядит слабовато.
Предполагаю, что ставка Диасофта - не на RuDB и "«Ассоциацию Разработчиков СУБД", а на Digital Q.DataBase и механизм «Полиглот».
Идея "Полиглота" - предоставить слой совместимости с Oracle и Microsoft SQL Server: PL/SQL, T-SQL, системные функции, пакеты, привычную прикладную логику. То есть продавать не просто PostgreSQL, а снижение стоимости миграции с тяжёлых enterprise-СУБД.
Почему-то компания Диасофт в 2026 решили тему миграции сделать главной темой своих продуктов.
С моей колокольни, миграция была актуальна с 2022-2024 годах. Все, кто хотел мигрировать уже смигрировали. А те, кто остается на Oracle/MSSQL могут спокойно еще 5 лет сидеть и не париться. За весь ИТ-рынок говорить не буду, но тема миграции ушла из прайм-тайм давно.
Как я понял, Диасофт предлагаю следующую картину:
- RuDB = бесплатная PostgreSQL-compatible база / entry point
- Digital Q.DataBase = коммерческий enterprise-продукт
- Полиглот = ключевая технология миграции Oracle/MSSQL workloads
❗️RuDB сама по себе пока не выглядит сильной технологической необходимостью.
Если это просто ещё один PostgreSQL-based fork, проект рискует потеряться на перегретом рынке российских СУБД.
Но в связке с Digital Q.DataBase логика начинает виднеться.
Ставка Диасофта - это не на "мы сделали ещё один PostgreSQL", а:
"мы дадим путь миграции с Oracle/MS SQL Server без тотального переписывания прикладного кода»"
Нужно ли это клиентам? Маркетологи считают, что да 😊
Будем верить в ребят! 👀
Хабр
«День СУБД 2026»: как «Диасофт» меняет подход к импортозамещению СУБД
21 апреля компания «Диасофт» провела первую в своей истории конференцию «День СУБД 2026». Мероприятие посетили более 250 экспертов: представители крупнейших банков, IT-разработчиков и интеграторов,...
👍3