Я реализовал дельта-обнаружение при загрузке хранилища данных из систем транзакций, используя столбец идентификации или столбец даты-времени в исходных таблицах транзакций. Когда данные должны быть извлечены в следующий раз, максимальное значение даты и времени, извлеченное в последний раз, используется в фильтре запроса на извлечение для идентификации новых или измененных записей. Это было достаточно хорошо, за исключением случаев, когда было несколько транзакций в одну и ту же миллисекунду.
Но теперь у нас есть Change Data Capture (CDC) с SQL Server 2008, и он предоставляет новый материал под названием LSN (Log Sequence Number), который является двоичным файлом длины 10. Теперь я запутался. Какие данные должны быть сохранены для оконной цели, LSN или дата-время. Конечно, LSN устраняет необходимость хранения дополнительных значений даты и времени в больших таблицах транзакций, но имеет ли это какие-либо недостатки? Какой из них я должен использовать? Я считаю, что сопоставление LSN с датой и временем, а затем сохранение даты и времени не является надежным методом. Каково ваше мнение?
PS: Для не-BI специалистов, извините.