Альтернативный способ хранения сущностей не в виде записи в базе данных под конкретным id, а в виде истории событий над сущностью. В общем случае приложение предоставляет просто CRUD, в результате чего обновление какого-нибудь звонка в системе телефонии вырождается в 10 PUT, в ходе которых надо передавать полное состояние и необходимо не запутаться с валидацией, ES предполагает передачу изменений от состояния к состоянию, и присоединение десятого человека к конференции будет выглядеть не как "сохранить портянку на пару килобайт", а как "добавить событие присоединения пользователя в историю конференции Х". В этом случае и вся валидация сосредоточена не в PUT, а в точке применения события (на самом деле чуть выше), и событие не делает миллиард проверок, а только проверяет что к конференции можно заджойниться. Чтение делается просто через реплей событий с нулевой точки, в случае, если их сотни - делаются время от времени снапшоты.