japan.internet.comThe Internet & IT Network
Twitter
RSS
  • ニュース
  • コラム
  • リサーチ
  • ヘッドライン
  • 特集
  • ブログ
  • プレスリリース
  • 専門チャンネル
  • イベント
  • ランキング
  • ニュースメール
2009年11月21日
文字サイズ文字サイズ小文字サイズ中文字サイズ大
今年も各携帯キャリアが冬モデルを発表!買う予定はありますか?
今年中に買う予定
来年には買う予定
しばらく買う予定はない
現在の携帯が壊れるまで買わない
投票締切 11/23 12:00
Webテクノロジー コラム2008年2月28日 09:00
ハードウェアから見たデータベース
ハードウェアから見たデータベース 佐藤剛宣(さとうたけのり)メールホームrss
db4objects, Inc. 日本支社支社長。日本の組み込み開発者に使ってもらえるデータベースを創り上げようと奮闘中。JavaOne2007 でテレマティクス分野での成果を発表するなど、現在はテレマティクスに集中して活動している。

嘘をつくコンピュータ

国内国内internet.com発の記事
――ある日、データベースのファイルが壊れました。 データベース屋さんに苦情を言うと、 「うちじゃないですよ、どこかもっと下の方じゃないですか?」 ということなので、 今度は OS 屋さんにそう伝えると、 またもや「うちじゃないですよ、どこかもっと下の方じゃないですか?」といいます。

しかしもう下はハードディスクしかないので、 ハードディスク屋さんに話をすると、 「うちじゃないですよ。何か全体としてうまく機能していないのでは?」 という話になってしまいました。 しようがないのでパソコン屋に行ってみると、 「あー、古いマシンだと時々ありますよ。 やっぱり最新のいいマシンを買ったほうがいいですよ」ということで、 しようがなく買い換えました。――

サポートでたらいまわしにされた!  というのは誰もが経験のあることではないでしょうか。 そんな時どうやって問題を絞っていったらいいか、かなり頭が痛いですね。

実は大事なデータベースファイルが壊れてしまう、 という話は、ないわけではないのです。

しかし通常は多かれ少なかれ上の話のようになってしまって、 それ以上掘り下げるのは、専門家でも至難の技です。 果たしてそういうものなのでしょうか?  誰かが嘘をついているのでしょうか?  そうだとしたら、嘘をついているのは誰なのでしょうか?

「データベースは論理的に壊れないように設計されている」

データベースやファイルシステムなど、重要なデータを扱うソフトウェアは、 論理的に壊れないように設計されています。 どういうことかというと、

1.これから行う大事な作業内容を書き留めておく
2.大事な作業を実行する
3.作業を完了する

というように一連の作業を実行することで、 作業を全くやっていないか完了したか、2つに1つの状態を保証しています。 月末に月謝の振込みをしたけど、 途中でトラブルがあったので、 引き落としだけされて振り込まれていなかった、 というような状態にならないようにするためです。

例えば、万が一、2の作業実行中に突然中断されてしまったら、 再開後すぐに、 もう一度1を見ながら未完了の作業を正しくやり直すことで、 完了の状態にすることができます。

そして大事なことは、これらは順番に実行されなければないことです。

例えば作業完了を先にやってしまったら、 突然中断があった場合、完了したものだと思ってしまい、 作業途中で終わってしまいます。 コンピュータではこれを確実に実行するために、要所要所で、 「ディスクに書き込んでください」という命令(以下同期命令と呼ぶ)を出します。 こうすることで、万が一停電などで突然作業が中断されても、 どの段階まで処理が進んだか分かるので、作業を完了または元に戻すことができます。

「八方美人の同期作業」

さて、ここからが本題です。実はこの同期作業、八方美人で、終わってないのに、 終わったよなんて言ったりします。 順番だって好きなのから先にやったりしちゃいます。 いいじゃん、固いこと言わなくたって、という具合です。

どういうことかというと、 アプリケーション(データベースを含む)は通常 OS に同期命令を出します。 OS はその命令をよろしく処理して、ハードディスクに同期命令を出します。 この時、OS、ハードディスクが、嘘をつくことがあるわけです。 実はご丁寧に、 「嘘をつくことがありますのでご注意ください」というようなことが注意書きで書いてあるので、そういう意味では騙してはいないことになります。

どうしてそういうややこしい話になってしまったのかというと、 「ハードウェアがサービスの質を決める」で紹介したように、 ハードディスクはコンピュータ界のシーラカンス、 今や唯一肉体労働をしている部品となってしまったからです。 つまりまともに待ってたら遅くてしようがないので、 みんな大目で見るようになってきたというわけです。

ということで、今回は面白おかしく進めてきましたが、 ハードディスクをバカにしないでください。 逆に言うと、 今日のコンピュータの性能を担っているのはハードディスクだとも言えますので。

次回(3月6日予定)は現実的に、具体的なポイントをとり上げて、 適切な対策を紹介したいと思います。

記事提供:db4objects
Graphic Design Forum
【Graphic Design Forum】
流動的媒体と静的媒体に関する見解(11月18日)
「IT の耳」
「IT の耳」
【書評】『Hyper-V スタートアップバイブル』――仮想化についてのすぐれた解説書(11月20日)
百式のネットビジネス研究
百式のネットビジネス研究
世界でもっともパワフルな iPod のスピーカー「Wall of Sound」(11月20日)
週刊-サイト別アクセス状況データ
週刊-サイト別アクセス状況データ
ビデオリサーチインタラクティブ調査(月間インターネットオーディエンスデータ)(11月19日)
海外ソーシャルウェブに学ぶ成功の秘訣
海外ソーシャルウェブに学ぶ成功の秘訣
ゲーム業界を襲う世界的な激震。ソーシャルゲーム急成長のインパクト(11月19日)
今さら聞けない初歩からのアクセス解析
今さら聞けない初歩からのアクセス解析
サイトリニューアル前のアクセス解析活用法(11月19日)
成約率、反応率を上げる Web 文章術
成約率、反応率を上げる Web 文章術
文章力を磨き、キャッシュを生み出す Web サイト に(11月19日)
「Webからの脅威」―その傾向と最新対策
「Webからの脅威」―その傾向と最新対策
新たな対策技術:スパムフィルタリングと E-mail レピュテーション(11月18日)
ROI向上のための戦略的WebPR
ROI向上のための戦略的WebPR
「戦略的 WebPR」のしかけ方〜WebPR の効果測定手法とは〜(11月18日)
スマートにソーシャルウェブを構築しよう
スマートにソーシャルウェブを構築しよう
社員力を生かすソーシャルメディアポリシー(11月17日)
DevX
DevX
Erlangを使った並列処理プログラムの作成(11月17日)
Copyright 2009 Japan Internet.com K.K. All Rights Reserved.http://www.internet.com/