TigerBeetle на практике, или чем хороши узкоспециализрованные | LEFT JOIN

TigerBeetle на практике, или чем хороши узкоспециализрованные тулы
Вы когда-нибудь работали с TigerBeetle?

Это БД, заточенная под работу с финансовыми транзакциями. Она гарантирует точность, высокую скорость и устойчивость к большим нагрузкам. Однако, узкая специализация накладывает ограничения на то, в каких проектах можно использовать TigerBeetle и как вообще с ней работать.

В частности, TigerBeetle заставляет оперировать такими бухгалтерскими понятиями, как дебит, кредит, счета, переводы, и при этом дебит строго не может превышать кредит. И это не просто рекомендация, это на уровне архитектуры БД прописано.

Как это работает на деле?
Вот хороший пример — разработка сервиса по продаже билетов и мерча. Все началось с того, что один инженер просто захотел понять, как это сделать не в теории, а своими руками. На основе он TigerBeetle создал систему, которая позволяет продавать билеты разных из ценовых категорий и мерч.

У каждой группы товаров было три счета:
Operator, в котором был указан весь доступный товар,
Budget, в котором указан остаток товара, доступного для продажи,
Spent, в который записывается проданный товар.

Сначала со счета Operator билеты и футболки движутся в Budget.  Затем, когда пользователь начинает покупку, создается отложенный перевод из Budget в Spent с тайм-аутом в пять минут. Если за это время деньги не поступают, перевод просто удаляется. Но если все ок и платеж проходит, купленный товар окончательно записывается в Spent.

Комбинация из трех счетов не допускает перепродаж — не получится продать больше билетов и мерча, чем есть в наличии. Эта простая, но рабочая демка стала основой для полноценного, жизнеспособного сайта, который может обрабатывать 977 продаж в секунду. Это более чем неплохой результат и демонстрация возможностей TigerBeetle.

Так что, что скажете про БД? Имели с ней дело когда-нибудь или, может, планируете?
LEFT JOIN

LEFT JOIN

@leftjoin
44.45K Подписчиков
Технологии Категория
Понятно про анализ данных, технологии, нейросети и, конечно, SQL. Услуги — leftjoin.ru. Курсы по аналитике — https://stepik.o...