« 「かぐや(SELENE)」 on Celestia - Part4 | トップページ | 教育支出の費用効果分析 »

2008年6月15日 (日)

ブロートウエアの法則とか、バッチ処理とリアルタイム処理とか

「100のうち50」でいいと言うと、大半のユーザにとっては「ほとんど全部」なんですね。

たとえば、あなたの会社のパソコンに誰かがイタズラをして、MS-Officeをアンインストールして、代わりに「100のうち50」のExcelやWordをインストールしておいたとしたら、あなたは気がつきますか?

たぶん、「100のうち50」のレベルでExcelを使っている人は、相当なパワーユーザです。職場では「Excelの達人」とか呼ばれて、「困ったことがあったらとりあえずあいつに聞け」と言われているような人で、ほとんどユーザはそれ以下でしょう。

だからMS-Officeは「100のうち50」で充分。

予告.inをSaaSワールドの予告として見る (アンカテ)

実際のところ、「100のうち50」どころか、ほとんどのユーザは、「100のうち20」のくらいの機能しか使わないでしょう。しかし、問題は、 ユーザによってその20が異なる、ということではなかったかと。もっと言えば、各ユーザにとっての「必須の機能」が、ユーザによって違っているわけですよ。

多くのソフトウェア開発者は昔ながらの「80/20」ルールに魅了されている。80%の人々は20%の機能しか使わない、というのは大いに意味があるように 見える。それであなたは20%の機能だけ実装すればよく、それでも80%は売れると思い込む。

残念ながら、それは決して同じ20%ではないのだ。みんな 異なる 機能セットを使っている。過去10年間、互いに学ばないと心に決めた 何ダース もの会社が、20%の機能だけ実装した「ライト版」ワードプロセッサをリリースしようとしたのを聞いてきた。

【略】

あなたが「ライト版」の製品のマーケティングを始めて、「どうです、軽いでしょう。たった1MBだ。」と人々に言い、彼らはとても喜んで、それが彼らにとって必須の機能を持っているか聞くが、それがないと分かると彼らは買わない。

ストラテジー・レターIV:ブロートウェアと80/20の神話 (Joel on Software)

「ExcelやWord」といったソフトウエアは、全世界に一億近いユーザがいて、そうしたユーザがそれぞれ異なる 20% の「必須の機能」を持っているわけですね。

ついでに、もうひとつ。

障害があって止まることは許されても、トランザクションの途中経過を外に見せることは許されません。上記の送金の処理中、口座Aから引いた直後にシステムが止まってそのまま復旧したら、私は無一文になってしまいます。

この「トランザクション」という制約の為に、単純な足し算引き算のプログラムを作るのに、凄く高度な技術が必要になります。

ところが、グーグルはこれを捨てています。

グーグルの「計算」は何がこれまでと違うのか (アンカテ)

トランザクション処理に、「凄く高度な技術が必要」になるのは、リアルタイムに応答しなければならないから、だと思います。

利用者がデータを入力したら、1秒以内に応答しなければならない、とかですよね。レスポンスタイムを短くするために、色々と複雑な仕組みが必要になってくるわけでして。そのために、スループットは犠牲とならざるを得なくなっています。

例えば、1,000人分のデータを処理する場合、レスポンスタイムが問題ではないのであれば、直列に処理すれば、スループットは最も高くなるでしょう。”1,000人分のデータを処理する時間”というのは、それが一番短い、ということです。その代償として、個々の利用者は、1,000人分のデータ処理が完了するまで待たされることになりますけどね。

GoogleがWebページをクロールし、検索インデックスを作る処理の場合、 レスポンスタイムよりも重要なのは、スループットであるはず です。巡回先の全Webページをインデックス化するのにかかる時間が問題のはず。

つまり、これは本質的にバッチ処理でしょう。 Googleのインデックス化は、相当高速には実行できるようになっているのでしょうが、それでも、(レスポンスの)リアルタイム性は要求されていないわけです。処理としては、大規模な科学技術計算などが近いのではないですかね。地球シミュレータでやっているような。

|

« 「かぐや(SELENE)」 on Celestia - Part4 | トップページ | 教育支出の費用効果分析 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/80472/21631722

この記事へのトラックバック一覧です: ブロートウエアの法則とか、バッチ処理とリアルタイム処理とか:

« 「かぐや(SELENE)」 on Celestia - Part4 | トップページ | 教育支出の費用効果分析 »