Я понимаю, что наличие отдельной базы данных событий очень важно, но нужна ли нам отдельная База данных записи?Каково реальное использование базы данных записи?
Цель базы данных записи - стать вашей книгой рекордов .База данных записи - это постоянное представление, которое вы используете для восстановления при перезапуске.Это точка синхронизации для всех записей.
Это "текущая правда", как понимает ваша система.
В некотором смысле, это "реальные" данные, где модели чтения просто старше/ кэшированные представления о том, как выглядели реальные данные.
Это может помочь в терминах СУБД.Когда трафик небольшой, мы можем обслуживать все входящие запросы из одной базы данных.По мере увеличения трафика мы хотим начать разгрузку части этого трафика.Поскольку мы хотим, чтобы постоянные данные находились в согласованном состоянии, мы не можем разгрузить записи - если мы не хотим разрешать конфликты в точке записи.Но мы можем пролить чтения на другие экземпляры, при условии, что мы готовы допустить некоторый конечный интервал времени между тем, когда происходит запись, и когда записанные данные доступны во всех системах.
Таким образом, мы отправляем все записи руководителю, который отвечает за организацию всего в журнале записи вперед;изменения в журнале могут быть затем реплицированы на другие экземпляры, которые, в свою очередь, создают локальные копии структур данных, используемых для поддержки запросов с малой задержкой.
Если вы посмотрите очень внимательно, вы можете заметить, что ваше «событие»database »имеет много общего с« записью в журнал ».