[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 メーリングリストの案内