1. クラウドソーシングTOP
  2. みんなのお仕事相談所
  3. 公表済み統計アンケートデータを使い易いように編集したデーターベースを利用して貰うサイト構築に関する費用概算について
みんなのお仕事相談所

「みんなのお仕事相談所」では、ユーザーさまのご依頼の相場や製作期間、
契約書やお金に関する悩みを気軽に相談できるQ&Aコミュニティです。
違反案件についてはよくある質問の「【共通】違反のお仕事とは」をご覧ください。
また、違反報告についてはよくある質問の「【共通】違反報告とは」をご確認ください。

発注者からの相談
サイト構築・ウェブ開発の見積もり・相場に関する相談

公表済み統計アンケートデータを使い易いように編集したデーターベースを利用して貰うサイト構築に関する費用概算について

解決済
回答数
10
閲覧回数
748
困ってます  : 困ってます


特定のサイトに一般公表されている統計またはアンケートデータ(主にテキスト)を一定時間ごとにクローリングして、
これを関連する事項ごとにデーターベース化し、これをユーザーに提供するサイトの構築は幾らぐらい必要でしょうか?
あわせて、システム関連について全くの素人であることを前提に、
ある程度の保守ができるよう当方への教育も御願いしたいと思っています。

ファイル数は10万単位のファイルがありますが、主にテキストデーターであり、
公表日付やファイルの種類で纏めれば、幾ばくかの大きなくくりで纏めることも可能です。
区切り易いテキストデータですので関連する事項ごとに切り分けるのはシステム的には難しくないと思っていますが、
切り分けるためのキーワードが官庁によって毎年ある程度変わるため時期ごとに切り分ける方法を変える必要があります。

これをユーザーが「数値」「年月日」「特定の事項」「特定のキーワード」などでデータを抽出(検索)して貰い、
これらの結果を比較できるようなサイトをイメージしています。

それから、1日1万PVあった場合の月額のサーバー代、秘密保持契約の有無による増額があるか、
ソースコードを貰う場合は如何程増額になるのか等も教えて頂けないでしょうか?


あれだこれだとありまして恐縮ですが、御支払い概算を教えて頂けないでしょうか?
また、見落としていそうなな事項の指摘があれば是非教えて下さい。

複数の方の回答をお待ちしております。

2015年06月01日 22:04

ベストアンサーに選ばれた回答

yosatonetさんからの回答

おはようございます。

ご回答いただきかなり収穫がありました。ありがとうございます。

当初、想定していたよりもハードルはかなり下がりました。

まず、データの構造ですが、その構造であれば横に4000項目になってしまいます。
この横の項目数がコンピュータやデータベースにとって扱いにくいデータとなります。
しかし、この横の項目数を減らし、その分の情報を縦方向にもっていく正規化という整理の方法があります。
単純に言うと、
「どの年代の」「男性、女性のどちらの」「いつのアンケートの」「どの設問に」「どう答えたか」
の5項目です。
さらに「アンケート一覧表」を別に用意することで、項目がまた減っていきます。

その代わりに縦のデータ数がとても大きくなります。
しかし、データとしてははるかに格納しやすくなります。

そのデータを閲覧者が見る際に加工して、指定した「いつのアンケートの」「どの設問の結果を」「合計、平均、個数?などを選ぶ」という処理をデータベースに行わせます。

ちょっと想像しにくいでしょうか。
でもこれがおそらく今回のケースの一番シンプルでスタンダードな方法だと思います。

ネックは総データ数です。上の例でいえば、すべてのアンケートのすべての設問の「どう答えたか」の総数です。
これによって格納できるデータベースサーバーが決まりますので、データベースソフトの初期投資費用、運用コストが大きく左右されます。

ということで、1~4の質問に回答いただいた上で、心配な部分が減りましたので、私のできることを提示させていただきます。

・要件の定義 5000円くらい?
どんな元データがあって、それをどんな仕組みに入れて、最終的にユーザーにどんな画面で提供するか
・試作品の作成 30000円くらい?
データの取り込み部分はおそらく簡単にできるので、その後、上記のような項目で入れたデータベースに対してどのような画面でユーザーに見せるか。ユーザーがリストから項目を選択して、最後の結果の一覧にたどり着くまでの動作をExcelで試作します。

です。普段は要件の定義は無償なのですが、今回大きなデータを分析しなければなりませんので2時間の工数を頂戴します。

その後のシステム作成はデータベースがMySQLでできるものであれば20~30万円です。
試作品作成後に追加機能などがあったりすると思いますし、そもそもMySQLでいいのかもまだわかりませんので、また相談させてください。

2015年06月03日 09:52

すべての回答

ソラ君さんからの回答

内容からお察ししますのは、それなりの性能要求を必要としている気がします。

>ファイル数は10万単位のファイルがありますが、主にテキストデーターであり、
>公表日付やファイルの種類で纏めれば、幾ばくかの大きなくくりで纏めることも可能です

オラクルDBなどが実装しているパーティションチューニングのイメージでしょうか?
パーティションチューニングとパラレルチューニングを組み合わせる事で確かに処理速度はある程度期待できます。

但し、そういうRDBMS製品は製品自体が非常に高価です。
http://otndnld.oracle.co.jp/training/ord-seminar/partition01/partitioning.pdf
自社内でRDBMS Serverを構築されるのか? レンタルサーバー上に実装されるのかで価格は違ってきます。

サーバー自体のレンタル料は業者によりまちまちですから、レンタル業者に問い合わせるのが正解だと思います。
機密保護に関しましても、ネット上のセキュリティを指しておられるのでしたら
同様にレンタルサーバーの保守契約になると考えます。

当然ですが、性能要求が高ければ高いほど比例して高額になってまいります。

アプリ側でパラレルチューニングやパーティションチューニングに対応したアプリを構築希望されているのであれば100万円〜と考える方が良いかもしれません。

ちなみにパラレルチューニングは物理CPUの数で大きく性能が左右されます。


2015年06月01日 22:31
ソラ君さんからの回答

ちなみに、パーティションチューニング・パラレルチューニングオプションはRDBMSメーカーの有償商品です。
これらはOracle社などに直接製品の総合価格を問い合わせるのをお勧めします。

こちらでは、純粋に開発料金のみのご提示しかできません。

2015年06月01日 22:42
ソラ君さんからの回答

レンタルサーバーの性能保証などはアマゾンクラウドサーバーなどいろいろなブランがありますので、規模や性能要求をお話しされて見積もってもらうと良いと思います。

2015年06月01日 22:55
相談者コメント

御返信、ありがとうございます。

まず、企業による開発でなく個人です。
大規模な開発になってしまうとは思いませんでした。

素人甚だしい質問で恐縮ですが、テキストデータから抽出した内容をエクセルにすると、
行が4000、列が2000、
行は3つのグループに、列は大項目で2グループ、中項目で5グループに纏められます。
セルの内容は数値だったり、文字列だったりでして、文字列は大体2000字以内です。

これが3年分あるとしても、やはりオラクル社の製品を使うなどの
大規模な話と、結構な費用になってしまうでしょうか?

条件は付くとは思いますが、費用を抑えた方法で、
可能性の有る良い方法または方向性は他に無いでしょうか?

沢山の御返信をお待ちしております。

2015年06月01日 23:21
ソラ君さんからの回答

10万単位のファイルがあると言う事をどうお考えになるかでしょう。
それをどう組み合わせるのかは、私どもではわかりませんが。

また、どういうふうにそれだけの数のファイル(テーブル)をJOINするのかも想像できておりませんが、価格を抑えるのでしたら性能を犠牲にするしかないと思います。

理屈だけで言えば、ファイル数(テーブル)が多いほど、ディスクのアクセスは頻繁になります。 つまり、数が多ければ玉(HDD)の数を増やしてHDDを分散します。

それによりディスクヘッドが増えますので物理的によくなると言われています。
また、クラスタリングを構築される際、パーティション単位でディスクをわけると効果がでます。

パーティション分割をされたテーブルをパラレルチューニングしたSQL(パラレルSQLと言います)で処理を発行しますとパーティション単位に物理CPUを割り当てます。

つまり、パーティションが2つの組みでCPUが2つ搭載されていれば、並列してアクセスパスを発行しにいきます。

ただし、それに対応しているRDBMSが必要です。 対応していなければ・・・パーティション単位でCPUに割り当てをしませんのでそのような効果は期待できません。


条件と言うか・・・テーブル数が多くそれらを結合するなら当然結合処理が発生しますのでそれ相応の処理が必要となります。

ファイル(テーブル)をまとめてしまえば、JOINの処理はアクセス時に発生しませんので少しは改善が見込めるでしょう。

また、巨大なテーブルはメモリーを圧迫します。
必要最小限の情報以外は切り捨てる事で改善できる可能性もあります。

10万のファイル(テーブル)の情報が本当に全部必要なら調整しようがありません。
また、HDDをSSDなどにする事でアクセス処理を改善できると思います。

おそらく高価なRDBMSを導入するより、HDDをSSDにするなどの工夫をするほうが安くあがります。 
自分の「想像」ではパーティションチューニングパック・パラレルチューニングパック・Oracle エンタープライズ RDBMSを導入するだけで500万円前後するかと思いますので。

それなら大容量のSSDを多く導入したハードを購入されるほうが安くあがるでしょう。


>素人甚だしい質問で恐縮ですが、テキストデータから抽出した内容をエクセルにすると、行が4000、列が2000、行は3つのグループに、列は大項目で2グループ、中項目で5グループに纏められます。
>セルの内容は数値だったり、文字列だったりでして、文字列は大体2000字以内です。

10万のファイルをアクセスした結果でしょうか? 
その中の数種類のファイルではないのでしょうか?

全部で10万のファイルがあると言う事ですが、必要なファイルは数種類なら話はまた変わってくると思います。

本当に利用するファイルの数だけで良いと考えます。

2015年06月02日 01:29
ソラ君さんからの回答

情報を取得・生成するのに必要な同時にアクセスする必要になるファイルの数はどれくらいあるのでしょうか?
10万のファイル全部を同時にアクセスするわけではないのですよね?

2015年06月02日 01:43
ソラ君さんからの回答

私の理解が不適切で、ファイルが10万でそれに伴いテーブルも10万テーブルではなく
たんなるデータが10万レコードなんでしょうか?

見方を変えて、10万ファイルと言うのを10万のデータがあると仮定します。
これを特定条件(Key)で分別してデータを抽出させると仮定します。

>行は3つのグループに、列は大項目で2グループ、中項目で5グループに纏められます。
>セルの内容は数値だったり、文字列だったりでして、文字列は大体2000字以内です。
これは10万件のデータから特定の条件で抽出した該当データと言う事でしょうか。

※ Execlで10万個のファイルをアクセスして抽出条件を判断して出力させたと言う事でしょうか?

仮に10万ファイルでなく、10万レコードだと考えましてもそれなりに時間を要すると思いますが
ファイルの種類で、どれだけの数に分類できるのでしょうか?

といいますか・・・仮にそうだとしまして・・・。
10万データを正しく分類して登録すると言う作業は開発と言う作業に含めておられますか? 
(登録作業をご自身で行われるのであれば、このケースなら価格は大きく下がると思います。)

単純な登録業務であれば、登録専用オペレータを依頼する方法もございます。
ただ、10万件のデータが何万件になるのかで問合せ処理能力は左右されます。

このデータは閲覧できるだけで、よろしいのでしょうか?

2015年06月02日 02:29
ソラ君さんからの回答

補足しますと、10万レコードのデータをテーブルに条件Keyを設定してアクセスする事をお考えでしたら・・・。
おそらく性能要求は相当にひどい物になると思います。
※ 搭載メモリーを多くされますと、それなりに改善はされるとは思います。

完全にテーブル自体を分離して区分けできるのであれば、それなりの性能が出せるかもしれません。

性能要求を要求されないのであれば、それならそこそこ安くなると思います。

2015年06月02日 02:41
ソラ君さんからの回答

仮定としまして、
同時問合せ利用者が100人いて、10万データをアクセスするとします。
結果をXX秒以内に全て表示させる必要がある。 等々の条件があれば価格はあがります。

結果が表示されるまで、どれだけまたされてもよい!と言うのであれば価格は下がります。

2015年06月02日 02:53
相談者コメント

御返信、有難う御座います。

具体的なデーターの体裁が分からないと判断し辛いという様に御見受けしました。
本案は締め切らず、具体的な内容をもって再質問して見たいと思います。

それから、沢沢山の意見を求めて相談しておりますので、
回答が複数にわたると他の方が回答し辛いように思います。
御答え頂いて有難いところですが、纏めてお答え頂きたく思います。

よろしくお願い致します。

2015年06月02日 07:19
yosatonetさんからの回答

おはようございます。

岡崎様の回答のとおり、内容を拝見しますとDB的にはとても大規模かつ高機能のように感じました。
しかし、個人で運営されるということに対してデータの量が多すぎるかの知れないと思いました。
実はもう少し単純なのではないかと。

そこで、回答する上で知っておきたいことは次のとおりです。

1)
>列が2000
これはDB的には項目数が2000項目あることを意味します。
しかし、本当に2000項目あるのでしょうか。
Excelで横に2000項目あったら一覧表を閲覧するにも大変ですし、それを情報を限定してユーザーに見せるにしても、どう閲覧させるか想像がつきません。
この2000項目というのは、なにかのピボットテーブル的に縦横集計したあとのデータなのではないでしょうか。
集計前は、実は項目数は少ないとかございませんか?
そういう意味でも、まずは、データの正規化のプロセスを一旦踏まないと全体が見えないかも知れません。

2)
サイトの目的です。
個人で運営ということでした。しかし、ある程度大きな費用は発生すると思います。
ボランティア的にデータを提供するサイトを作りたいのか、閲覧は無料だけど広告収入を得るだとか、会員制のサイトにするとかあると思います。
それによってデータの正確性だったり、速度だったり、使いやすさが変わります。

3)
運用は全自動でお考えでしょうか?
本当に仰るとおりの大きさのデータであれば、サーバーサイドで全自動で行うととても負荷が高く、専用サーバーを使用する=メンテナンスが大変だったり技術トレーニングが必要だったりという要素が増えるとかになってしまいます。
データの収集と集計は今実際にやられていたように手元のパソコンでExcel的に行って、その結果をサーバーにアップロードするという非常にローカルで単純なシステムという選択肢もあります。
毎日なにかしらの手作業やパソコンを占有して使うことになったり、パソコンが壊れた時のことを考えなければならなかったり、いろいろ不安定な要素は増えますが、理解しやすいシステムで工数もおのずと少なくなります。
それは極端としても、例えば元データは日々更新されるものではなく、1年1回とかであれば自動取得の意味もあまりないかも知れないです。

4)
>システム関連について全くの素人
とのことですが、これだけのシステムを理解していただくためには100ページのマニュアルと50時間程度のトレーニングが必要です。
実際はExcelのデータベース機能を使えるとか、phpmyadminの画面でMySQLを操作したことがあるとか、そのくらいのスタートで考えることができれば、数ページのマニュアルと1時間のSkype打ち合わせ数回で済むかも知れません。

以上4点お聞きしたいと思います。

2015年06月02日 10:34
相談者コメント

ご返答、有難うございます。

色々な御意見を頂戴できるのは、大変有難く思います。
岡嶋様、yosatonet様、ありがとうございます。

上記のメッセージですが、(1)につきましては、
行に対象となる性別・国別・対象年齢があり、
列に対象者を対象としたアンケートの質問と結果が並んで掲載されています。
つまるところ、列はアンケートの問の数だけあります。
行も列も増減がありますが、これが3年分あるという状況です。

例えば、米国籍40台男性が行にあり、質問の内容がA列に回答がB列にあるイメージです。
C列・D列・・・と同じ形でQAが続きます。
このようなデータですので、A列の質問の結果だけを一覧または一部のみ欲しい場合は、
行とA列とB列があるだけでも足ります。

なお、10万のデーターはエクセルの様な形で存在しますので切り張りしやすいデーターです。

(2)につきましては、半分以上ボランティア、残りは自分のデータ調査のために作りたいと思っています。
そのため、無料で公開し、同様の検討を進めている方に使って頂きたいと思っておりますが、
データを間違えることで損害賠償が発生するようなことは考えておらず、
ディスクレーマー対策の一文は入れたいと思っています。

(3)につきましては、全自動は考えていませんが、
最新の情報が有用なこともあるので8割方自動で動いてくれると有難いとは思っています。
特に、アンケートの質問と結果が変わりますので、これに対処したいとは思っています。
なお、情報自体は月一程度ですが、何時出るかわからない状況です。

(4)につきましては、自助努力が必要なことは重々承知しています。
しかしながら、社内に詳しい者がいなくても企画して運用している現況を聞きますので、
最終的に取りえる方法はアウトソーシングなのかもしれませんが、
素人+α程度のままで他の良案があれば、本掲示板の趣旨どおり「相談」したいと思っておりましたが・・・。

以上、御返信申し上げます。

引き続き、他の方の意見も含めてご返信をお待ちしております。
(少したちましたら、再検討のうえ再度ご質問するかもしれません。)

2015年06月02日 23:31
yosatonetさんからの回答

おはようございます。

ご回答いただきかなり収穫がありました。ありがとうございます。

当初、想定していたよりもハードルはかなり下がりました。

まず、データの構造ですが、その構造であれば横に4000項目になってしまいます。
この横の項目数がコンピュータやデータベースにとって扱いにくいデータとなります。
しかし、この横の項目数を減らし、その分の情報を縦方向にもっていく正規化という整理の方法があります。
単純に言うと、
「どの年代の」「男性、女性のどちらの」「いつのアンケートの」「どの設問に」「どう答えたか」
の5項目です。
さらに「アンケート一覧表」を別に用意することで、項目がまた減っていきます。

その代わりに縦のデータ数がとても大きくなります。
しかし、データとしてははるかに格納しやすくなります。

そのデータを閲覧者が見る際に加工して、指定した「いつのアンケートの」「どの設問の結果を」「合計、平均、個数?などを選ぶ」という処理をデータベースに行わせます。

ちょっと想像しにくいでしょうか。
でもこれがおそらく今回のケースの一番シンプルでスタンダードな方法だと思います。

ネックは総データ数です。上の例でいえば、すべてのアンケートのすべての設問の「どう答えたか」の総数です。
これによって格納できるデータベースサーバーが決まりますので、データベースソフトの初期投資費用、運用コストが大きく左右されます。

ということで、1~4の質問に回答いただいた上で、心配な部分が減りましたので、私のできることを提示させていただきます。

・要件の定義 5000円くらい?
どんな元データがあって、それをどんな仕組みに入れて、最終的にユーザーにどんな画面で提供するか
・試作品の作成 30000円くらい?
データの取り込み部分はおそらく簡単にできるので、その後、上記のような項目で入れたデータベースに対してどのような画面でユーザーに見せるか。ユーザーがリストから項目を選択して、最後の結果の一覧にたどり着くまでの動作をExcelで試作します。

です。普段は要件の定義は無償なのですが、今回大きなデータを分析しなければなりませんので2時間の工数を頂戴します。

その後のシステム作成はデータベースがMySQLでできるものであれば20~30万円です。
試作品作成後に追加機能などがあったりすると思いますし、そもそもMySQLでいいのかもまだわかりませんので、また相談させてください。

2015年06月03日 09:52
相談者コメント


御返信、有難う御座います。
当方にも分かり易い丁寧な回答を頂きまして感謝しております。

個々の御返信につき御返信しようと思いましたが、
御指摘頂いた様に詳細が決まらない限りは返信のし様が無いところも多々あると思いますので、
まずは熟読させて頂いて、今後の方針および企画詳細を纏め上げようと思います。

詳しい説明に対して短文の御返信で恐縮ですが、
重ねて御礼申しあげます。

2015年06月03日 21:22
不安や疑問に真摯に向き合い改善につとめます クラウドワークス安心安全宣言