В классическом реляционном хранилище данных медленно меняющиеся атрибуты (редко изменяющиеся атрибуты) хранятся в таблице со схемой, подобной следующей:
EntityKey, StartDate, EndDate, Attribute1, Attribute2, Attribute3 ...
(Это может быть в отличие от быстро меняющихся атрибутов, которые могут храниться как:
EntityKey, отметка времени, атрибут1, атрибут2, атрибут3 ... )
Что мне не нравится в этом подходе, так это много повторяющейся информации. Если Attribute1 изменяется один раз в неделю, а Attribute2 - только один раз в год, вы заканчиваете тем, что повторяете Attribute2 каждую неделю с избыточностью. Если у вас много атрибутов, которые можно сложить.
Конечно, вы можете создать одну такую таблицу для каждого временного интервала (таблицу для еженедельных атрибутов, одну для ежемесячных, одну для годовых и т. Д.), Но в реальном мире различные атрибуты будут меняться в разные моменты времени, а не обязательно по любой схеме. Также для некоторых объектов один и тот же атрибут может меняться чаще, чем для других.
Мне любопытно, есть ли у кого-нибудь предложения или идеи относительно разных схем хранения для таких атрибутов, которые изменяются нечасто, но с разной частотой (то есть некоторые изменяются ежедневно, другие еженедельно и т. Д.). Возможно, существуют (нереляционные) технологии баз данных, о которых я не знаю, которые больше подходят для такого типа проблем?