- ベストアンサー
外部データのリアルタイム取り込み方法について
- 外部データのリアルタイム取り込み方法について質問します。システム初心者ですが、助けが必要です。
- エクセルやアクセス以外に、高速にデータを取り込む方法はありますか?MYSQLやポスグレやSQLSERVERで可能なのでしょうか?
- 大量のデータがリアルタイムに入ってくる場合、どのように対応すればいいですか?商品やサービス、ソフトウェア、ハードウェアなど、どのようなものが必要ですか?アドバイスをお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
バッチ形式でいいなら、かなりの高速でデータの取り込みは可能です。 もちろん、CPU、メモリ、I/O,ネットワークがきちんとしていることが前提ですが。 一方、ランダムに細切れのトランザクションデータが一秒間に数万件書き込み要求を行うとすると通常のRDBMSでは商用製品を使ってもまず無理でしょう。このような場合はDISK I/Oがボトルネックになってしまいます。通常1スピンドルのDISKのIOPSは数百件に過ぎません。 どんなシステムなのかわかりませんが、非機能要件として無理があるような気がします。 可能性があるとすれば分散キャッシュ技術とデータベースの分散化、SSDのDISK書き込みのキャッシュ利用あたりでしょうか。 OracleならOracle Coherence + RAC + Database Smart Flash Cache PostreSQLなら Postgres XCあたりが候補かなと思います。
その他の回答 (2)
- Siegrune
- ベストアンサー率35% (316/895)
>1秒に数1万件は数字データがくると思います。 本当ですか? また、社外から受け取るのですか? 例えば、購買情報なら、納入先住所やらなにやら入れて少なくとも、1件1KByteくらいは必要なので 例えば5万件なら、50Mbyteはくる勘定になるのですが。 社外からくるなら、 これって、(1byte=8bitなので)常時400Mbpsの回線が必要ということです。 →光でもまだ、最高200Mbpsの現在少なくとも2本は入れないと処理できないことになりそうです。 実際は、「最高」なので、回線を10本くらい引く必要ありそうですが。 (2本以上で分割して取得できますか?) もし、それだけ大量なら、ネットワーク機器(ルーターなど)をその回線数用意して、 サーバも同数用意して、そのサーバで、データを受信する。 →データベースサーバは複数置くと大変なので、1台として、 受信したサーバから専用アプリケーションを開発して、それで書き込むとかしないといけませんが。 そもそも、送るほうも同様の環境が必要ですが、 それだけの環境を用意しているとも思えませんが。 社内の別サーバからなら、専用のギガビットイーサネットLANを1ないし複数引けば 回線速度はクリアできるはずですが、DBサーバ側の処理が追いつくかどうか疑問です。 Oracleのグリッドサーバ技術とかを使えばクリアできると思いますが、 このあたりは、初心者が手におえる領域じゃないです。 専門業者に相談されることをお薦めします。 で、件数が間違いでないのなら、いずれにせよ、はっきりいって、費用はその辺の会社が 出せる額ではなくなりますし 失礼ないいかたで申し訳ないのですが、実現できるだけの費用が出せるだけの会社なら、 「システム初心者のものです」といわれる方しかシステム部門の担当者がいないというのは 疑問に思ってしまいますが。
- yambejp
- ベストアンサー率51% (3827/7415)
>1秒に数1万件は数字データがくる MySQLでとれないことはないでしょうけど、検索や集計などを考慮すると フリーのSQLレベルの処理ではなさそうです。 オラクルなりきちんとしたソリューションで処理してください。 それにしても1秒数万はとても実用レベルだとは思えないですが・・・
お礼
ありがとうございました。 クライアントにはごめんなさいをしました。 システムは難しいですね、なんでもできるようなイメージがありますが、 実際はできないことも多いですね。