- PR -

ACID特性について

1
投稿者投稿内容
banboo
大ベテラン
会議室デビュー日: 2003/12/05
投稿数: 210
投稿日時: 2006-08-17 01:23
ACID特性について質問がございます.

ネットの情報などを見ると,
Atomicityは,以下の様に説明されております.

Atomicity (原子性)
すべてが完全に実行されるか、処理が完結しない場合には元の状態に戻る

■しかし,英語の単語から特性のイメージが沸きません.
そもそも,原子の意味は,「物質を構成する基本的な粒子」
ですが,DBの話では,どういった部分が原子性なのかいまいち理解できません.

*ちなみに,ACID特性のほかの特性は,英語の単語から特性のイメージが沸きます.

Consistency (一貫性)  処理の順番に関わらず結果が同じになる
I Isolation (独立性)  他のトランザクションの影響を受けない
D Durability (耐久性)  いったんトランザクションが完結したら障害が発生してもデータの状態が変化しない
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-08-17 01:46
「これ以上分割できない最小単位」と理解すればどうでしょうか?(原子はそうですよね?まぁ本当はもっと小さい陽子等もありますが)
なので、「有りか無しか」つまり「トランザクションが完了するかされないか」
_________________
囚人のジレンマな日々
banboo
大ベテラン
会議室デビュー日: 2003/12/05
投稿数: 210
投稿日時: 2006-08-19 09:27
引用:

「これ以上分割できない最小単位」と理解すればどうでしょうか?
なので、「有りか無しか」つまり「トランザクションが完了するかされないか」



アドバイスありがとうございます.

その後,私も色々考えてみたのですが,「有りか無しか」というのが
一番分かりやすいと感じました.イメージとしては以下の通りです.

最小単位で完全に分割されている
→「有りか無しか」(1か0か)はっきりしていて曖昧な状態がない
→トランザクションが完了するかされないか
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2006-08-19 10:27
過去に、DBMS の理論はそれなりに勉強したのですが、どうもいまだに Atomicity と Consistency は何が決定的に違うの?とかがイマイチ分かりません。
そもそも ACID っていうのは大事な概念なんでしょうか?という疑問があります(もちろん、大事だとは思いますが4分類することが大事なのか?が疑問です)。最近は、「ネオダマ」程度に考えとけばいいんじゃないかと思うようになってきました。

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2006-08-19 12:25
原子性については「送金処理」を例にしている本があったなあ。

コンピュータでは、送金元のお金を「減少」させ、送金先のお金を「増加」させるという 2ステップの動作で送金(移動)を実現する。

・移動 = 減少 + 増加

「減少」もしくは「増加」の一方だけが成功してしまうようなことがあってはならない。そのため「移動(減少+増加)」は不可分な最小単位となる。これはトランザクションによって実現できる。

トランザクションの開始
 (1)送金元のお金を減少させる
 (2)送金先のお金を増加させる
トランザクションの確定

このような操作を実現できる能力・性質を「原子性」といいます。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-08-21 10:09
Atomicityだと名詞で原子数とありますが
http://www.excite.co.jp/dictionary/japanese_english/?search=Atomicity&match=beginswith&block=34907&offset=1716

Atomicが形容詞で「原子の」とありますので
http://www.excite.co.jp/dictionary/japanese_english/?search=Atomic&match=&block=34907&offset=136

Atomicityをして「原子性」という意味にもなるのでしょうか。
Atomicには「きわめて小さい,極小の」の意味もあるようですので、
それ以上分離できない不可分の処理、というニュアンスなのでしょうか。
トランザクションを不可分に処理するとすればわからなくもない。
でも、不可分だと
http://www.excite.co.jp/dictionary/japanese_english/?search=%E4%B8%8D%E5%8F%AF%E5%88%86&match=beginswith&block=65430&offset=1650
"indivisibility"になってしまうのですよね。

英語ネイティブな方の印象ってどうなのでしょうね。
1

スキルアップ/キャリアアップ(JOB@IT)