トップページ⇒tech
120コメント30KB

Webに向いた新しいファイル構造を考える

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
HTMLや画像ファイルを1つ1つファイル化するのが一般的な現行の
ファイル構造は、確かに構造が単純で更新が容易ですが、
大量のファイルを伝送したりファイル処理する際には、
ファイルサイズが小さい故にオーバーヘッドが大きく
処理効率が悪くなってしまいます。
また、例えば、検索システムにおいてはWWWロボットが世界中の
数十億というHTMLファイルを収集するので、i-node不足が
課題となります。

だからといって、データベースで一括管理するのでは、
直接ファイルを取得する場合よりも遥かにサーバ負荷が
高くなりますし、応答時間も長くなりがちです。

これらの問題を解決するような研究は無いのでしょうか?
0002デフォルトの名無しさんNGNG
2get?
0003デフォルトの名無しさんNGNG
B+-Treeが最高。


終了
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0004デフォルトの名無しさんNGNG
3E 3E 01 20 A8 AF C3 D6 BC
> > 1   イ ッ テ ヨ シ
0005デフォルトの名無しさんNGNG
欧米でよく使われている携帯電話用Webフォーマット HDML って、
そんな感じじゃなかったっけ。

身近な所では、Windowsの圧縮htmlヘルプ(.httだっけ?)とか、
Javaのjarヘルプも、そんな感じで使われている。
0006デフォルトの名無しさんNGNG























0007デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/hp/1018053359/l50

ここで新ファイルフォーマットの議論が一回決着してる。
0008デフォルトの名無しさんNGNG
>>7
議論になっていないと思う。
0009デフォルトの名無しさんNGNG
1999年当時の2chと違って、最近の2chはすっかり議論できない所に
成り下がってしまったなあ。有名サイトの宿命だろうが凄く残念でならない(´ー`)
0010デフォルトの名無しさんNGNG
>>9
じゃあこなければ?
0011デフォルトの名無しさんNGNG
.mht
0012デフォルトの名無しさんNGNG
>>1
まあ、言いたいことはある程度理解できる。確かに一回しか使わない画像
なんかだと、MIME かなんかでその場に組み込めれてもいいと思う。
でも、世の中画像を表示できないブラウザもあるから、そう言うブラウザ
にとっては迷惑なだけだよね。

> だからといって、データベースで一括管理するのでは、
> 直接ファイルを取得する場合よりも遥かにサーバ負荷が
> 高くなりますし、応答時間も長くなりがちです。

なんか誤解してない ?

>>7-8
>>8 の言う通りやろ。第一議題が違うし。バカ >>1 が騒いでいただけだ
し。

>>9
そう思ったら、自分がちゃんとした議論すればいいだけ。2ch の仕組みは
変わっていないぞ。
0013デフォルトの名無しさんNGNG
テキストにエンコードするのは駄目だろ。
0014デフォルトの名無しさんNGNG
2chもログが膨大にあるのに、1スレッドあたり1ファイルを割り当てて
いるから、全ログを収集しようとするとHTTPリクエストの発行回数が
凄いことになりそう。
0015デフォルトの名無しさんNGNG
>>13
一々そんな細かいとこに突っ込むなよ。話の本筋と違うだろ。
もっといい方法があるならそう言うのをお前が提案しろ。
001613NGNG
TAD
0017デフォルトの名無しさんNGNG
>>1
keep-alive と pipelining ではダメだってことか?
0018デフォルトの名無しさんNGNG
TADかよっ!
001912NGNG
>>16
ハイハイ。がんばって普及させてね。
0020デフォルトの名無しさんNGNG
12 も文句だけだな。
002112NGNG
>>20
はぁ ? 少なくとも俺は、画像ファイルを別にする意味はあるってことを
示してるぜ。それとも理解できなかったのか ?
0022デフォルトの名無しさんNGNG
>>1
ネットに適した file system の研究なんて腐るほど行われてる。
とりあえず検索してみ。
0023デフォルトの名無しさんNGNG
ヘッダにサイズが書いてあるチャンク構造にして有れば、
Webサーバ側で、画像チャンクを飛ばして送信すれば
いいんじゃないの?
0024!20NGNG
>>21
別に新しいことでもなんでもないじゃん。
0025デフォルトの名無しさんNGNG
1 のいう処理効率のオーバーヘッドが具体的に
OS、httpd、回線のどこに生じるものなのか分からん。
何だか OS 側の話のようだが、
どの程度のスケールのウェブサービスでどの程度の無駄が生じてるか
想像じゃなくて実際のデータはないのか?
0026デフォルトの名無しさんNGNG
クライアント側でリクエストをまとめてデータとして送信する。
サーバ側でそれ解析して、必要なデータを最適化して固めて送る。
002720NGNG
>>23
サーバー側で、選択するってことね。良いかも知れんけど、2ch みたいな
忙しいサーバーだと負荷が辛いかも。やっぱクライアント側で、分散処
理って言う方が良いんじゃないのかなぁ。

>>24
そだよ。新しいことは書いてないけど (思いつかねーからな)、今の方法を
とる理由は示してるだろ。>>13 見たく単にダメだだけ書いててなんか
楽しい ?
0028デフォルトの名無しさんNGNG
では、TCP/IP と HTTP と NTFS/ext2 を捨てるところから始めよう。
0029デフォルトの名無しさんNGNG
じゃあ、NFSでファイル転送しよう。
0030デフォルトの名無しさんNGNG
>>27
分散させるとサーバ側の帯域消費なんかは軽くなるだろうけど
全体では無駄が出てくるし、どうしても遅延が出てくる。
トレードオフやね。
0031デフォルトの名無しさんNGNG
100万ファイル(1M個)収集するのに、回線遅延が1要求あたり
100msecかかるとして、0.1Msec=10万秒=28時間のロスだね。
もったいない、もったいない

1万ファイルのHTMLをEUCに変換するとして、
1ファイルあたりfile read,encode,file saveに100msecかかるとして
1000秒=17分のロスだね。
もったいない、もったいない

時間は有効に使いましょう。
0032デフォルトの名無しさんNGNG
TCPが良くない。UDPで十分だろ。
0033デフォルトの名無しさんNGNG
>>32
おい正気か ? 化け化けのページしか表示できないブラウザが続出すると
思われ...。
0034デフォルトの名無しさんNGNG
>>32
っていうかトランスポート層いらない。
0035デフォルトの名無しさんNGNG
もったいなーい
もったいなーい
0036デフォルトの名無しさんNGNG
画像ファイルは、多少化けてても気付かないだろ?
0037デフォルトの名無しさんNGNG
>>36
ヘッダが化けたら、ぐしゃぐしゃになるぞ。
0038デフォルトの名無しさんNGNG
ヘッダ部分だけは、CRCとかでチェックして再送させるに決まってるだろ。
そこまで言わせるなよ。
0039デフォルトの名無しさんNGNG
lynxで。
0040デフォルトの名無しさんNGNG
>>38
なんだ、ネタかよ。バカは、あっち行ってろ。
でかい画像の本体部なら TCP でもお前らが作るへぼルーチンよりまともな
速度が出てると思うぞ。
0041デフォルトの名無しさんNGNG
そうだな、予めlynxでレンダリングしたテキストで送れば
サイズが少なくて済む。
0042デフォルトの名無しさんNGNG
>>41
おいおい、お前ら大丈夫かよ。ページ内の画像がクライアントから
要求されることは知ってるよな。それとも、タグの分だけ少なくなると
言いたいのか ?
0043デフォルトの名無しさんNGNG
lynxは画像要求しないだろ…
0044デフォルトの名無しさんNGNG
>>43
ライントレーサでAA化w

さぁ。みんなでRFCに行こう!
0045デフォルトの名無しさんNGNG
>>43
ああ、やっぱりそう言う知識しかないわけね...。ちなみに IE でも画像
要求しないように設定できることも知らないのか ?

>>43
> ライントレーサでAA化w
変換プログラムがそれなりだったら良いかもしれん。2ch で plug-in
作るか...。
0046デフォルトの名無しさんNGNG
45 はネタしか書かんのか?
0047デフォルトの名無しさんNGNG
>>45
ぷぷっ、それしか言えないのか ? ちなみに、Lynx でも plug-in 入れた
ら、画像も要求するぞ。バカは、とっとと帰ってね。

まあ、後半はネタと言われればそうだがな。
0048デフォルトの名無しさんNGNG
ああ、後付けクンか。 とか、Linxのレンダリングの話だろ…
0049デフォルトの名無しさんNGNG
とか…
0050デフォルトの名無しさんNGNG
lynxだった。
0051デフォルトの名無しさんNGNG
>>48
Linx って言う Typo を直す前に、ちゃんとした日本語にしろよ。
0052デフォルトの名無しさんNGNG
画像にフォーカスした既存技術には、転送時リサイズ・減色があるな。
モノクロ画像にしてくれる delegate サーバがどっかにあった。
intel あたりも転送時圧縮について研究してたはず。

ただ、ユーザが見た目のきれいさを求める方向にある以上、
利用される機会は少なそうだ。
ユーザとしては広告画像だけ選択的に適用したいところだが、
サーバ側としてはオリジナルで見せなきゃいけないものだしなあ。

つうかファイル構造じゃないやん。
00535NGNG
>>12
Netscape 4.0 mailの登場前後に、MIMEタイプ multipart/related を使って、
ページとインライン要素 (リンク含む)を1つのファイルにまとめる技術はあった。

MIME multipart/relatedの、コンテンツ-リンクの表現は、こんな感じ。
 コンテンツ側:Content-IDヘッダーで、コンテンツ内ユニークなIDを付ける
     【例】Content-ID: multipart/related<[email protected]>
 参照側:擬似プロトコル名 cid: を使って、コンテンツのユニークIDを参照
     【例】<BODY BACKGROUND="cid:[email protected]">

これって、obsolateな技術なんでしょかね?
00545NGNG
↑訂正
○【例】Content-ID: <[email protected]>
×【例】Content-ID: multipart/related<[email protected]>
0055デフォルトの名無しさんNGNG
>>43 ライントレーサでAA化
って、そーゆープログラムあるの?

HTTPの要求ヘッダー "accept-type"かなんかで、
表示可能なコンテンツの種類を指定できるから、
画像を欲しがらないブラウザを判別して、
サーバ側でテキスト代替表現を送る事は可能だと思われ。
(漏れはnetpbmの濃淡画像表現くらいしか思い付かなかったけど(w)
0056 NGNG
         
0057デフォルトの名無しさんNGNG
ファイル1つ1つに,メモ欄付きのファイルシステムがあればなぁ…
テキスト以外のファイルの検索性が上げれる気が.
0058デフォルトの名無しさんNGNG
>>54
RDF
0059デフォルトの名無しさんNGNG
まつがえた
>>57
ってやりたかったんだ->RDF
0060デフォルトの名無しさんNGNG
>>51
ぼやいてるだけなのに、ちゃんとした日本語もなにもないだろ。
0061デフォルトの名無しさんNGNG
<img src="data:AHUEHBeubdeybouiBEbYURDB;image/gif">
とかできるようになるスキームがW3Cとかで提案されてなかったっけ?
0062デフォルトの名無しさんNGNG
提案企業と実装系次第...
って、IE(かJava)で採用しないと、普及しにくいんだろーな。
0063デフォルトの名無しさんNGNG
検索システムがもってるキャッシュって、単一ファイルじゃないの??
0064デフォルトの名無しさんNGNG
ページ内のHTMLと画像ファイル等を単一ファイルにまとめるよりも、
全ページのHTMLを単一ファイルにまとめるほうが効果的だと思うけど。
通常は1ページ内に画像ファイルはせいぜい数十個程度しかないでしょ。
0065デフォルトの名無しさんNGNG
>>57
Macintosh HFS
0066デフォルトの名無しさんNGNG
なぁ、htmlをサーバーで圧縮してから転送してクライアントで
復元することでデータの転送量を減らすっていうのはないの?
ちゃんとしたxhtmlなんかは結構圧縮できそうなんだけど。
0067デフォルトの名無しさんNGNG
それは2ちゃんの2001/8/22危機で導入済みのgzip圧縮。
gzip圧縮指定に必要なヘッダの名前は忘れた...
0068デフォルトの名無しさんNGNG
ほぅ。そういうのがあるのか。
それって普通のブラウザ・普通のWebサーバでつかえるの?
0069デフォルトの名無しさんNGNG
>>66
mod_gzip。
http://www.planet-green.com/linux/mod_gzip.html

最近のWWWブラウザはたいがいgzip圧縮に対応している(Accept-Encoding: gzipを
送ってくる)ので、サーバ側の負荷よりも回線容量を重視したい場合には有効。
0070デフォルトの名無しさんNGNG
あっ本当だ。今見たら2ちゃんねるちゃんと圧縮されてるじゃん。
調べがたりんかったスマソ。そして>>67 >>69ありがと。

これって要求のたびに圧縮してるのかな。
静的なhtmlなら一度だけ圧縮しておけばCPU不可はほとんどかからないんじゃ?
そういうオプションもあるのかな? もうすこし調べてみるわ。

# うちのプロバイダで使えるのだろうか?
0071デフォルトの名無しさんNGNG
>>70
HTMLファイルじゃないがftp://ftp.turbolinux.co.jp/pub/TurboLinux/にその例がある。
0072デフォルトの名無しさんNGNG
1 はどこいったんだ?
このままだとおそらくサーバ側の話にならないぞ。
0073デフォルトの名無しさんNGNG
sageでの質問はネタ
0074デフォルトの名無しさんNGNG
>>57 NTFS もそうだよ。

>>1 の疑問に素直に答えるならば、i-nodeが足らないなら増やせばいいし、
オーバーヘッドは問題にならない(なると思うのならその理由を示してくれ)し、
だとしてもそれはOSでキャッシュもったり先読み&遅延書き込みしたり、
でいいじゃん。っていうか、DBにしたところで速くならないよ。
0075デフォルトの名無しさんNGNG
ディスクアクセス分のオーバーヘッドでしょ
10000ファイルを一つ一つ処理するより、1ファイルにまとめて処理したほうが
ディスクのシーク時間が節約できる・・・はず
0076デフォルトの名無しさんNGNG
>>66
プロクシで圧縮して送るという方法もあるな。
■ このスレッドは過去ログ倉庫に格納されています