TGViewer
Базы данных (Data Base) Базы данных (Data Base) @database_info · 8.04K subscribers
Post #843 2.54K
Компания Uber создала собственную базу данных с нуля. Она получила название Schemaless DB.
В ее рамках они хотели добиться высокой доступности операций записи.

Uber сделала это возможным благодаря использованию умной и простой техники под названием Buffered Writes.
В двух словах, Buffered Writes означает, что каждый запрос на запись хранится как минимум на двух узлах - Primary Leader и Secondary Leader.

Вот как это работает:

✅ Клиент делает запрос в обработчик запросов.

✅ Обработчик запросов отправляет запросы на запись на Secondary Leader. Данные сохраняются в специальной буферной таблице на Secondary Leader.

Затем он также отправляет запрос на запись на Primary Leader. Только если обе записи прошли успешно, клиент получает подтверждение успешной записи.

✅ Задача Primary Leader заключается в репликации данных.

Но если leader выходит из строя до успешной асинхронной репликации, Secondary Leader служит временной резервной копией данных.

✅ Background Worker следит за Primary Follower, чтобы узнать, когда появится запись после репликации

✅ Как только запись появляется на Primary Follower, Background Worker удаляет запись из Buffer Table.

Здесь следует отметить несколько важных моментов:

- Количество вторичных лидеров настраивается

- Secondary leader выбирается случайным образом

- Буферизованные записи используют идемпотентность. Если существует несколько записей с одинаковыми идентифицирующими полями, то не имеет значения, сколько раз был сделан запрос.

#db

👉 @database_info
  • ❤ 5
  • 👍 4
  • 🥱 1
More from @database_info
  1. Oct 6, 2026❌ Антипаттерн: Хранить даты и время в VARCHAR Встречали такое? CREATE TABLE orders ( id SE…
  2. Oct 5, 2026🔎 Мини-гайд: Индексы в PostgreSQL — быстро и по делу Индексы — главный инструмент для уск…
  3. Sep 28, 2026SQL Important Queries Сохрани на потом, тебе пригодится👌 📲 Мы в MAX #db 👉 @database_inf…
  4. Sep 24, 2026Сегодня я хочу рассказать вам про одну часто недооцененную фишку в PostgreSQL - partial in…
  5. Sep 23, 2026🚀 Сегодня я покажу вам один из моих любимых хаков для PostgreSQL – генерация серий дат бе…
  6. Sep 22, 2026⚡️ Совет по работе с базами данных 💡 Уникальные индексы с исключением определенных строк…
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 →