人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

業者に作成してもらったデータベースが動きません。
解決の道を探しています。

<経緯>
あるシステム業者にデータベース作成を依頼。(php・postgresql・apatchを使用したらしい)

しばらくはきちんと動いていたのですが、データがおおよそ1万件を越えたあたりから非常に重くなり始める。

2万件を越えたあたりで、データの全件インポート・全件エクスポートができなくなる。(業者によると、総データ量が大きすぎてタイムアウトをしてしまうとのこと)

解決方法を2つ提示される。
A.データを分割してインポート・エクスポートする
B.弊社のサーバを増強する

Aでは、システムに分割機能を持たせるには追加料金画必要。
Bでは、費用は自腹。それで解決しなくても補償は無し。

<前提>
取り扱うデータ件数は数万件単位になると開発段階で伝えている。(ただし要件定義には記述なし)


このケースでは業者の言うとおり、こちらが追加発注もしくはサーバ増強をしなくてはいけないのでしょうか。
なるべく低ダメージで解決する方法はあるのでしょうか。


アドバイスよろしくお願いいたします。

●質問者: petem
●カテゴリ:コンピュータ
✍キーワード:Apatch PHP postgreSQL アドバイス インポート
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● KUROX
●19ポイント

http://support.microsoft.com/kb/813827/ja

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19682&am...

-----------

B.弊社のサーバを増強する

->仮に2万件が出来るようになっても、4万件になったらまた駄目になるかも

わからない。そのときは・・・。

◎質問者からの返答

おぉ。

タイムアウトって防げるんですね。

試してみます。ありがとうございます。


2 ● b-wind
●19ポイント

データがおおよそ1万件を越えたあたりから非常に重くなり始める。

よほど複雑な処理化、設計が腐っているか。

いまどきのサーバースペックならちゃんと設計すればこの程度で重くなることはないです。

が、現状そうなってしまったものはどうしようもなく用件定義にも記述されていない以上、

再チューニングを依頼するしかなさそうです。


2万件を越えたあたりで、データの全件インポート・全件エクスポートができなくなる。

こちらは純粋にデータ量に依存するので、設計とかはあんまり関係ないです。


分割インポート・エクスポートでは状況にもよりますが、DBの整合性が取れないですし

サーバースペックをあげても高々数倍にもなりません。(ディスクアクセスや回線速度のほうが問題のため)


書かれていないので正確にはわかりませんが、インポート・エクスポートは Web のインターフェイスでやっているものと仮定します。

とりあえずの対応としては(おそらく Apache)のタイムアウト設定を長くすることでその場はしのげるでしょう。

本質的には直接エクスポートするのではなく、いったんサーバー上にエクスポートファイルを作成し必要に応じて圧縮。

それを別手段(CGI とか FTP とか)で転送するようにすれば、データ量の増加には耐えられます。

◎質問者からの返答

なるほど。。。

ちょっと先方に可能かどうか確認してみます。

(そんな方法があるならどうしてやってくれなかったんだろう???まさか知らなかったのでは。。。)


3 ● Baku7770
●18ポイント

構成やこの質問及び過去の質問から中堅不動産業にお勤めと推測して回答いたします。

ソフトハウス(以後SHと略記)がどのような業者か判りませんがこれも中堅どころで、ハードもメーカーの2次店かその傘下或いは量販店のようなところから購入されたと言うのであれば質問文に書かれているように追加発注或いは機器の増強しか手がありません。

サーバをIBMなどの外資系メーカーから直接或いは1次店から購入したのならハードウェアの増強で効果があるかを確認するためにメモリなどの貸出を受けることができますが。富士通やNECなどの大手国産メーカーから直接或いは1次店から購入したのならメーカーが仲裁に入ってくれますが。

国内メーカーのSEで拡販とトラブルシューターを15年弱勤めてきましたが、性能問題の判定は非情に対応が難しく、例えばOracleのような商用DBと違ってpostgresqlなどのフリーのDBだと本当の意味で情報がないなど対応が取れませんのでどんなSHであろうがまず使わせませんでした。

さて現状抱えている問題の解決ですが、まず2の手法をとるとしてもどこまでの対応が可能なのか事前に確認が必要だと考えます。そのため費用はかかりますが、レンタル会社に依頼するか、メーカーの窓口に連絡をとって対応をお願いしてみて下さい。

レコード長なども書いていないので単純な比較はできませんが、私個人が扱っているデータ量は半年に1回60万件を扱い、毎週10万件のデータを半日で処理させています。

むしろ他の業者に依頼して新たに作り直した方が後々のためだと思います。

◎質問者からの返答

>むしろ他の業者に依頼して新たに作り直した方が後々のためだと思います。

そうですよね。。。

一般的にはどのように業者選定を行うのでしょう?


4 ● paraizo
●18ポイント

postgresqlのバージョンが分かりませんが流石にvacuumはしてますかね?

あとはpostgresqlのバージョンを8.2に上げると別物のように速いですがリスク高すぎですね。

全件インポート、エクスポートはb-windさんが仰っているようにサーバサイドでコマンドラインなどでやればタイムアウトすることはありえません

◎質問者からの返答

>postgresqlのバージョンが分かりませんが流石にvacuumはしてますかね?

・・・。勉強します。

>サーバサイドでコマンドラインなどでやればタイムアウトすることはありえません

これが一番有効な対処法のようですね。試してみます。


5 ● ikedamama
●18ポイント

コマンドラインでやればその程度の件数

増強なしでやれる筈ですよ。

ただ上記の方もコメントされてますが、

データベースの構造しだいではありますが

もしかしたら外注に出して居るのかもしれませんね

◎質問者からの返答

>データベースの構造しだい


もしそれすらできないようなアホな構造してたら、責任を問えたりできるのでしょうか?


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ