0

この質問データベースにとらわれないようにするつもりですが、取り組む必要のある興味深い問題があり、提案やフィードバックのためにフロアを開くと思いました。

フィードソースからデータをダウンロードして何らかのデータベースに保存できる必要があります。データを既存のデータにマージし、任意の日付のデータをクエリできる必要があります。私が話したいのは太字の部分です。

基本的に、この問題の要約は、オブジェクトグラフをOLTPデータベースに永続化し、一時的にクエリできるようにする必要があるということです。

1つのテーブルの単純なケースでは、この問題は非常に単純です。レコードの有効な期間を示す日付範囲があり、その範囲を渡して、この時点で有効な行のみを選択します。複数のテーブルがある場合、問題が発生します。

Order-*Itemという2つのテーブルがある場合を考えてみましょう。

注文を照会するとき、日付の変更と同じものをアイテムテーブルに適用できます。すべて順調ですが、注文を変更したい場合はどうなりますか?次に、注文行をコピーし、日付範囲を設定して、新しい行の有効なfromと新しい行の有効なtoがnowに設定されるようにする必要があります。また、アイテムをコピーする必要があります。モデルを変更する場合は、アイテムへの参照をコピーします。

この単純な場合でも、物事は複雑になり始めています。

自己参照オブジェクトグラフがあるため、問題が悪化します。上記のモデルを使用するには、Order- * Item-*Orderがあります。

あなたならどうしますか?行のバージョン管理と一時クエリが必要な場合、データベースをどのように構成しますか?

4

1 に答える 1

2

昔は、Developing Time-Oriented Database Applications in SQLがテンポラル データベースの最良の情報源でした。1999 年に出版され、著作権は著者に返還され、リンクは本の PDF バージョンに移動します。彼の出版物の詳細と、CDROM の圧縮コンテンツへのリンクについては、ここを参照してください。

于 2011-01-17T08:54:41.840 に答える