Правильно ли использовать opLog?
Формат оплога является внутренним и предназначен для поддержки репликации. В качестве внутреннего формата он может меняться между основными выпусками сервера и не является простым для использования.
Вместо этого следует использовать Change Streams API , который основан на оплоге и позволяет подписываться на данные изменения на уровне коллекции, базы данных или развертывания. В отличие от прямого доступа к оплогам, потоки изменений имеют документированный API, могут быть ограничены контролем доступа, могут выполнять некоторую фильтрацию и модификацию вывода потока и могут масштабироваться для поддержки наборов реплик, а также сегментированных кластеров. Потоки изменений также могут быть возобновлены в случае прерывания.
Необходимая возможность чтения истории с указанной позиции
Изменение потоков в MongoDB 4.0+ позволяет указать startAtOperationTime
, чтобы открыть курсор в определенный момент времени , Если указанная начальная точка находится в прошлом, она должна находиться во временном интервале оплога.
Содержит ли оплог записи для всех дБ, не разрезанных по коллекциям?
Операционный журнал - это ограниченная коллекция , содержащая хронологическую историю всех изменений данных для набора реплик или сегмента. Аспект ограниченного сбора означает, что у оплога есть ограниченное окно истории: как только максимальный размер оплога достигнут, самые старые записи удаляются, чтобы освободить место для новых документов. Данные local.oplog.rs
не фильтруются по коллекции или пространству имен.