|
本帖最后由 yulihua49 于 2013-4-24 13:13 编辑
newkid 发表于 2013-4-23 22:24 ![]()
看看慢在哪个环节,1000行数据怎么可能慢?
1000w行数据,不是1000行。
测试时是400W行。
在一个盘上读写,读之后csv格式处理,既没有多线程,又没有并行吧?
读与插,单一流程,交替进行,没有并行。
看我们的架构:
从客户端的盘上读文件(与数据库不是一个盘,完全并行的)(异步,发出去不管,立即读下一行)
分12个线程解析CSV格式
1000个记录一组,发到3台服务器(异步,发出去不管,立即收集下一分组),96个线程进行计算。
计算结果交给12个连接,通过2台RAC节点同时插入。
每个环节都是独立并行的。
你就一个SQL语句,能控制这么多资源吗?
你好比是特战高手,论武功,擒拿格斗,我绝对不是你的对手。
但是我要进行的是多兵种协同的海空一体化联合演习,拼的是架构。这个架构的薄弱环节就是数据持久化,苦于没有高性能的持久化工具。
ORACLE,给了我们一个高性能的持久化平台。方便高效的使用这个平台就是开发DAU的初衷。
DAU融入了,支撑了这个架构。而存储过程难以融入这个架构。这就是环境,环境决定思想。
这个系统:
7台服务器,140核,344G内存,两组磁盘阵列。
当性能不能满足要求时,业主说,给你添机器,你要多少?
(现在有个观点,对于性能,软件已经不重要了,可以用硬件堆。没有合适的软件,你给我堆一个试试)
一个SQL语句,给你机器,你又能怎样呢?你连RAC节点全用起来都不易。
|
|