収録、索引データストア
-
19-09-2019 - |
質問
い求めて全バージョン、エンティティに簡単に物価連動方、英語上級者の方にお尋ねしたい入力のうシステムを利用します。
なしバージョン管理システムは、単にリレーショナルデータベースと連続で、例えば、人です。場合は、その人の状態の変更を行がんの人気予測を算出するのに使用。とバージョンに更新することが望ましくないので必要であればいつでも、戻って、前のバージョン。場合に使うことがで時間データベースこのことは無いを聞くことができる'の現状はどうなっているすべての人々の昨日午後2時に住むダブリンおよび30歳'.残念ながらあるという事であると成熟したオープンソースのソフトウェアできない一時的にすぎない。
かろう悪かろうでは新しい行を挿入した状態で変化します。これを複製、人としてできる多くの分野におけできない場合はメールもしくは変わります。でもそのかなりの遅れを選択し、正しいバージョン一定のタイムスタンプ.
理論的にはできるので使リレーショナルデータベースやバージョンコントロールシステム生時間データベースがそう残酷.
いのかと思っていくう前にいたのですか?
更新 このようにアーロンからクエリを使用しております(mysql).レコード店ディスクユニオンの遅当社のテーブル>200kさい。(id=テーブルキー person_id=idお一人様、重複している場合には人の多くの改定)
名前を選択し一人様からp p.id=(選択max(id)から人がperson_id=p.person_idやタイムスタンプ <=:タイムスタンプ)
更新 というのは、時間dbがることがないオープンソースなものが次善の方法は、店舗に新しい列ります。唯一の問題は、重複の変列およびロを返します。
解決
二つの型があります。両方だくことを前提とし、常に新しい挿入されています。全ての場合において、できない場合があります。タイムスタンプ(created
るかが行った"修正".
最初のアプローチを採用数をカウントをど多くのインスタンスだき,誠にありがとうござい.プライマリキーのキーオブジェクトのバージョン番号を示します。このアプローチと考えることが必要で select max(version)
を修正。実際には、この問題以降、すべての更新からのアプリには、まず最初に負荷を現在のバージョンを変更す(追加モードの場合は、ファイバージョン)として新しいです。したがって、本当の問題は、このデザインが困難であるという走りの更新のデータベース(例えば、譲渡物件を多くすものではありません。
次のアプローチを用リンクのデータベースです。の代わりに複合します。を行なってはならないというオブジェクトの新しいキーワードびいただけます。 replacedBy
分野を含むキーのバージョン。このアプローチで簡単に現在のバージョン(... where replacedBy is NULL
).アップデートに問題が、できない場合があります。新しい行と更新します。
これを解決するには追加できますバックポインタpreviousVersion
).このように、挿入することができます。に新しい行としての利用のポインタを更新以前のバージョン。
他のヒント
こちらは(やや付の調査、文献間のデータベース: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.91.6988&rep=rep1&type=pdf
でおすすめの支出が座り、保護されなければなや Google Scholar を見出すためのいくつかの良い技術に合わせたデータモデルです。幸運を祈っています。