Вопрос

Добрый день,

В настоящее время я нахожусь на самой ранней фазе нового проекта, написанного в .NET, и использую структуру объекта для стойки/хранения данных. Одной из необходимых функций является возможность «версии» определенных типов моделей. Например, одна модель - это одно «требование», которое будет иметь n «версии требований», в основном имея способ вернуться в историю/жизненный цикл этого конкретного требования. Единственное, что должно быть статичным во всех пересмотрах, - это «ID», все остальное абсолютно изменяемо на протяжении всей жизни.

Теперь Q таково, что я просто должен создать отношения 1: n между требованием >> требования оверсии? Другие функции требуют возможности полностью возродить старые государства, чтобы стать текущими/последними, должна быть возможность иметь незначительную и основную версию (изменения) и тому подобное, и, наконец, не в последнюю очередь способность создавать «базовый уровень» по всему Коллекция требований с последней версией, чтобы вернуться к этой конкретной базовой линии в более позднюю точку времени и отображая все включенные доверенности?

Это должно масштабироваться до пары миллионов записей о требовании, каждый из которых имеет пару тысяч изменений. Именно поэтому я спрашиваю ... аспект масштабирования простых отношений 1: n и т. Д.

Кто -нибудь сделал что -то похожие, возможно, некоторые предложения/лучшие практики и т. Д. В отношении управления версиями/базовым размером и т. Д.?

Ура и спасибо, -Jörg

Это было полезно?

Решение

Это зависит от того, сколько данных имеет каждое требование.

Если требование имеет большие поля (например, описание требования).

  1. Вы, вероятно, хотели бы вместо этого версировать поля, а не сами требования. К сожалению, кажется, что нет простого способа справиться с структурой сущности.
  2. Другое решение (мы сделали это для CMS) состоит в том, чтобы иметь отдельные таблицы для требований и для описания требований. Таким образом, в результате у вас будут требования доверений и требований.

Если требование достаточно малочно, вы можете использовать требование >> требование. В большинстве случаев у вас не будет значительного роста данных, особенно вы можете использовать сжатие SQL2008.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top