- PR -

最も低負荷でSEOにも配慮した掲示板システム

投稿者投稿内容
YS
会議室デビュー日: 2007/02/28
投稿数: 3
投稿日時: 2007-03-05 08:24
レスが遅くなってしまい申し訳ありませんでした。
たくさんのレスをいただきまして、ありがとうございます。

>じゃんぬねっとさん
>しかし、通報されると | バレると、SEO スパムとしてペナルティを喰らう可能性があります。
●これは私が一番おそれている事です・・
>個人にしては相当な規模だと思います。(私のトコとは大違いで羨ましいですねw)
将来を見据えた選択を視野に入れましょう。
●私も後々こまらないような仕様を組めればと思っております。今回のことも最初の段階でトラフィックやオーバーヘッドを予想できなかった自分のミスだと思っております。
ユーザから「最近重くて困ってます」と言われ、ゲイツのように「仕様ですから・・・^^」と言い切れる度胸があれば問題ないんでしょうがw
レスありがとうございました。

>ひらさん
>負荷軽減だけを考えるなら フリーのPHP掲示板プログラム+MySQLが良いのではないかと。
●これは自己満足ですが、自分のサイトなので自分でプログラム組んで愛情をかけたいと言う浪花節的なこだわりが因子として根底にあるようですww
自分の車は自分で洗車したいというのに似てるかもしれません・・・。もし自分でできる範囲の事であればやってみようと思っております。(ムリな事はできませんが・・・)
>小中規模のシステムで検索機能を実現するのに RDBMS を使うか、検索エンジンを使うかどうかは宗教みたいなものでどれが正しい、ってことはないかもしれません。
●これはすごく理解できます。プログラマやSEでも好き嫌いはやはりあると思いますので。
ネット上でよく論戦になっているのを見かけます。
>ただ、検索など、情報を引き出すことに特化して考えると RDBMS は重く、ライセンスコストも高く付くので RDBMS にはトランザクションだけをまかせてあとは検索エンジンに任せようという「データベースオフローディング」なんて考え方もあります。
●この話非常に興味がありますが、ググってみたんですが、あまり情報がなく良くわかりませんでした。 RDBMS にはトランザクションだけをまかせてあとは検索エンジンに任せよう作戦、実戦できそうならこれをベースにしてみたいような気もします。
>掲示板ではそもそもデータに "リレーション" がほとんどありませんし。
私のサイトでもデータにリレーションをほとんど必要としておりません。I/O+検索を単純にできればOKって感じです。
>Lucene を使った場合のサイジングについては知りませんが、もちろん RDBMS で管理するよりはディスクスペースを必要とするでしょうね。たぶん実データの 3〜10倍程度のスペースを占有するのではないでしょうか。
●Wikipedia日本語版の全文をインデクシングする速度を計測した場合、文章数は約20万、ファイルサイズとしては約700M。
この場合Lucene(速度) 370m 55s (サイズ)1.049 GB(元文章(0.7MB) + 0.349 GB) ですむようです。
レスありがとうございました。

>インギさん
>一番手軽なのはファイルに書き出して、インデックスは自前でもたずに Google に任せてしまう方法ではないでしょうか。
●これは私もすごくそう思ってるんですが(私はgoogle信者でもあります)、クローラが回ってくるまで時間がかかるというデメリットが問題でして・・・
リアルタイム性を重視していきたいと思っております。
レスありがとうございました。

>nagiseさん
>まさにその部分に特化して進化してきたRDBMSを自力で超えられる技術を
お持ちであるのならDBなんか使わずに自力実装すればよいのではないでしょうか。
●恥ずかしいことに、私のスキルはかなり低レベルです。というか素人です。最近JAVAを勉強し始めたばかりで、COBOLを昔使ってたことがあっただけです。
>検索エンジンはSENNAというのも手ですね。
リンク先読んでみましたが、連絡先が未来検索ブラジルになっているので、もしかしたら2ちゃんねる検索はsennaを使っているのかもしれないですね。
レスありがとうございました。

>かつのりさん
>また、リアルタイム性って必要でしょうか。
●これは結構というかかなり必要としています。
また、掲示板の特性としては、スレッド一つごとのレス数は少ないです。
2chのように1000レスで次スレ立てるという流れではなく、一つの質問をするために1つのスレッドを立てるという感じなので、スレッド数が膨大になる傾向にあります。
そのため、膨大なスレッドの中から目的のスレッドを探すために、ユーザは必ず、全文検索を使用するようです。
1番多いパターンは
サイト訪問⇒全文検索⇒if(過去に似た質問がすでにあったら参照だけで閲覧終了)⇒else(無い場合は質問スレッドを立てる)
このパターンです。朝に自分が立てたスレを夜見るためにも夜検索するので、次の日クローラが回ってくるのを待つというのが若干きびしいです。
レスありがとうございました。

>ひらさん
>「SEOにも配慮した」というところにポイントがあるのではないでしょうか?
●よくよく考えてみると、pagerankはファイルに対してつくものではなく、httpリクエストして返ってきたデータに対して(ファイルではなくURLに対して)つくものなので、ファイルの形式がものすごく重要かといわれればなんか違うような気もするんですが・・・(;・∀・)。
自分で質問しといてよくわからなくなってしまいました。
しかし、よく言われる話としては、例えば1つのスレッドを閲覧するために、urlにクエリとか入れたらpagerankがつきにくくなるという話は聞きます。
ですので、hogehoge.jsp?topic=37007&forum=12&0とするのではなくhogehoge.jsp/37007/12/というようにしようとは思っています。
こうゆう事前提でのみなさんのレスをいただけると大変うれしいです。
レスありがとうございました。

なにぶん、素人なもので、見当違いのレスをしてしまったかもしれませんがご容赦ください。
どうかみなさん、上記レスを見ていただいた上でさらに助言をいただけますようどうかよろしくお願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-05 21:44
引用:

YSさんの書き込み (2007-03-05 08:24) より:

よくよく考えてみると、pagerankはファイルに対してつくものではなく、httpリクエストして返ってきたデータに対して(ファイルではなくURLに対して)つくものなので、ファイルの形式がものすごく重要かといわれればなんか違うような気もするんですが・・・(;・∀・)。


はい、PageRank / TrustRank に 「ファイル形式」 は関係ありません。

引用:

しかし、よく言われる話としては、例えば1つのスレッドを閲覧するために、urlにクエリとか入れたらpagerankがつきにくくなるという話は聞きます。


これは検索エンジンによって違います。
Googlebot も、PageRank 5 あたりからのリンクであれば、あまり干渉しないように見えますが。

引用:

hogehoge.jsp/37007/12/というようにしようとは思っています。
こうゆう事前提でのみなさんのレスをいただけると大変うれしいです。


こう い う事を前提に回答はできますが、最初の投稿からではアレが限界でした。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
YS
会議室デビュー日: 2007/02/28
投稿数: 3
投稿日時: 2007-03-06 14:05
>じゃんぬねっとさん

レスありがとうございます

>これは検索エンジンによって違います。
Googlebot も、PageRank 5 あたりからのリンクであれば、あまり干渉しないように見えますが。

現状のサイトをサーバ移動してドメインも取り直して、pagerank0からスタートするので、できればSEOを意識した作りにしたいと思っております。(とはいえ、今でもpagerank5に及んでませんが(;・∀・))

色々悩みに悩んだ末、一応形を決めました。
このスレッドをもう何十回も読みながら悩みましたw

みなさんの意見を色々参考にさせていただき、
DBと検索エンジン(Lucene)をどっちも使うことにしようと思います。
どうせDB使うならDBMSデフォルト組み込みの全文検索でいいんじゃないかとも考えましたが、インギさんのデータベースオフローディングの話や
d.hatena.ne.jp/tasukuchan/20061016での話などを見て全文検索は検索エンジンまかせにすることにしました。
nagiseさんに教えていただいたSennaを使うことも考えましたが、今回はperlではなくJAVAでいくのでLuceneにすることにしました。

DBの形は、かつのりさんに教えていただいた方法にさせていただきたいと思います。
リアルタイム性も求めていますが、負荷>>超えられない壁>>リアルタイム性なのでそうしたいと思います。

かつのりさん推奨の形の
1.参照系DBと更新系DBを分ける
2.書き込みは更新系DBに入れる
3.読み込みは参照系DBに入れる
4.別スレッド・別プロセス等で、インデックス作成+参照系への移動を行う

を見ていて・・ジーっと見ていて・・あ!と思ったのはそういえばDBではないけど2chもこうしているなぁと思いました。
この形で作っていくとして、実現するのに具体的な部分をみなさんに質問させていただきたいです(ずうずうしくてすいません(;・∀・))

まず、DBなんですが、どれ使えばいいと思いますか?
私は実用でDB使ったことはないのです。がんばって勉強するつもりではいます・・・
勉強のために自宅のPCにMYSQL入れてはいますが、他のとかウワサしか聞かないので意見をいただけるとうれしいです。

まず、使うサーバは
さくらの専用サーバ
CPU Sempron 2600+
メモリ 512MB
HDD容量 40GB
ネットワーク 100Base-TX接続

FREEBSD
パーテーション割は以下です
- 1024MB (約1GB)
swap - 1024MB (約1GB)
/var - 4096MB (約4GB)
/usr - 4096MB (約4GB)
/home - 残り全て
※パーティション構成を変更することはできません。

これでいくつもりです。
これにPostgreSQLかMySQLかで悩んでます。
簡単に決めてあとでまた苦しむのが恐ろしくて^^
Oracle 10g の無料版ベータが配布開始とかも聞きましたが、その代わり、CPU は1つ。記憶容量は 4GB まで。メモリは 1GB まで。って制約あるらしいので無理かなと思いまして。

メモリが512MBで足りるでしょうか?
このだとメモリ増設できないので、もしメモリ増設するとしたら別のプランでいくしかないのでこれもお聞きしたいです。

スキルアップ/キャリアアップ(JOB@IT)