@Вурдалак вот тут про ES говоришь, что юзаешь плотно. есть "пара" вопросов. если лень отвечать, кинь ссылки на что-то полезное. Меня тема интересует, но пока в теории.
Какие системы хранения обычно юзают для Event store?
Тоже про read data store. это RDBMS? или некие noSQL? как выглядят системы, которые накатывают события на read data store. эвенты закидываются в какой-нибудь rabbitMQ и по правильному порядку обрабатываются... или как?
Такие системы в итоге всегда Eventual консистентны? как проблемы в ним решают в UI? Т.е. юзер что-то создал, он ведь желает это увидеть сразу.
я слышал еще, про некие "слепки", когда состояние агрегата кешируется на какой-то момент, чтобы не перебирать эвенты до него.
Как достигается блокировка? Оптимистическая с Event.Version? нормально ли работает? А то вон там у микрософтов пример с продажей билетов и моя первая мысль, что там наверняка возможны конфликты изза билетов на одно и то же событие.
Есть ли проблемы с изменением структуры эвента... когда в базе куча старых? как решаются?
ну и последнее. когда все-таки нужен или полезен ES? часто говорят про перфоманс... это легко поверить если в системе действительно много write операций на разные агрегаты, но это весьма специфично.
Какие системы хранения обычно юзают для Event store?
Тоже про read data store. это RDBMS? или некие noSQL? как выглядят системы, которые накатывают события на read data store. эвенты закидываются в какой-нибудь rabbitMQ и по правильному порядку обрабатываются... или как?
Такие системы в итоге всегда Eventual консистентны? как проблемы в ним решают в UI? Т.е. юзер что-то создал, он ведь желает это увидеть сразу.
Имеются ввиду изменения разных внутренностей агрегата? А то я думал, что обычно сущности меняются мало и это дает довольно производительно делать ES. Просто мне трудно представить перебор тысячи эвентов для создания еще одногоДа и я нередко теперь практикую ES, а там каждое изменение влечёт за собой иногда по несколько тысяч событий (имеется в виду, при накатывании прошлых), но работает для write model всё равно быстро. То есть, необходимости в lazy loading я не встречал.

Как достигается блокировка? Оптимистическая с Event.Version? нормально ли работает? А то вон там у микрософтов пример с продажей билетов и моя первая мысль, что там наверняка возможны конфликты изза билетов на одно и то же событие.
Есть ли проблемы с изменением структуры эвента... когда в базе куча старых? как решаются?
ну и последнее. когда все-таки нужен или полезен ES? часто говорят про перфоманс... это легко поверить если в системе действительно много write операций на разные агрегаты, но это весьма специфично.