6

我不是在征求意见,而是在寻求文件方面的更多信息。

我们有很多数据文件(XML、CSV、Plantext 等),需要对它们进行处理、数据挖掘。

首席数据库人员建议使用存储过程来完成任务。基本上,我们有一个临时表,文件在其中被序列化,并保存到一个 clob 或 XML 列中。然后从那里他建议进一步使用存储过程来处理文件。

我是具有 db 背景的应用程序开发人员,在应用程序开发方面更是如此,我可能有偏见,但在数据库中使用这种逻辑似乎是个坏主意,我无法找到任何文档来证明或反对我所指的内容就像将汽车放在火车轨道上以拉动货物一样。

所以我的问题是:当我们谈论正则表达式搜索、搜索和替换 clob 中的数据、dom 遍历、递归时,数据库(Oracle、DB2、MySQL、SqlServer)的性能如何?在相同的问题上,与 Java、PHP 或 C# 等编程语言相比。

编辑

所以我正在寻找的是关于特定编程语言与 DBMS 的比较/运行时分析的文档,特别是字符串搜索和替换、正则表达式搜索和替换。XML Dom 遍历。递归方法调用的内存使用情况。尤其是在遇到 10 到 100 GB 的数据时,它们的扩展能力如何。

4

2 回答 2

1

It is better to pull the processing logic out of data layer.Profiling your implementation in Database will be difficult.

You get the freedom and option to choose between libraries and comparing their performance if the implementation is done with any language. Moreover you can choose frameworks like (Spring-Batch for Java) to process bulk volume of data as batch process.

于 2012-04-18T12:03:59.693 回答
1

听起来您要将业务逻辑扔到存储层中。对于您描述的操作,您不应该使用数据库。由于缺乏灵活性,您最终可能会试图为表演者寻找解决方法或创建古怪的解决方案。

还要牢记可维护性。以后有多少人能够维护解决方案?

谈到速度,选择正确的编程语言,您将能够在多个线程中处理数据。最后,您对火车上汽车的感觉是正确的;)

于 2012-04-18T11:27:56.650 回答