Hacker News Digest

08 ноября 2025 г. в 00:01 • renerocks.ai • ⭐ 133 • 💬 21

OriginalHN

#tigerbeetle#python#fastapi#sqlite#double-entry-accounting#high-performance-systems#transaction-processing#ticketing-systems

Building a high-performance ticketing system with TigerBeetle

Автор создал высокопроизводительную систему продажи билетов TigerFans с использованием TigerBeetle, финансовой базы данных для транзакций. Система достигла показателя в 977 бронирований билетов в секунду, что в 15 раз быстрее, чем базовый показатель продажи билетов на концерт Oasis (65 билетов в секунду). Этот образовательный проект превратился в 19-дневный оптимизационный марафон, демонстрирующий потенциал TigerBeetle для решения задач с экстремальной нагрузкой.

В основе системы лежит модель двойной бухгалтерии, где билеты представлены как финансовые транзакции. Для каждого типа билетов создаются три счета: Operator (весь инвентарь), Budget (доступные к продаже) и Spent (проданные). Ключевая особенность — использование флага DEBITS_MUST_NOT_EXCEED_CREDITS, который архитектурно предотвращает перепродажу билетов. Реализация на Python с FastAPI, SQLite и симулированным платежным провайдером позволила создать рабочую демо-версию с двухфазным процессом оформления и автоматическим аннулированием просроченных резервирований.

Идея родилась из твита основателя TigerBeetle Joran Dirk Greef, который назвал создание такой системы "слишком простым". После демонстрации команды TigerBeetle, автор получил вызов — превзойти показатели продажи билетов Oasis. Это вдохновило на глубокую оптимизацию, доказав, что даже на Python можно достичь выдающейся производительности при правильной архитектурной основе.