クラウド上のウェブサービスのデータストアの選択について。

HerokuやCloudBeesなどの環境で動くウェブサービスで、この人力検索はてなのようなQ&Aサイトをある特化したジャンル・集団に絞って作ろうと考えています。
データストアの選択として、現在大きく分けて、MySQLやPostgresなどRDBをつかうのか、MongoDBやRedisなどのKVS・NoSQLを使うのかという選択があると思います。
アクセスが少ない小さなウェブサービスの場合、KVSを使うメリットはほとんど無いと考えていますが、KVSを選択したほうが有利になるのは、どのくらいの規模になったときでしょうか?
また、たとえば、一日のユニークユーザーが1000〜2000人の人力検索はてなをつくろうと想定したばあい、ベストなデータストアは何だと思いますか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/01/24 16:25:02
  • 終了:2013/01/31 16:30:03

ベストアンサー

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202013/01/24 17:06:57

ポイント50pt

RDBMSを使うか否かという選択は、トランザクション量(ここではユニークユーザー数と仮定)ではなく、登録データの検索や2次利用(データ抽出)が多いかどうかという観点で見ます。検索・抽出の頻度が多いならRDBMSが有利ですが、そうでなければNoSQLや、場合によってはテキストファイルで十分なことがあります。

人力検索の場合、絞り込み検索の頻度がどの位あるのか分かりませんが、データ抽出はまず無いでしょうから、RDBMSを全面的に利用するメリットはそれほどないでしょう。
質問一覧に表示する項目だけをRDBMSで管理し、質問文や回答文はテキストファイル(またはXMLのような構造化テキスト)として保管し、ファイル名やハッシュ値でRDBMS側とリンクさせるのが無難なやり方です。

その意味では、ユニークユーザー数にかかわらず、インデックスはRDBMSで、コンテンツ本体はKVSで管理するのが無難と言えます。

その他の回答(1件)

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202013/01/24 17:06:57ここでベストアンサー

ポイント50pt

RDBMSを使うか否かという選択は、トランザクション量(ここではユニークユーザー数と仮定)ではなく、登録データの検索や2次利用(データ抽出)が多いかどうかという観点で見ます。検索・抽出の頻度が多いならRDBMSが有利ですが、そうでなければNoSQLや、場合によってはテキストファイルで十分なことがあります。

人力検索の場合、絞り込み検索の頻度がどの位あるのか分かりませんが、データ抽出はまず無いでしょうから、RDBMSを全面的に利用するメリットはそれほどないでしょう。
質問一覧に表示する項目だけをRDBMSで管理し、質問文や回答文はテキストファイル(またはXMLのような構造化テキスト)として保管し、ファイル名やハッシュ値でRDBMS側とリンクさせるのが無難なやり方です。

その意味では、ユニークユーザー数にかかわらず、インデックスはRDBMSで、コンテンツ本体はKVSで管理するのが無難と言えます。

id:pretaroe No.2

pretaroe回答回数531ベストアンサー獲得回数752013/01/24 22:21:49

ポイント50pt

>一日のユニークユーザーが1000~2000人の人力検索

このレベルなら、RDBで十分対応可能です。
RDBMSは過去のノウハウもありますし、意外と高負荷に耐えれるので、これでできない規模のサイトというのは少ないかもしれません。

あと、表示部分をなるべくキャッシュする機構にして、RDBにアクセスが行かないようにすれば、かなりの高負荷にも耐えれると思います。

RDBを使うとデータの管理が容易になるというのがあります。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません