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

嘘をつくコンピュータ――2

国内国内internet.com発の記事
2月26日夕方(日本時間)、 「嘘をつくコンピュータ」の28日掲載に向けての編集作業が行われていたころ、 Linux のカーネル(OS の心臓部分)について議論するニュースグループに、 ある投稿がありました。 「Proposal for "proper" durable fsync() and fdatasync()」と題されたもので、 「信頼できる同期処理に関する提案」をしているものです。

これを投稿したのは、 新しいデータベースを設計中だという Jamie 氏ですが、 面白いのは、 「この問題は OS(Linux)の重要なバグだと考えられる」という意見が大勢だということです。

それでは、嘘をついているのは OS なのでしょうか?

実は、これが明確でなかったために、 「既存のデータベースメーカーはこの問題を隠蔽しているようだ」(Jamie氏)という事態になっているのです。

この問題の原因は、ハードディスクにある書き込みキャッシュという機能です。

これは、書き込みの指示を、ハードディスク内にあるキャッシュに素早く保存して、 書き込みが終わったことにして、 その後最適なタイミングで物理的にディスクに書き込むというものです。 書き込みキャッシュなしに比べると数倍以上の高速性能を発揮できるので、 今日ではほとんどのハードディスクで書き込みキャッシュは有効になっています。

そして、OS はその恩恵を受けるために、 通常ハードディスクのデフォルト設定を優先、つまり有効にしています。

恐らく数年前までは、 突然の電源断時にデータを失いたくなかったら、 ユーザーが適切な対応をしなければならない、 という意見が大勢だったと思われます。

例えば、突然の電源断時に、 書き込みキャッシュの内容を書き込めるようなバックアップを持つ(UPS またはバッテリー搭載コントローラなど)ことです。

しかし確実にこの仕組みがうまく動くようにするには、 実は大変な検証作業が必要ですし、 今日増えてきている携帯端末(*1)では不可能です。

そうなると、壊れることを前提に頻繁にバックアップを取るか、 大幅な性能劣化を覚悟して、 書き込みキャッシュを無効にしなければならないことになってしまいます。

このように、これまでは1(on)か0(off)かという議論しかなかったために、 それならユーザーに委ねよう、 という結論になっていたのだと思われます。

しかし実は、 0.8というソリューションがあるのです。

データベースやファイルシステムなどだけが、 最低限必要な時にハードディスクにシグナルを出して、 確実にディスクに書き込ませるというものです。 実際組み込み機器のメーカーでは、このような独自実装を追加しています。

全体を部品に分け、各部品の中で切磋琢磨することで、 全体が改善されていくという発想は、 コンピュータのハード・ソフト両方の成長を支えてきたものです。

これは大変成功しているすばらしいものですが、 個々の部品がその中にしか目を向けないと、 全体として致命的な問題を抱えることもある、 といういい例だと思います。

そういう意味で、 Linux のカーネルグループがこの問題を自分たちの問題だと考えたのは、 大変勇気のある、すばらしい発言ではないでしょうか。

*1:携帯端末では、 ハードディスクとは異なるフラッシュメモリなどの記憶装置を搭載していることが多いので、 この場合、書き込みキャッシュの問題は異なることがあります。

記事提供:db4objects
【次回予告】 2010年3月9日(火) >>詳細はこちら
第6回 インターネットコム・マーケティングセミナー
進化するモバイルマーケティング 〜最新手法と必要性〜
2009年12月16日(水)開催 10周年記念セミナー
報告レポートはこちら
データメーション
【データメーション】
非常に危険な中国人ハッカー(2月5日)
検索エンジンマーケティング
検索エンジンマーケティング
リンクとは、サイト間の支持票?(2月10日)
人が育つすごいしかけ
人が育つすごいしかけ
育成すべき社員は「能力」ではなく「○○○」で選ぶ?(2月10日)
「IT の耳」
「IT の耳」
【書評】ソーシャルメディアマーケティング(2月10日)
e-Japan 先端テクノロジー解説
e-Japan 先端テクノロジー解説
自治体クラウド開発実証事業の成功要件を検討する(2月10日)
百式のネットビジネス研究
百式のネットビジネス研究
iPhone アプリ制作会社が一覧できる「They Make Apps」(2月9日)
CodeGuru
CodeGuru
C#におけるNull Objectパターン(2月9日)
エンジニア転職ノウハウ開発室
エンジニア転職ノウハウ開発室
日本を元気に!“位置ゲー”のコロプラが止まらない(2月9日)
アイレップの SEM フロンティア
アイレップの SEM フロンティア
あなたのサイトの体調管理は万全ですか?(2月9日)
ソフトウェア研究最前線
ソフトウェア研究最前線
ソフトウェア開発におけるインタラクションデザイン(2)(2月8日)
生活者の力をマーケティングに活かそう
生活者の力をマーケティングに活かそう
顧客にラブレターを書くために必要なこと(2月8日)
Copyright 2010 internet.com K.K. (Japan) All Rights Reserved.