「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ファジーリード

pointこの用語のポイント

point2回目の読み取り時に1回目と内容が変わっちゃっているよ

pointデータを更新すると発生するかもしれない現象だよ

pointトランザクション処理の話で出てくるよ

スポンサーリンク

簡単に書くよ

ファジーリード(英:fuzzy read)とは

「ここから ここまでワンセット」な処理(トランザクション処理)の話で出てくる「そうなったら、ちょっと困るかもなぁ」な現象のひとつ
であり

例えば「1回目に読み込んだときは『ピヨ太』だったのに2回目に読み込んだら『ピヨ子』になっていた」のように、同じデータを2回読み込んだときに1回目と2回目で(1回目読み込んでから2回目読み込むまでの間に他の人が変更しちゃったから)違う内容が返ってくる現象のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

データベース
レコード
トランザクション


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

データベースは「データを入れておく箱」です。
突っ込んで考えると混乱するかもしれません。
何となくのフィーリングで理解してください。

ファジーリード

レコードは行列で表現される表の「行」です。

ファジーリード2

ただし、今回は「データベースに入っているデータ(行)」と解釈してください。

データベース(の中にあるデータ)は表形式のイメージで表現されるのが一般的です。
例えば以下のような形です。

名前性別年齢
ピヨ太成人済み
ピヨ子永遠の17歳
ピヨ太ママ心は乙女


この表には、ピヨ太君、ピヨ子さん、ピヨ太ママの3人分のデータが入っています。
名前と性別と年齢のセットで1行です。

この表におけるそれぞれの行、名前と性別と年齢のセットがレコードです。

さて、ここで考えてみてください。

1行には1人分のデータが入っています。
1行で1件のデータです。

そのため、データベース(のテーブル)にしまったデータそのものを指して「レコード」と表現する場合も あります。

例えば、データベース(のテーブル)にデータを入れることを指して「レコードを作る」と言ったりします。
あるいは「2件以上のデータ」を意図して「複数レコード」と表現する場合も あります。

基本的には「行」の意味ですけどね。
「データ1件」を意図する場合もあるのです。
一応、頭の片隅にでも置いておいてあげてください。

ファジーリード3

トランザクションは「ここから ここまでワンセット」な処理単位です。

例えば、そうですね。
ピヨ太君がピヨピヨカンパニーに出社するとしましょう。

ファジーリード4

ピヨ太君はピヨピヨカンパニービルに到着すると

1.私服からスーツに着替える
2.タイムカードを押す
3.コーヒーを飲みながらケーキを食べる


の3つの行動をします。
この3つが、ピヨ太君が出社した状態になるためにやる作業です。
いわば、ピヨ太君の「出社作業」ですね。

ファジーリード5

出社作業が終わったら、ピヨ太君はピヨ太ママに「ピヨ太です。出社しました」と連絡を入れます。
これでピヨ太君は出社した状態になります。

ファジーリード6

繰り返しになりますが、ピヨ太君の出社作業は

1.私服からスーツに着替える
2.タイムカードを押す
3.コーヒーを飲みながらケーキを食べる


の3つです。

この3つの行動は、どれか1つでも欠けてはダメです。
すべての行動を一連の流れでやる必要があります。

ファジーリード7

このような

「ここから ここまでワンセット」な処理単位

がトランザクションです。
小難しい言い方をすると「分割不可な一連の処理」です。

ファジーリード8

以上を踏まえて

トランザクション処理の話で出てくる用語で、同じレコードを読み込んだのに1回目と2回目で違う内容が返ってくる現象

が「ファジーリード」です。
ノンリピータブルリード」とも呼ばれます。

ファジーリード9

例えば、そうですね。

ここに「ピヨ太君の今日のおやつデータベース」(以下、データベースと表現します)が ありました。
データベースには「ケーキ」と書かれたデータが入っています。

ファジーリード10

おやつの時間が近付くと、ピヨ太ママがデータベース(の中にあるデータ)を見に来ます。
そして、データベースに書いてある内容のおやつを用意してくれます。

ファジーリード11

ある日のことです。
ピヨ太ママが今日のおやつを準備するためにデータベースを見ました。
データベースには「ケーキ」と書いてあります。

ファジーリード12

ピヨ太ママは早速ケーキを作り始めました。

ファジーリード13

ピヨ太ママがケーキを作っている間にピヨ太君が来て「ケーキ」から「ミカン」に書き換えました。
ピヨ太君は「今日はミカンの気分だな」と思ったのです。

ファジーリード14

ピヨ太ママが作っていたケーキが完成しました。
ピヨ太ママは何気に完璧主義者です。
念のために、もう一度データベースを確認しました。

ファジーリード15

なんと!
データベースに書かれている内容は「ミカン」でした。
なんてこったーい。

ファジーリード16

このような現象がファジーリードです。

同じレコードを読み込んだのに1回目と2回目で内容が変わっている現象

です。


image piyo2

一言でまとめるよ

まぁ「ファジーリード」って単語が出てきたら「2回目の読み取り時に1回目と内容が変わっちゃっている現象なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像047
書籍画像043

おまけ

■訳してみるよ

「fuzzy(ファジー)」の意味は「あいまいな」とかです。
「read(リード)」の意味は「読む」とか「読み出す」とか「読み取る」とかです。
何となく くっつけると

あいまいな読み取り

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
実務で役立つ バックアップの教科書 基本の考え方からツール活用・差分管理・世代管理・データ保全・リストア・リカバリー・可用性の確保まで
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた