1D テンポラル データベースでタイムスタンプを 2 つではなく 1 つだけ使用する例:
私は店を持っており、ユーザー X がいつ私の店にいたかを記録したいと考えています。
開始時間と終了時間のあるモデルを使用する場合、この情報は次のように記録できます。
X,1,2
X,3,4
つまり、ユーザー X は 1 と 2 の間と 3 と 4 の間に私の店にいました。これは明確で、シンプルで簡潔です。
タイムスタンプとして start-time のみを使用してデータをモデル化すると、次のようになります。
X,1
X,2
X,3
X,4
しかし、このデータをどのように解釈できますか? (1,2) からの X と (3,4) からの X ? または(2,3)からのXと(1,4)からのX?または (1,2)、(2,3)、(3,4) からの X? (4,inf) からの X は有効ですか?
このデータを理解するには、データまたはコードに制約/ロジック/情報を追加する必要があります。間隔が重複していないか、オブジェクトごとに ID を追加している可能性があります。このソリューションはすべて、すべての場合に機能するとは限りません。メンテナンスの難しさ、その他の問題。
例:すべてのアイテムにid(この場合はa、b)を追加すると、次のようになります:
X,a,1
X,a,2
X,b,3
X,b,4
データを 2 行 3 列に格納する代わりに、データは 4 行 3 列に格納されます。このモデルを使用してもメリットがないだけでなく、このモデルは次のように縮小できます。
X,a, 1,2
X,b, 3,4
さらに削減
X, 1,2
X, 3,4