Это вопрос на миллион долларов. Я даже планирую написать об этом пост или сделать доклад на митап )
сразу уж на пхпконф
transaction outbox 🙂
не представляю себе биллинг без транзакций, интересно будет послушать
Сообщение выше
Высылайте инвайт
У меня такой написан, могу код показать. Честно говоря там чуть-чуть транзакций всё же есть, для большей красоты кода и модели данных. Но их можно выпилить ничего не потеряв.
https://conf.ontico.ru/lectures/propose?conference=php2022
Это если more than once не беспокоит.
Выкинуть БД и не хранить данные вовсе ))
Ну вот кстати про выкинуть БД это отличная мысль. Если хорошенько подумать, то все эти процессы можно смоделировать без БД. Например представить себе отделы в организации и сотрудников, которые обмениваются документами. Когда проделываешь такой мысленный эксперимент, то часто замечаешь косяки проектирования. В результате исправления этих косяков дизайн системы кардинально упрощается, и необходимость в сложных технических решениях отпадает.
угу а когда надо будет показать пользователю баланс в интернет-банке, собрать все эти документы за 3 года и посчитать по операциям +/-
Ничего не делать - самое лучшее решение если доказать что "ничего не делать" решает проблему.
Лог событий без агрегации промежуточной работает хреновато, да.
Это уже решено сотни раз ) Рид модель, она же проекция. Открываем книжку Нобака или Аделя Файзрахманова, там вкратце описано ) Иди открываем статью на Хабре, где рассматривали реализацию биллинга на практике.
В бухгалтерии "на бумажных журналах" это решали заводя рядом с величиной изменения баланса ещё один столбец - баланс после изменения ) Но это изрядный перерасход места.
Обсуждают сегодня