[Armadillo:08597] Re: DB を使用したいので使われた事のある
Yasushi SHOJI
email@hidden
2013年 2月 1日 (金) 13:39:15 JST
At Thu, 31 Jan 2013 19:16:49 +0900,
Yamamoto wrote:
>
> 処理的には
> ①複数のテーブルを対応するスレッドだけが基本的にinsertでデータの追加だけします。
> これらのスレッドは待たされると処理上困る。
>
> ②定期的に不要に成ったデータを削除するスレッドが1ついて、これが削除対象のレコー
> ドを各テーブル毎に順次selectしてupdate or delete処理します。
> このスレッドは待たされても問題なし。
>
> ③不定期に各テーブルからデータ確認用のselectが実施される。
> これも待たされても問題なし。
これって、MVCC[1] に対応している DBなら問題ないのでは?
(1) が insert している version と、(2) や (3) が処理している version が
異なれば、(1) は、(2)や(3)によって待たされることは無いわけですよね?し
かも (1) は insert だけなので、(2) や (3) は (1) が新しく追加しようとし
ているデーター以外を対象に処理すれば良いだけですよね?
# なにか勘違いしてます?
MVCCといえば CoiuchDBが[2]有名ですが Berkeley DB でも使えそう[3]ですよ。
--
yashi
Footnotes:
[1] http://en.wikipedia.org/wiki/Multiversion_concurrency_control
[2] http://couchdb.apache.org/
[3] http://docs.oracle.com/cd/E17076_02/html/programmer_reference/transapp_read.html
armadillo メーリングリストの案内