JOlivier EventStore разница и использование StreamRevision и CommitSequence? - PullRequest
3 голосов
/ 06 октября 2011

При поиске JOlivers «EventStore» я вижу, что StreamRevision и CommitSequence одинаковы, если вы только фиксируете 1 событие.И именно StreamRevision используется для выбора событий с помощью.

Предположим, я сначала создал агрегат, который завершил 1 событие.И после этого выполнили 10 событий, которые сделали бы мою таблицу базы данных SQL такой (упрощенной):

Revision    Items   Sequence
1           1       1   
11          10      2

У меня есть 2 вопроса, которые вытекают из этого:

  1. Это разница между StreamRevision и CommitSequence?

  2. Хранилище предоставляет метод «GetFrom», который принимает «minRevision» и «maxRevision».С этими данными, как это работает, если я запрашиваю minRevision = 4 и maxRevision = 8?Разве это не должно быть "minSequence" и "maxSequence" вместо этого?

Спасибо.

Werner

1 Ответ

1 голос
/ 06 октября 2011

Commits - это концепция хранения, предотвращающая дублирование и облегчающая оптимистичный параллелизм с помощью механизмов хранения, которые не поддерживают транзакции, таких как CouchDB и MongoDB. StreamRevision, с другой стороны, представляет количество событий, зафиксированных в потоке.

Когда вы работаете с потоком и вызываете GetFrom () с минимальной / максимальной ревизией 4-8, это означает, что вы хотите (в соответствии с вашим примером) все события, начиная с v4 до v8, которые инкапсулированы в commit # 2.

...