6

私は意見を求めているのではなく、ドキュメンテーションについてもっと求めています。

多くのデータ ファイル (XML、CSV、Plantext など) があり、それらを処理してデータ マイニングする必要があります。

主任データベース担当者は、ストアド プロシージャを使用してタスクを達成することを提案しました。基本的に、ファイルがシリアル化され、CLOB または XML 列に保存されるステージング テーブルがあります。そこから、さらにストアド プロシージャを使用してファイルを処理することを提案しました。

私はデータベースのバックグラウンドを持つアプリケーション開発者であり、アプリケーション開発についてもそうです。偏見があるかもしれませんが、DBでこのロジックを使用することは悪い考えのようであり、私が言及していることを証明または不承認にするためのドキュメントを見つけることができません電車の線路に車を乗せて荷物を引っ張るように。

私の質問は次のとおりです。正規表現検索、CLOB 内のデータの検索と置換、DOM トラバーサル、再帰について話しているとき、DB (Oracle、DB2、MySQL、SqlServer) はどのくらいうまく機能しますか? 同じ問題について、Java、PHP、C# などのプログラミング言語と比較してください。

編集

だから私が探しているのは、特に文字列の検索と置換、正規表現の検索と置換について、DBMS と比較した特定のプログラミング言語の比較/ランタイム分析に関するドキュメントです。XML Dom トラバーサル。再帰的なメソッド呼び出しでのメモリ使用量。特に、10 ~ 100 GB のデータに遭遇したときのスケーリングの良さです。

4

2 に答える 2

1

ビジネス ロジックをストレージ レイヤーに投入しようとしているようです。あなたが説明したような操作には、データベースを使用しないでください。柔軟性がないために、ショーストッパーの回避策を見つけたり、風変わりなソリューションを作成したりすることになるかもしれません。

メンテナンス性も考慮してください。後で何人の人がソリューションを維持できるようになりますか?

速度について言えば、適切なプログラミング言語を選択すると、複数のスレッドでデータを処理できます。最後に、電車の車でのあなたの気持ちは正しいです;)

于 2012-04-18T11:27:56.650 に答える
1

処理ロジックをデータ レイヤーから引き出すことをお勧めします。データベースでの実装のプロファイリングは困難です。

実装が任意の言語で行われている場合は、ライブラリを選択し、それらのパフォーマンスを比較する自由とオプションが得られます。さらに、(Spring-Batch for Java) のようなフレームワークを選択して、大量のデータをバッチ処理として処理できます。

于 2012-04-18T12:03:59.693 に答える