TGViewer
LEFT JOIN LEFT JOIN @leftjoin · 41.9K subscribers
Post #1607 16.3K
Как Discord хранит данные
У мессенджера Discord больше 150 млн активных пользователей и 19 млн серверов, где эти люди общаются и генерируют миллиарды сообщений.

💬 Как компания хранит такой огромный массив данных?
Об этом команда Discord рассказала в блоге проекта. Приводим оттуда самое любопытное.
🔵 Сообщения пользователей хранились в БД Cassandra. В 2017 году было 12 нодов с миллиардами сообщений. В 2022 — 177 с триллионами.
🔵 Сообщения из одного канала хранились в одной партиции и реплицировались на три нода. Такой подход не вызывал проблем с небольшими каналами, зато активные сообщества на сотни юзеров создавали большую нагрузку. В Dicsord это называли «hot partition» — не оригинально, но понятно.
🔵 Ситуацию усугубляло то, что в Cassandra чтение файлов «дороже» для системы, чем запись. Из-за этого «hot partition» могло спровоцировать сообщение, отправленное на всех юзеров в большом канале. Когда они все разом открывали приложение, начинали оставлять ответы и реакции, это приводило к серьезным лагам.

💬 Проблемы из-за «горящих партиций» возникали слишком часто, и команда решила переехать на другую базу — ScyllaDB. Но очевидно, что простая смена базы не решила бы проблему.

🔵 В Discord разработали сервисы, через которые данные просеивались прежде, чем попасть в базу. Если поступало одновременно много запросов к одной и той же строке в базе, сервис аккумулировал и только после этого отправлял в ScyllaDB.
🔵 В итоге она оказалась намного более стабильной и эффективной базой. Данные, которые в Cassandra хранились в 177 нодах, в ScyllaDB уместились на 72.
🔵 ScyllaDB с поддержкой дата-сервисов не уронил даже Чемпионат Мира по футболу. Забавно, что на графиках Discord было хорошо видно ключевые моменты матчей — нагрузка резко возрастала в ответ на каждый гол Месси.

У Discord ситуация не уникальная, но не частая — не так много компаний, которые ворочают такими массивами данных. И все же надеемся, что вы почерпнули из их опыта что-то полезное для себя.

А вы пользуетесь Discord?
❤️ — Конечно!
👾 — Знаю про него, но не пользуюсь
🤔 — После блокировки в РФ перестал(а)
🌚 — Впервые слышу
  • ❤ 67
  • 👾 43
  • 🤔 17
  • 🌚 11
  • 👍 6
More from @leftjoin
  1. Sep 30, 2026Что было на OpenAI Dev Day? Вообще-то много чего — больше 20 релизов и анонсов. Пройдемся…
  2. Sep 28, 2026В одной ячейке Excel можно будет хранить массивы значений Наконец-то важные новости и не п…
  3. Sep 25, 2026Новый ИИ-бенчмарк подвезли Тем, как ИИ пишет код, взламывает сайты или решает математическ…
  4. Sep 23, 2026Как грамотно делегировать задачи ИИ Внедрение искусственного интеллекта и агентов в работу…
  5. Sep 18, 2026Что делать с тепловыми картами и хороплетами? Все виды графиков и чартов по-своему хороши…
  6. Sep 16, 20263D-карты СУБД Отвлечемся от новостей про ИИ и скандалов вокруг OpenAI и посмотрим, что вну…
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 →