Wikiの設計に関する動的なやりとり
@zetamatta なるほど、そういうことか。まあ読む人も更新日時を見て、大体記事の信頼度を判断するでしょうし、それほど心配は要らないだろうけど…。最新版に対応した似た様なサイトが無いと狂うしかも知れないね。
2011-07-18 17:53:53Pukiwikiだけど、PHPだけで簡単にWikiを作れる良いソフトだと思うんだけど、常にPHPを発行し続ける時点で、当初の設計思想を間違えたという印象。Wikiの性質上、閲覧≫編集なんだし、閲覧時の不要なPHPの発行によりサイトに負荷がかかり続けてしまう。
2011-07-18 18:03:05これがポータルサイトの様に、ユーザー管理をする場合は仕方が無い気はするが、Wikiでそれは必要無い。基本部分は静的HTMLで、カウンタ等一部動的に変化する所のみ動的生成、と言う風にした方が良い気がする。Wifkyがそんな感じだった気がするけど…、違ったっけ?
2011-07-18 18:06:16@future_ta wifky は、むしろ思いっきり動的ですよ(笑)。本来「静的」であるべき画像発信時まで Perl が動いてますからね。
2011-07-18 18:09:43@future_ta Wiki で静的は HTML を生成するものは、むしろ少数派ではないかと。静的な HTML だと、ページのサイドバーに「最近更新されたページのリスト」とかを出したり、制約が増えますからね。逆に言うと、そういうの諦めれば済むだけの話かも。
2011-07-18 18:13:41@zetamatta その辺りを考慮しても、もう少し何とかならないかなと。最近更新されたページにしても、最初に表示される時だけ動的生成、以後は静的表示で行けるはず。常に動的に生成する必要のあるコンテンツって、特にWikiの場合ほとんど無いと思うんだけど…、その辺りどうなんだろう?
2011-07-18 18:17:39この前やったPukiwikiの静的HTML化では、編集時にスクリプトに飛んで、保存時静的HTMLを自動生成して戻る、という処理をしてたんだが、常に動的生成が必要な部分まで対応出来てなかった。最初からそう言う設計思想で作られたエンジンがあればもっと上手く行くんじゃ無いかと…。
2011-07-18 18:21:11こんにちは。wikiのUIである「ページの存在を動的に調べて描画する」挙動が、動的前提の設計を促しがちです。また、他ページをincludeするような機能も同様です。これらをもっとうまくやりたいと思われるのはその通りだと思います。 @future_ta @zetamatta
2011-07-18 20:21:32Wikiに関しては、小中規模(~10,000PV/日)は動的生成、~大規模(100,000PV/日)は静的生成、それ以上はDB連携タイプを使うべきだと感じてる。小規模の場合使い勝手優先、大規模になるとサー負荷軽減やミラーを考慮、それ以上は同期と負荷分散の観点からこうなるかと。
2011-07-18 21:01:05正直この辺りは感覚的な物でしか無いんだけど、長年この業界に足突っ込んでると「なんか変」という感じることがあって、落とし穴を避けるたりするときには結構重要。
2011-07-18 21:04:42@zetamatta アレは超大規模なのでDB連携タイプかと。負荷分散を考慮すると、複数サーバーでの編集に対応しつつ同期処理をしないと駄目なので、DBを使わないと多分対応出来ないんじゃないかと。
2011-07-18 22:01:43たぶん静的HTMLが有効なのは、単サーバーかつ数万PV/日ぐらいのアクセスがあるサイト。想定としては、かなり人気のある個人管理のWikiサイトという感じ?ある意味需要がピンポイント過ぎて、誰も作らないのかも…。
2011-07-18 22:04:17@zetamatta 言いたいことは解った。ただ、なんか私の中では、何となくDBタイプと動的生成タイプは違うという認識なんだ…。実際の所内部ではどうなってるんだろう?整形済みのデータをDBに格納しているのか、取り出し時に処理をしているのかで大分違う気がする。
2011-07-18 22:11:14@future_ta 取り出し時に整形するのが原則だと思うが、毎回整形していてはコストがかかるから、キャッシュデータを別途持たせてるとかしてるんじゃなかろーか。おそらくハイブリッド?【この辺はあくまで想像】
2011-07-18 22:16:44@zetamatta まあ、複数台で負荷分散することを考えると、少しぐらいのコストはマシンの台数で押し切ることが出来る気はする。この辺りの超大規模システムの設計思想って、実際に携わってる人に聞かないと解らないんだよね…
2011-07-18 22:20:34@future_ta なんか「はてな」の中の人が、そういう本書いてなかったっけ? 一応買ったけど、大阪に置きっぱなしだ。はてなダイアリーなんて、作りは Wiki と同じはずだからね。(自動キーワードリンクなんか)
2011-07-18 22:24:28(以下、補足ツイートなど)
ホスティングサイト上のPHPだけで実現する場合、大まかにはタスク(ロード)を分割統治するスケジューラーのようなもの、gcのようなもの、セッションをまたいで資源管理するカーネル然としたものが必要だろうと思っています。誰か作らないかな? @future_ta @zetamatta
2011-07-18 20:27:54@zetamatta @future_ta MediaWikiでは様々なレベルでキャッシュ・メカニズムが駆使されていて、ファイル・キャッシュの利用も可能のようです。 http://t.co/oHkmRJc http://t.co/Lb7iQJm
2011-07-21 21:53:23