10

NoSQL プラットフォーム上に構築されたバイテンポラル データベース (riak など) を実装したことがある人、または知っている人がいるかどうかに興味があります。

4

4 に答える 4

2

一時的なデータを処理するために特別に設計された NoSQL データストアを知りません。Riak のデータに有効期間とトランザクション期間を設定するには、次のいずれかを行う必要があります。

  1. 次のようなメタデータを保持できる構造でドキュメント/値をラップします。

    { meta:{ valid:["2001-11-08", "2001-11-09"], transaction:["2011-01-29 10:27:00", "2011-01-29 10:28: 00"] } ペイロード:"これは、保存したい実際のドキュメント/値です!" }

  2. ドキュメントごとに「メタドキュメント」を作成し、Riak Linksを使用してそれらをリンクします。
    これは少しきれいだと思いますが、これらの時間を頻繁に取得する必要がある場合、この方法は遅すぎる可能性があります。

時間を指定してドキュメントを取得したい場合は、Riak (または私が知っている他のキー/値データストア) を使用するのに適したデータストアではないと思います。SQL または場合によっては一部の BigTable システムが唯一の適切なオプションである可能性があります。

于 2011-01-29T18:38:34.650 に答える
1

バイテンポラル (またはテンポラル データベース モデル) をサポートするには、適切な DML を実行して 2 つの時間ディメンション (有効/有効時間とトランザクション/システム時間) でレコードを更新および挿入するための酸トランザクションが必要です。時間モデリングの詳細については、を参照してください。

たとえば、Cassandra、MongoDB、Couchbase などの一般的な NoSQL データベースには、バイテンポラル レコード操作をサポートするために必要なレコードの更新/挿入操作を実行するための ACID サポートがありません。テンポラル データベースとバイテンポラル データベースでは、レコードが重複してはならず、後続の有効/トランザクション時間レコードによって置き換えられたときに、レコードが適切に終了する必要があります。

MarkLogic NoSQL データベースは、バイテンポラルのサポートを主張していますが、試したことはなく、オープン ソースではありません。ただし、有効/トランザクション時間追跡ジャーナルとして効果的に機能する ACID データベースを使用して独自のソリューションを展開し、実際のデータ ストアに NoSQL を使用することができます。このアプローチの概要については、こちらを参照してください。

于 2016-02-05T04:04:13.270 に答える
0

ウィキペディアから:

「バイテンポラル データは、テンポラル データベースで使用される概念です。データの有効時間とトランザクション時間の両方を示します。データベース テーブルでは、バイテンポラル データは、多くの場合、StartVT と EndVT、StartTT と EndTT の 4 つの追加のテーブル列で表されます。毎回区間は下限で閉じ、上限で開きます。」

では、これら 4 つの値をそのままデータに入れることはできないのでしょうか?

于 2011-01-14T02:28:55.133 に答える