现在的位置: 首页 > 综合 > 正文

关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论

2013年08月19日 ⁄ 综合 ⁄ 共 27717字 ⁄ 字号 评论关闭

号称排在国内四大Java组织之后的Java老鸟群(qq群:1775725)的一次讨论:略微删减聊天的部分后的对话,贴在这里,欢迎大家指正:

  magicgod 
 (2240529) 15:27:08
ror还是比较适合个人和小型团队 
 
 magicgod 
 (2240529) 15:27:25
短平快的东西,不太适合大公司 
 
 米米饭 
 (582197) 15:27:40
怎么不说,JAVA也适合比较小的公司或团队 
 
 magicgod 
 (2240529) 15:27:43
公司大了,这么多人,这么多角色总得找点事做吧 
 
 米米饭 
 (582197) 15:27:56
其实ROR压根就没有生存的必要 
 
 magicgod 
 (2240529) 15:28:18
已经存在了,还讨论什么生存的必要啊 
 
 NO.1狗狗 
 (200865271) 15:28:24
那python呢? 

 米米饭 
 (582197) 15:28:51
那就让他灭亡,研究点JAVA敏捷,或PHP敏捷多好 
 
 magicgod 
 (2240529) 15:29:35
倒,灭亡不是个人说了算的,如果它不适应时代,必然灭亡 
 
 米米饭 
 (582197) 15:29:43
多搞出一个敏捷来,其实压根不比别的敏捷更好,又不能比别的有更强的企业特性 
 
 ♂纯月♀ 
 (88659854) 15:29:53
这种东西既然出现了,就让他出现吧 
 
 magicgod 
 (2240529) 15:30:41
php刚出来的时候也是这样说的 
 
 magicgod 
 (2240529) 15:30:53
有生命力的东西会自然延续下去的 
 
 米米饭 
 (582197) 15:32:23
支持ROR不应该用这种理由:) 
 
 magicgod 
 (2240529) 15:32:39
至少我个人觉得在写ror的时候比java流畅 
 
 米米饭 
 (582197) 15:33:49
存在即合理,是懒人的托辞,我觉得实践的比较最有价值,这点,我非常欣赏matt raible,他是个老实人 
 
 magicgod 
 (2240529) 15:34:05
我记得有个人说了一种语言的时代已经过去了,什么东西适应就用什么 
 
 米米饭 
 (582197) 15:34:32
但是有优劣高下之分:)你做为严肃的比较么 
 
 米米饭 
 (582197) 15:36:03
优秀的技术适合优秀的人,普通的技术适应普通的人。最差的就是哗众取宠的技术适应被广告蒙蔽的人 
 
 ♂纯月♀ 
 (88659854) 15:36:05
magicgod写过php么 
 
 magicgod 
 (2240529) 15:36:33
是指ejb? 
 
 magicgod 
 (2240529) 15:37:06
j2ee的架构在今天 来看也算是伟大的结构,但是总用着不是味儿 
 
 米米饭 
 (582197) 15:38:25
开源社区需要每个人的贡献:)用着不是味就学rod johnson 
 
 米米饭 
 (582197) 15:39:00
spring我觉得和ejb并不冲突,在java ee里对spring和hibernate都可以和平共处 
 
 米米饭 
 (582197) 15:39:25
只有ROR,我觉得这个人真是个浮躁的人,我那天说过了 
 
 米米饭 
 (582197) 15:39:32
个人英雄主义 
 
 米米饭 
 (582197) 15:40:04
把这个水平,放在JAVA社区,说不定可以发挥更大的作用 
 
 米米饭 
 (582197) 15:40:11
搞ROR真是浪费 
 
 ♂纯月♀ 
 (88659854) 15:40:22
RoR的让那些没用过PHP的人看到脚本语言原来这么方便 
 
 米米饭 
 (582197) 15:41:07
反对个人英雄主义误导消费者 
 
 magicgod 
 (2240529) 15:42:18
我觉得我还是厌倦了频繁启动服务器 
 
 米米饭 
 (582197) 15:42:24
瞧人家matt raible,用JAVA一样可以搞出ROR 
 
 米米饭 
 (582197) 15:42:34
比ROR强N多 
 
 magicgod 
 (2240529) 15:44:10
他也用ubuntu? 
 
 米米饭 
 (582197) 15:44:18
我那天讲过一个APPFUSE和敏捷开发:) 
 
 Totodo 
 (888669) 15:44:29
 Ruby 都用什么开发呢。。 

 ♂纯月♀ 
 (88659854) 15:44:40
[自定义表情] 
 
 magicgod 
 (2240529) 15:45:16
appfuse是不是还是用ant? 
 
 Jtwo易易 
 (65541585) 15:45:25
是 
 
 ♂纯月♀ 
 (88659854) 15:45:32
php开发的门户首页,经过优化后,平均只要30ms的响应时间 
 
 magicgod 
 (2240529) 15:45:52
说实在的为什么java的速度是那么地慢,尽管语言方面性能还是很强的 
 
 magicgod 
 (2240529) 15:46:14
我一直期待它的性能能提高,可是非常失望 
 
 米米饭 
 (582197) 15:46:19
所有的东西只讨论思想的高下,不讨论语言的高下 
 
 [/wx]newsky 
 (41561701) 15:46:22
加的功能太多了 
 
 [/wx]newsky 
 (41561701) 15:46:37
如果只用servlet做也是很快的 
 
 米米饭 
 (582197) 15:46:56
比较语言,就太没意思了 
 
 magicgod 
 (2240529) 15:47:12
倒,说实在的,tomcat的速度我已经无法忍受了 
 
 ♂纯月♀ 
 (88659854) 15:47:31
是的,就像比较武功一样,少林和武当那个强? 
 
 NO.1狗狗 
 (200865271) 15:47:50
我觉的能做出好的东西来就是好东东  
 
 magicgod 
 (2240529) 15:48:01
两年前我使用ror,那时候还是webbrick,速度非常糟,现在有了mongrel,好多了 
 
 米米饭 
 (582197) 15:48:07
速度很快. 
 
 米米饭 
 (582197) 15:48:09
java 
 
 ♂纯月♀ 
 (88659854) 15:48:10
没有优化的程序,平均在200ms,优化之后20ms,提升了10倍 
 
 ♂纯月♀ 
 (88659854) 15:48:28
而这个优化技术和语言是无关的 
 
 米米饭 
 (582197) 15:48:29
请使用思想来提高速度 
 
 Jtwo易易 
 (65541585) 15:48:35
tomcat还可以啊 
 
 ♂纯月♀ 
 (88659854) 15:48:40
无非是静态缓存,内存驻留 
 
 magicgod 
 (2240529) 15:49:03
我现在一边做java,一边做ror,做java的时候必须关闭大部分东西 
 
 magicgod 
 (2240529) 15:49:30
做ror的时候还可以起个vm 
 
 ♂纯月♀ 
 (88659854) 15:49:36
我开发php应用,只要一个ultraedit 
 
 ♂纯月♀ 
 (88659854) 15:49:51
apache
 
 
 magicgod 
 (2240529) 15:50:07
php确实不错,还有zend,可惜没机会用 
 
 NO.1狗狗 
 (200865271) 15:50:32
php快被淘汰拉 
 
 米米饭 
 (582197) 15:50:37
 
 
 NO.1狗狗 
 (200865271) 15:50:46
以后会出来一种三维浏览器脚本技术 
 
 ♂纯月♀ 
 (88659854) 15:50:46
你认为VB被淘汰了么 

 magicgod 
 (2240529) 15:50:47
不可能吧,php正在第二个大发展时期呢 
 
 NO.1狗狗 
 (200865271) 15:51:01
html也会被淘汰的 
 
 ♂纯月♀ 
 (88659854) 15:51:03
或者说VB6,delphi6 
 
 NO.1狗狗 
 (200865271) 15:51:10
浏览器也会被淘汰 
 
 NO.1狗狗 
 (200865271) 15:51:16
整个革命新时代到来了 
 
 ♂纯月♀ 
 (88659854) 15:51:17
现在用这些开发的公司多如牛毛  
 
 米米饭 
 (582197) 15:51:18
语言又来讨论了。还是讨论点实在的 
 
 Jtwo易易 
 (65541585) 15:51:45
要有高度 

 magicgod 
 (2240529) 15:51:59
我觉得java正在学习ror的东西,建立新的敏捷 
 
 米米饭 
 (582197) 15:52:24
要是JAVA在七年前就像今天这个水平,月月可能就不会用PHP了 

 Jtwo易易 
 (65541585) 15:52:47
java=拼装,笨的很 
 
 米米饭 
 (582197) 15:52:51
敏捷不是ROR的 
 
 NO.1狗狗 
 (200865271) 15:53:15
java=bug 
 
 米米饭 
 (582197) 15:53:21
敏捷是软件开发的共同的思想 
 
 Jtwo易易 
 (65541585) 15:53:25
java的东东太多太多了 
 
 ♂纯月♀ 
 (88659854) 15:53:29
4年前我就用ssh,但是现在我还是用php,因为很多web应用的本质,不就是把数据存到数据库么 
 
 米米饭 
 (582197) 15:54:04
oo很重要:0 
 
 magicgod 
 (2240529) 15:54:08
我觉得不能忍受java的是:1.频繁重启。2.无法即时debug。 
 
 ♂纯月♀ 
 (88659854) 15:54:10
搞再多的中间件也无非是这个目的,我用php把响应时间控制在几十ms,每秒也能处理几百次事务 
 
 米米饭 
 (582197) 15:54:47
java社区的生生不息,离不开OO的增强,MDA,XDOCLET.... 
 
 magicgod 
 (2240529) 15:55:05
其实oo还是smalltalk好 
 
 米米饭 
 (582197) 15:55:43
SOA说白了,我觉得也是OO 

 米米饭 
 (582197) 15:55:51
反正OO才是王道 
 
 ♂纯月♀ 
 (88659854) 15:56:00
smalltalk太学院派了,不适合工业生产 
 
 米米饭 
 (582197) 15:56:07
JAVA最适合OO,因此JAVA是王道 
 
 magicgod 
 (2240529) 15:56:12
smalltalk可惜不是ms搞的 
 
 magicgod 
 (2240529) 15:56:28
实际上java并不是最适合OO的,应该是smalltalk 
 
 magicgod 
 (2240529) 15:56:49
smalltalk很适合M$的思路, 如果在里面会有大发展,真是可惜了 

 米米饭 
 (582197) 15:58:54
使用 CakePHP 快速打造 Web 站点,这是什么东东》? 
 
 ♂纯月♀ 
 (88659854) 15:59:09
是的,所以很多东西不是好就能有市场 
 
 magicgod 
 (2240529) 15:59:18
smalltalk世界里所有的东西真正是对象啊 
 
 ♂纯月♀ 
 (88659854) 15:59:28
类似于java的turbine,jboss的seam这样的东西 
 
 ♂纯月♀ 
 (88659854) 15:59:53
面向对象并不是最好的开发思想,目前阶段的应用是面向数据(库)的多 
 
 magicgod 
 (2240529) 15:59:57
而且没有明显的运行时和开发时 
 
 magicgod 
 (2240529) 16:00:41
在现实世界中OO被人为地分割为多个对象空间,导致耦合成本增加,带来许多问题 
 
 Jtwo易易 
 (65541585) 16:01:09
在国内有面向对象的产品? 
 
 ♂纯月♀ 
 (88659854) 16:01:18
你OO,人家olap还多纬度呢,到时候又要抽象很多对象 
 
 Jtwo易易 
 (65541585) 16:01:36
复杂的很 
 
 Jtwo易易 
 (65541585) 16:01:42
还是MS强 
 
 ♂纯月♀ 
 (88659854) 16:01:48
天桥说的对,大部分产品是面向db的 
 
 Jtwo易易 
 (65541585) 16:02:01
复杂的在MS那都简单了 
 
 米米饭 
 (582197) 16:02:14
面向DB,DB的设计原则是什么呢 
 
 米米饭 
 (582197) 16:02:29
那还是主要以OO为主 
 
 Jtwo易易 
 (65541585) 16:02:37
从数据库利用工具反向生成hb所要的文件 
 
 Jtwo易易 
 (65541585) 16:02:41
不知是在做什么 
 
 ♂纯月♀ 
 (88659854) 16:02:45
数据优先,最先考虑数据,关系的稳定,性能 
 
 ♂纯月♀ 
 (88659854) 16:03:23
正如我说的,domain model和table做一一映射 
 
 米米饭 
 (582197) 16:03:28
RDB,关系和对象的  关系 ,谁研究过 
 
 Jtwo易易 
 (65541585) 16:03:55
domain model设计阶段的产物 
 
 ♂纯月♀ 
 (88659854) 16:04:12
嗯 

 Jtwo易易 
 (65541585) 16:04:18
现在很多都是反的 
 
 Jtwo易易 
 (65541585) 16:04:22
没有domain model 
 
 Jtwo易易 
 (65541585) 16:04:38
反向来生成“domain model” 
 
 ♂纯月♀ 
 (88659854) 16:04:47
应该是先ER,在Domain 
 
 Jtwo易易 
 (65541585) 16:05:23
我是先概念 
 
 ♂纯月♀ 
 (88659854) 16:06:07
哦 
 
 Jtwo易易 
 (65541585) 16:06:19
这样好生成目标数据库模型 
 
 米米饭 
 (582197) 16:06:57
数据库设计范型,是不是就是为了设计出一个好好的OO模型 
 
 Jtwo易易 
 (65541585) 16:07:00
概念模型-》数据库模型/对像模型 
 
 米米饭 
 (582197) 16:07:39
数据库的产生比OO产生得早,要是晚,那肯定没有范型,直接说OO就是设计范型 
 
 magicgod 
 (2240529) 16:07:43
关系型数据库来描述OO天生有缺陷,但是没办法 
 
 magicgod 
 (2240529) 16:08:07
其实树型数据库来描述更好一点 
 
 Jtwo易易 
 (65541585) 16:08:11
历史不容改变 
 
 ♂纯月♀ 
 (88659854) 16:08:42
你说范式吧 
 
 米米饭 
 (582197) 16:08:51
对。 

 ♂纯月♀ 
 (88659854) 16:09:11
正因为有范式,所以要把OO和ER结合起来,反复推敲,找出最合适得范式 
 
 ♂纯月♀ 
 (88659854) 16:09:36
OO往往都是考虑最优的范式,但实际生产中,需要大量的容易 
 
 ♂纯月♀ 
 (88659854) 16:10:41
华为的信息机的表是这样建的,每一分钟建一张表,表的名字是0000-1259,你说这是什么范式 
 
 ♂纯月♀ 
 (88659854) 16:11:02
错了是0000-2359 
 
 magicgod 
 (2240529) 16:11:09
糟糕的范式吧 
 
 看上去很美 
 (965243) 16:11:16
效率考虑 
 
 看上去很美 
 (965243) 16:11:31
范式没必要过分遵循要考虑效率 
 
 ♂纯月♀ 
 (88659854) 16:11:44
这是工业生产和学院派的不同 
 
 看上去很美 
 (965243) 16:11:46
不糟糕不这么做没办法达到效率要求 
 
 米米饭 
 (582197) 16:11:54
效率有数据效率和开发效率 
 
 米米饭 
 (582197) 16:12:01
那应该考虑哪个呢 
 
 看上去很美 
 (965243) 16:12:26
技术为生产服务 
 
 ♂纯月♀ 
 (88659854) 16:12:38
清华的学生可以设计一个相当复杂的算法,印度班加罗二的工人们只要一个又臭又长的hash表来解决问题 
 
 米米饭 
 (582197) 16:12:48
如果用OO,一个月就开发完了,不用,结果开发了一年,并且后期维护像是一场恶梦 

 米米饭 
 (582197) 16:12:58
你说什么是效率 
 
 ♂纯月♀ 
 (88659854) 16:13:30
OO和ER来结合起来考虑 
 
 ♂纯月♀ 
 (88659854) 16:13:42
找到一个平衡点 
 
 看上去很美 
 (965243) 16:13:52
开发效率实际使用效率都要考虑找平衡点 
 
 米米饭 
 (582197) 16:14:21
用DB4O 
 
 米米饭 
 (582197) 16:14:29
就不用都考虑了 
 
 ♂纯月♀ 
 (88659854) 16:14:34
和具体框架无关 

 米米饭 
 (582197) 16:14:54
浪费程序员的青春,数据效率应该是数据库提供商来解决的 
 
 米米饭 
 (582197) 16:15:03
程序员应该关注OO,而不是数据的效率 
 
 看上去很美 
 (965243) 16:15:03
。。。。。。 
 
 ♂纯月♀ 
 (88659854) 16:15:11
正因为这样,我才觉得RoR纯粹的DSL没有生命力 
 
 看上去很美 
 (965243) 16:15:15
谬论 
 
 看上去很美 
 (965243) 16:15:26
程序员也需要考虑效率 
 
 看上去很美 
 (965243) 16:16:01
数据库提供商考虑得出了效率还有一致性、完整性、鲁棒性、容量、维护。。。。多了去了 
 
 foxcrane 
 (6947930) 16:16:55
清华的学生 和 印度班加罗二的工人 教育成本不一样啊 
 
 米米饭 
 (582197) 16:16:56
让数据库提供商考虑去吧。我认为程序员不是DBA 
 
 Jtwo易易 
 (65541585) 16:16:56
小字打出来,鸟还没打出来,你就出来啦 

 foxcrane 
 (6947930) 16:17:07
开发出来的东西稳定性也不一样 
 
 foxcrane 
 (6947930) 16:17:17
人家成本又低,开发出来的东西又稳定 
 
 米米饭 
 (582197) 16:17:32
数据库和程序员不搭,所以持久层的作用是隔离程序员和数据库 
 
 Jtwo易易 
 (65541585) 16:17:33
其实这些不是主要的 
 
 magicgod 
 (2240529) 16:17:42
软件开发势必走两个极端,个性艺术和大规模工厂式 
 
 看上去很美 
 (965243) 16:17:51
性能优化案例的分析结果:DBA能提升的效率不到20%,而程序员通过优化编码提升的效率往往是数量级的 
 
 米米饭 
 (582197) 16:17:58
程序员是脱离数据库,面向企业业务逻辑的。 
 
 看上去很美 
 (965243) 16:18:11
你说的程序员是程序工人 

 ♂纯月♀ 
 (88659854) 16:18:22
企业业务逻辑的核心就是数据(库) 
 
 米米饭 
 (582197) 16:18:36
不是吧。 
 
 米米饭 
 (582197) 16:18:41
应该是流程 
 
 看上去很美 
 (965243) 16:18:45
做架构是从优良的数据结构设计开始的 
 
 magicgod 
 (2240529) 16:18:46
应该还有流程吧 
 
 foxcrane 
 (6947930) 16:18:50
另外,清华学生可不是万里挑一出来的,是精英中的精英 
 
 看上去很美 
 (965243) 16:18:53
♂纯月♀@老鸟(88659854) 16:30:22 企业业务逻辑的核心就是数据(库)  ---agree 
 
 ♂纯月♀ 
 (88659854) 16:18:55
数据+流程 
 
 magicgod 
 (2240529) 16:19:12
不会吧,清华现在的高度有这么高了? 
 
 米米饭 
 (582197) 16:19:13
数据库和平台一样,都要跨平台 
 
 ♂纯月♀ 
 (88659854) 16:19:20
流程也很重要,不是那是后话 
 
 看上去很美 
 (965243) 16:19:33
流程----通过数据来实现最终还是落到数据上 
 
 foxcrane 
 (6947930) 16:19:35
印度班加罗二的工人 工人比就有这么高,人家是高中毕业的..... 
 
 米米饭 
 (582197) 16:19:40
依赖一种数据库的不是好的企业应用,纯数据应用除外 
 
 magicgod 
 (2240529) 16:19:48
数据为中心是数据库兴起来的主流 
 
 米米饭 
 (582197) 16:20:29
弱化数据库依赖,也是我认为的JAVAEE的设计原则之一 
 
 ♂纯月♀ 
 (88659854) 16:20:30
你就是开发一个网络游戏,首要考虑的也是所有人物,事件,状态的资料如何高效的存储 
 
 ♂纯月♀ 
 (88659854) 16:21:07
存储过程在很多情况下,是非常必要 
 
 看上去很美 
 (965243) 16:21:17
太必要了... 
 
 ♂纯月♀ 
 (88659854) 16:21:22
弱化对数据库的依赖固然好,但有没有想过弱化对java,对中间件的依赖呢 
 
 看上去很美 
 (965243) 16:21:25
这个月一直在写 

 Jtwo易易 
 (65541585) 16:21:35
没有 
 
 Jtwo易易 
 (65541585) 16:21:44
都被java给蒙蔽了 
 
 magicgod 
 (2240529) 16:21:49
花在中间件上的钱未必是有用的 
 
 Jtwo易易 
 (65541585) 16:21:55
总想着怎么拼装的漂亮 
 
 Jtwo易易 
 (65541585) 16:22:04
显得多么的高深 
 
 ♂纯月♀ 
 (88659854) 16:22:05
如果有一个好的proc,不管任何语言,只要有db的api,都能调用proc,这种兼容性不是更好 
 
 米米饭 
 (582197) 16:22:36
OO和MDA的目标是工业化生产 
 
 Jtwo易易 
 (65541585) 16:22:43
实际点 

 米米饭 
 (582197) 16:22:45
依赖数据库是特殊应用 
 
 看上去很美 
 (965243) 16:22:46
♂纯月♀@老鸟(88659854) 16:34:05 如果有一个好的proc,不管任何语言,只要有db的api,都能调用proc,这种兼容性不是更好   ---是不错 
 
 看上去很美 
 (965243) 16:22:54
但是过分依赖存储过程也有问题 
 
 Jtwo易易 
 (65541585) 16:23:04
不要走极端 
 
 ♂纯月♀ 
 (88659854) 16:23:09
是的,那样业务逻辑会过于分散 
 
 看上去很美 
 (965243) 16:23:15
数据库应用为了保障一致性完整性等等 
 
 Jtwo易易 
 (65541585) 16:23:16
1+1都不会绝对=2呢 
 
 ♂纯月♀ 
 (88659854) 16:23:19
不走极端,找到一个平衡 
 
 看上去很美 
 (965243) 16:23:21
会有很多额外的开销 
 
 米米饭 
 (582197) 16:23:32
主要目标不同啊。 
 
 Jtwo易易 
 (65541585) 16:23:41
可行性 
 
 Jtwo易易 
 (65541585) 16:23:58
目标其实没么重要 
 
 ♂纯月♀ 
 (88659854) 16:24:04
辩证法的核心就是在矛盾中找到平衡点 
 
 米米饭 
 (582197) 16:24:10
敏捷也是一种工业生产的思想 
 
 米米饭 
 (582197) 16:24:28
干部说的那种不在这个范围之内 
 
 Jtwo易易 
 (65541585) 16:24:34
那你还不是跟着国外的那些人唱和 
 
 ♂纯月♀ 
 (88659854) 16:24:46
华为信息机提供了dll,jar的接口,但是我php就不方便调用,好在它有存储过程,这样还是可以很方便的发送短信 
 
 Jtwo易易 
 (65541585) 16:24:50
不都是看他们的文档听他们说 
 
 看上去很美 
 (965243) 16:24:58
我是最近被效率问题搞怕了..... 
 
 Jtwo易易 
 (65541585) 16:25:17
实践过了的才是真的 
 
 Jtwo易易 
 (65541585) 16:25:29
光看文档搞拼装有什么用 
 
 ♂纯月♀ 
 (88659854) 16:25:39
敏捷是口号,重构是方法,快速原型是工具 
 
 ♂纯月♀ 
 (88659854) 16:25:46
你什么效率问题啊 
 
 看上去很美 
 (965243) 16:26:03
大数据量入库并作业务,业务查询为主 
 
 米米饭 
 (582197) 16:26:39
干部一直在搞特殊应用...所以没办法啊。你的想法很难复制和工业化 
 
 看上去很美 
 (965243) 16:26:40
1000个终端,一小时产生4条明细记录一条记录500多个字段 
 
 看上去很美 
 (965243) 16:27:02
不是特殊应用企业应用中这问题太常见了 
 
 看上去很美 
 (965243) 16:27:17
机器是pcserver 还是32位oracle 
 
 ♂纯月♀ 
 (88659854) 16:27:44
这样应用只有拼命压榨系统性能了 
 
 米米饭 
 (582197) 16:27:45
五百个字段,还不特珠 
 
 Jtwo易易 
 (65541585) 16:27:51
强 
 
 看上去很美 
 (965243) 16:27:58
还有很多业务逻辑 
 
 看上去很美 
 (965243) 16:28:14
这些数据传上来的时候有明细也有历史 
 
 Jtwo易易 
 (65541585) 16:28:22
现实问题 
 
 看上去很美 
 (965243) 16:28:34
业务需要取极值,取最后时间点值 
 
 看上去很美 
 (965243) 16:28:50
数据上传得先后和实际产生的先后并不一致 
 
 看上去很美 
 (965243) 16:29:47
我逼得没办法跟他们谈了一下,放弃实时处理,每一小时批量转换处理一次。实时处理只做update 
 
 看上去很美 
 (965243) 16:29:57
update只针对小数据量表 
 
 ♂纯月♀ 
 (88659854) 16:30:26
有没有采用MoM结构 
 
 看上去很美 
 (965243) 16:30:40
原来停机一天,再启动,一天历史数据处理完毕要6-7小时现在只需要7-8分钟 
 
 [/wx]newsky 
 (41561701) 16:30:56
MoM结构是什么结构?? 
 
 看上去很美 
 (965243) 16:30:58
通讯时间除外,通讯大概要几十分钟 
 
 看上去很美 
 (965243) 16:31:01
没有 
 
 ♂纯月♀ 
 (88659854) 16:31:07
基于消息的异步处理 
 
 [/wx]newsky 
 (41561701) 16:31:14
哦 
 
 看上去很美 
 (965243) 16:31:30
是gprs传输用的是老外的中间件是否基于消息机制不得而知 
 
 ♂纯月♀ 
 (88659854) 16:31:57
还是用了中间件啊 
 
 看上去很美 
 (965243) 16:32:06
不过实现上原理应该是一样的达到异步消息处理的要求  
 
 看上去很美 
 (965243) 16:32:21
也就是老外做的dll 编码还是自己做 
 
 看上去很美 
 (965243) 16:33:49
7-8分钟还有优化的余地不过懒得动脑筋了大大的满足目前要求就行了 
 
 ♂纯月♀ 
 (88659854) 16:34:45
所有的处理都是基于存储过程? 
 
 看上去很美 
 (965243) 16:35:21
通讯入库不是我做了张500多字段的接口表 
 
 看上去很美 
 (965243) 16:35:27
是不是觉得很愚蠢 
 
 看上去很美 
 (965243) 16:35:38
没办法,我测试多次,这样最快 
 
 看上去很美 
 (965243) 16:35:54
因为转换逻辑中很多1条记录变3-6条的 
 
 看上去很美 
 (965243) 16:36:13
如果直接分表存放,通讯程序作了太多事情 
 
 看上去很美 
 (965243) 16:36:32
他获取连接次数很多 
 
 foxcrane 
 (6947930) 16:38:22
500多字段的接口表 那维护不累死了啊,你的业务真BT啊 
 
 ♂纯月♀ 
 (88659854) 16:38:38
无所谓,因为你最终还是要解析这些参数 

 ♂纯月♀ 
 (88659854) 16:38:41
放在那里解析都一样啊 
 
 看上去很美 
 (965243) 16:38:43
是的 
 
 看上去很美 
 (965243) 16:38:55
分表放我解析起来逻辑还复杂 
 
 米米饭 
 (582197) 16:39:43
这是面向效率编程:0 
 
 米米饭 
 (582197) 16:39:45
:) 
 
 ♂纯月♀ 
 (88659854) 16:39:47
这个无所谓,反正表都做索引 
 
 看上去很美 
 (965243) 16:40:12
接口表处理完就清空 
 
 看上去很美 
 (965243) 16:40:21
保证接口表数据量最小 
 
 看上去很美 
 (965243) 16:40:44
业务表做成分区表所以按业务需要做成全表索引和分区索引 
 
 ♂纯月♀ 
 (88659854) 16:40:47
接口表是临时表吧 
 
 看上去很美 
 (965243) 16:40:57
索引优化还没完全做完 
 
 看上去很美 
 (965243) 16:41:16
接口表是固定表 
 
 看上去很美 
 (965243) 16:41:28
创建临时表的开销我也给省掉了 
 
 ♂纯月♀ 
 (88659854) 16:41:48
临时表驻留内存不是更快 
 
 看上去很美 
 (965243) 16:42:24
入接口表是通讯作转换接口表的数据是存储过程作 
 
 看上去很美 
 (965243) 16:42:30
没办法用临时表 
 
 ♂纯月♀ 
 (88659854) 16:43:01
o  
 
 看上去很美 
 (965243) 16:43:30
我的系统分区表快达到上限了 
 
 米米饭 
 (582197) 16:43:43
这个问题困挠了你很久了:) 
 
 看上去很美 
 (965243) 16:44:14
因为最终用户it水平很低我也没办法今后保证给他们做长期db维护所以预先建了10年的按日分区 
 
 看上去很美 
 (965243) 16:44:27
呵呵,估计5年就换 
 
 ♂纯月♀ 
 (88659854) 16:45:10
难道5年换的时候,以前的数据都不要了 
 
 看上去很美 
 (965243) 16:45:15
困扰了一段时间解决方案早就有了但是一直没实际测试 
 
 看上去很美 
 (965243) 16:45:22
这次测试通过了 
 
 看上去很美 
 (965243) 16:45:38
数据保留2年即可超过的导出来备份 
 
 米米饭 
 (582197) 16:45:45
企业倒闭数据就没用了。:) 
 
 米米饭 
 (582197) 16:46:17
不倒闭,再上新系统,再搞大量的ETL..真是累啊 
 
 米米饭 
 (582197) 16:46:36
典型的中国式软件:) 
 
 ♂纯月♀ 
 (88659854) 16:46:40
哦,是什么行业的客户? 
 
 看上去很美 
 (965243) 16:46:56
不需要阿  

 看上去很美 
 (965243) 16:47:08
历史数据为什么要etl? 
 
 看上去很美 
 (965243) 16:47:11
电力 
 
 看上去很美 
 (965243) 16:47:26
我们这数据量不算多的不过机器配置算低的 
 
 ♂纯月♀ 
 (88659854) 16:48:41
哦,ETl到DW,那就安全了 
 
 米米饭 
 (582197) 16:49:02
其实我在搞NMS,数据采集,在很久以前,中兴就开始学习OO思想 
 
 米米饭 
 (582197) 16:49:20
现在开源的NMS,已经用上SPRING hibernate了 
 
 ♂纯月♀ 
 (88659854) 16:50:00
数据采集就更不能oo了,我们监控主干的netflow流量,每天都几个G的数据 
 
 ♂纯月♀ 
 (88659854) 16:50:17
一直再等google 的GFS开源,用它的那套存储 
 
 米米饭 
 (582197) 16:50:21
:)你看中兴的系统就知道了,节点完全是OO的 
 
 NO.1狗狗 
 (200865271) 16:50:49
开源?  
 
 米米饭 
 (582197) 16:50:52
业务上OO,底层交给snmp 
 
 NO.1狗狗 
 (200865271) 16:50:53
不可能吧  
 
 ♂纯月♀ 
 (88659854) 16:50:55
结点是可以oo,不过流量数据,你要处理的话,OO就没用了 
 
 米米饭 
 (582197) 16:52:21
分层开发,各司其所,底层数据写入怎么写无关紧要,只要提供接口就可以 
 
 ♂纯月♀ 
 (88659854) 16:53:04
你谈的是web应用的开发 
 
 米米饭 
 (582197) 16:54:03
算是吧,不过我还是觉得核心做的事,是很小的一部分,大部分软件的价值通过上层应用来体现 
 
 ♂纯月♀ 
 (88659854) 16:55:16
web应用只是NMS的一部分,还有大量的算法例如,拓扑发现,定位等等 

号称排在国内四大Java组织之后的Java老鸟群(qq群:1775725)的一次讨论:略微删减聊天的部分后的对话,贴在这里,欢迎大家指正:

  magicgod 
 (2240529) 15:27:08
ror还是比较适合个人和小型团队 
 
 magicgod 
 (2240529) 15:27:25
短平快的东西,不太适合大公司 
 
 米米饭 
 (582197) 15:27:40
怎么不说,JAVA也适合比较小的公司或团队 
 
 magicgod 
 (2240529) 15:27:43
公司大了,这么多人,这么多角色总得找点事做吧 
 
 米米饭 
 (582197) 15:27:56
其实ROR压根就没有生存的必要 
 
 magicgod 
 (2240529) 15:28:18
已经存在了,还讨论什么生存的必要啊 
 
 NO.1狗狗 
 (200865271) 15:28:24
那python呢? 

 米米饭 
 (582197) 15:28:51
那就让他灭亡,研究点JAVA敏捷,或PHP敏捷多好 
 
 magicgod 
 (2240529) 15:29:35
倒,灭亡不是个人说了算的,如果它不适应时代,必然灭亡 
 
 米米饭 
 (582197) 15:29:43
多搞出一个敏捷来,其实压根不比别的敏捷更好,又不能比别的有更强的企业特性 
 
 ♂纯月♀ 
 (88659854) 15:29:53
这种东西既然出现了,就让他出现吧 
 
 magicgod 
 (2240529) 15:30:41
php刚出来的时候也是这样说的 
 
 magicgod 
 (2240529) 15:30:53
有生命力的东西会自然延续下去的 
 
 米米饭 
 (582197) 15:32:23
支持ROR不应该用这种理由:) 
 
 magicgod 
 (2240529) 15:32:39
至少我个人觉得在写ror的时候比java流畅 
 
 米米饭 
 (582197) 15:33:49
存在即合理,是懒人的托辞,我觉得实践的比较最有价值,这点,我非常欣赏matt raible,他是个老实人 
 
 magicgod 
 (2240529) 15:34:05
我记得有个人说了一种语言的时代已经过去了,什么东西适应就用什么 
 
 米米饭 
 (582197) 15:34:32
但是有优劣高下之分:)你做为严肃的比较么 
 
 米米饭 
 (582197) 15:36:03
优秀的技术适合优秀的人,普通的技术适应普通的人。最差的就是哗众取宠的技术适应被广告蒙蔽的人 
 
 ♂纯月♀ 
 (88659854) 15:36:05
magicgod写过php么 
 
 magicgod 
 (2240529) 15:36:33
是指ejb? 
 
 magicgod 
 (2240529) 15:37:06
j2ee的架构在今天 来看也算是伟大的结构,但是总用着不是味儿 
 
 米米饭 
 (582197) 15:38:25
开源社区需要每个人的贡献:)用着不是味就学rod johnson 
 
 米米饭 
 (582197) 15:39:00
spring我觉得和ejb并不冲突,在java ee里对spring和hibernate都可以和平共处 
 
 米米饭 
 (582197) 15:39:25
只有ROR,我觉得这个人真是个浮躁的人,我那天说过了 
 
 米米饭 
 (582197) 15:39:32
个人英雄主义 
 
 米米饭 
 (582197) 15:40:04
把这个水平,放在JAVA社区,说不定可以发挥更大的作用 
 
 米米饭 
 (582197) 15:40:11
搞ROR真是浪费 
 
 ♂纯月♀ 
 (88659854) 15:40:22
RoR的让那些没用过PHP的人看到脚本语言原来这么方便 
 
 米米饭 
 (582197) 15:41:07
反对个人英雄主义误导消费者 
 
 magicgod 
 (2240529) 15:42:18
我觉得我还是厌倦了频繁启动服务器 
 
 米米饭 
 (582197) 15:42:24
瞧人家matt raible,用JAVA一样可以搞出ROR 
 
 米米饭 
 (582197) 15:42:34
比ROR强N多 
 
 magicgod 
 (2240529) 15:44:10
他也用ubuntu? 
 
 米米饭 
 (582197) 15:44:18
我那天讲过一个APPFUSE和敏捷开发:) 
 
 Totodo 
 (888669) 15:44:29
 Ruby 都用什么开发呢。。 

 ♂纯月♀ 
 (88659854) 15:44:40
[自定义表情] 
 
 magicgod 
 (2240529) 15:45:16
appfuse是不是还是用ant? 
 
 Jtwo易易 
 (65541585) 15:45:25
是 
 
 ♂纯月♀ 
 (88659854) 15:45:32
php开发的门户首页,经过优化后,平均只要30ms的响应时间 
 
 magicgod 
 (2240529) 15:45:52
说实在的为什么java的速度是那么地慢,尽管语言方面性能还是很强的 
 
 magicgod 
 (2240529) 15:46:14
我一直期待它的性能能提高,可是非常失望 
 
 米米饭 
 (582197) 15:46:19
所有的东西只讨论思想的高下,不讨论语言的高下 
 
 [/wx]newsky 
 (41561701) 15:46:22
加的功能太多了 
 
 [/wx]newsky 
 (41561701) 15:46:37
如果只用servlet做也是很快的 
 
 米米饭 
 (582197) 15:46:56
比较语言,就太没意思了 
 
 magicgod 
 (2240529) 15:47:12
倒,说实在的,tomcat的速度我已经无法忍受了 
 
 ♂纯月♀ 
 (88659854) 15:47:31
是的,就像比较武功一样,少林和武当那个强? 
 
 NO.1狗狗 
 (200865271) 15:47:50
我觉的能做出好的东西来就是好东东  
 
 magicgod 
 (2240529) 15:48:01
两年前我使用ror,那时候还是webbrick,速度非常糟,现在有了mongrel,好多了 
 
 米米饭 
 (582197) 15:48:07
速度很快. 
 
 米米饭 
 (582197) 15:48:09
java 
 
 ♂纯月♀ 
 (88659854) 15:48:10
没有优化的程序,平均在200ms,优化之后20ms,提升了10倍 
 
 ♂纯月♀ 
 (88659854) 15:48:28
而这个优化技术和语言是无关的 
 
 米米饭 
 (582197) 15:48:29
请使用思想来提高速度 
 
 Jtwo易易 
 (65541585) 15:48:35
tomcat还可以啊 
 
 ♂纯月♀ 
 (88659854) 15:48:40
无非是静态缓存,内存驻留 
 
 magicgod 
 (2240529) 15:49:03
我现在一边做java,一边做ror,做java的时候必须关闭大部分东西 
 
 magicgod 
 (2240529) 15:49:30
做ror的时候还可以起个vm 
 
 ♂纯月♀ 
 (88659854) 15:49:36
我开发php应用,只要一个ultraedit 
 
 ♂纯月♀ 
 (88659854) 15:49:51
apache
 
 
 magicgod 
 (2240529) 15:50:07
php确实不错,还有zend,可惜没机会用 
 
 NO.1狗狗 
 (200865271) 15:50:32
php快被淘汰拉 
 
 米米饭 
 (582197) 15:50:37
 
 
 NO.1狗狗 
 (200865271) 15:50:46
以后会出来一种三维浏览器脚本技术 
 
 ♂纯月♀ 
 (88659854) 15:50:46
你认为VB被淘汰了么 

 magicgod 
 (2240529) 15:50:47
不可能吧,php正在第二个大发展时期呢 
 
 NO.1狗狗 
 (200865271) 15:51:01
html也会被淘汰的 
 
 ♂纯月♀ 
 (88659854) 15:51:03
或者说VB6,delphi6 
 
 NO.1狗狗 
 (200865271) 15:51:10
浏览器也会被淘汰 
 
 NO.1狗狗 
 (200865271) 15:51:16
整个革命新时代到来了 
 
 ♂纯月♀ 
 (88659854) 15:51:17
现在用这些开发的公司多如牛毛  
 
 米米饭 
 (582197) 15:51:18
语言又来讨论了。还是讨论点实在的 
 
 Jtwo易易 
 (65541585) 15:51:45
要有高度 

 magicgod 
 (2240529) 15:51:59
我觉得java正在学习ror的东西,建立新的敏捷 
 
 米米饭 
 (582197) 15:52:24
要是JAVA在七年前就像今天这个水平,月月可能就不会用PHP了 

 Jtwo易易 
 (65541585) 15:52:47
java=拼装,笨的很 
 
 米米饭 
 (582197) 15:52:51
敏捷不是ROR的 
 
 NO.1狗狗 
 (200865271) 15:53:15
java=bug 
 
 米米饭 
 (582197) 15:53:21
敏捷是软件开发的共同的思想 
 
 Jtwo易易 
 (65541585) 15:53:25
java的东东太多太多了 
 
 ♂纯月♀ 
 (88659854) 15:53:29
4年前我就用ssh,但是现在我还是用php,因为很多web应用的本质,不就是把数据存到数据库么 
 
 米米饭 
 (582197) 15:54:04
oo很重要:0 
 
 magicgod 
 (2240529) 15:54:08
我觉得不能忍受java的是:1.频繁重启。2.无法即时debug。 
 
 ♂纯月♀ 
 (88659854) 15:54:10
搞再多的中间件也无非是这个目的,我用php把响应时间控制在几十ms,每秒也能处理几百次事务 
 
 米米饭 
 (582197) 15:54:47
java社区的生生不息,离不开OO的增强,MDA,XDOCLET.... 
 
 magicgod 
 (2240529) 15:55:05
其实oo还是smalltalk好 
 
 米米饭 
 (582197) 15:55:43
SOA说白了,我觉得也是OO 

 米米饭 
 (582197) 15:55:51
反正OO才是王道 
 
 ♂纯月♀ 
 (88659854) 15:56:00
smalltalk太学院派了,不适合工业生产 
 
 米米饭 
 (582197) 15:56:07
JAVA最适合OO,因此JAVA是王道 
 
 magicgod 
 (2240529) 15:56:12
smalltalk可惜不是ms搞的 
 
 magicgod 
 (2240529) 15:56:28
实际上java并不是最适合OO的,应该是smalltalk 
 
 magicgod 
 (2240529) 15:56:49
smalltalk很适合M$的思路, 如果在里面会有大发展,真是可惜了 

 米米饭 
 (582197) 15:58:54
使用 CakePHP 快速打造 Web 站点,这是什么东东》? 
 
 ♂纯月♀ 
 (88659854) 15:59:09
是的,所以很多东西不是好就能有市场 
 
 magicgod 
 (2240529) 15:59:18
smalltalk世界里所有的东西真正是对象啊 
 
 ♂纯月♀ 
 (88659854) 15:59:28
类似于java的turbine,jboss的seam这样的东西 
 
 ♂纯月♀ 
 (88659854) 15:59:53
面向对象并不是最好的开发思想,目前阶段的应用是面向数据(库)的多 
 
 magicgod 
 (2240529) 15:59:57
而且没有明显的运行时和开发时 
 
 magicgod 
 (2240529) 16:00:41
在现实世界中OO被人为地分割为多个对象空间,导致耦合成本增加,带来许多问题 
 
 Jtwo易易 
 (65541585) 16:01:09
在国内有面向对象的产品? 
 
 ♂纯月♀ 
 (88659854) 16:01:18
你OO,人家olap还多纬度呢,到时候又要抽象很多对象 
 
 Jtwo易易 
 (65541585) 16:01:36
复杂的很 
 
 Jtwo易易 
 (65541585) 16:01:42
还是MS强 
 
 ♂纯月♀ 
 (88659854) 16:01:48
天桥说的对,大部分产品是面向db的 
 
 Jtwo易易 
 (65541585) 16:02:01
复杂的在MS那都简单了 
 
 米米饭 
 (582197) 16:02:14
面向DB,DB的设计原则是什么呢 
 
 米米饭 
 (582197) 16:02:29
那还是主要以OO为主 
 
 Jtwo易易 
 (65541585) 16:02:37
从数据库利用工具反向生成hb所要的文件 
 
 Jtwo易易 
 (65541585) 16:02:41
不知是在做什么 
 
 ♂纯月♀ 
 (88659854) 16:02:45
数据优先,最先考虑数据,关系的稳定,性能 
 
 ♂纯月♀ 
 (88659854) 16:03:23
正如我说的,domain model和table做一一映射 
 
 米米饭 
 (582197) 16:03:28
RDB,关系和对象的  关系 ,谁研究过 
 
 Jtwo易易 
 (65541585) 16:03:55
domain model设计阶段的产物 
 
 ♂纯月♀ 
 (88659854) 16:04:12
嗯 

 Jtwo易易 
 (65541585) 16:04:18
现在很多都是反的 
 
 Jtwo易易 
 (65541585) 16:04:22
没有domain model 
 
 Jtwo易易 
 (65541585) 16:04:38
反向来生成“domain model” 
 
 ♂纯月♀ 
 (88659854) 16:04:47
应该是先ER,在Domain 
 
 Jtwo易易 
 (65541585) 16:05:23
我是先概念 
 
 ♂纯月♀ 
 (88659854) 16:06:07
哦 
 
 Jtwo易易 
 (65541585) 16:06:19
这样好生成目标数据库模型 
 
 米米饭 
 (582197) 16:06:57
数据库设计范型,是不是就是为了设计出一个好好的OO模型 
 
 Jtwo易易 
 (65541585) 16:07:00
概念模型-》数据库模型/对像模型 
 
 米米饭 
 (582197) 16:07:39
数据库的产生比OO产生得早,要是晚,那肯定没有范型,直接说OO就是设计范型 
 
 magicgod 
 (2240529) 16:07:43
关系型数据库来描述OO天生有缺陷,但是没办法 
 
 magicgod 
 (2240529) 16:08:07
其实树型数据库来描述更好一点 
 
 Jtwo易易 
 (65541585) 16:08:11
历史不容改变 
 
 ♂纯月♀ 
 (88659854) 16:08:42
你说范式吧 
 
 米米饭 
 (582197) 16:08:51
对。 

 ♂纯月♀ 
 (88659854) 16:09:11
正因为有范式,所以要把OO和ER结合起来,反复推敲,找出最合适得范式 
 
 ♂纯月♀ 
 (88659854) 16:09:36
OO往往都是考虑最优的范式,但实际生产中,需要大量的容易 
 
 ♂纯月♀ 
 (88659854) 16:10:41
华为的信息机的表是这样建的,每一分钟建一张表,表的名字是0000-1259,你说这是什么范式 
 
 ♂纯月♀ 
 (88659854) 16:11:02
错了是0000-2359 
 
 magicgod 
 (2240529) 16:11:09
糟糕的范式吧 
 
 看上去很美 
 (965243) 16:11:16
效率考虑 
 
 看上去很美 
 (965243) 16:11:31
范式没必要过分遵循要考虑效率 
 
 ♂纯月♀ 
 (88659854) 16:11:44
这是工业生产和学院派的不同 
 
 看上去很美 
 (965243) 16:11:46
不糟糕不这么做没办法达到效率要求 
 
 米米饭 
 (582197) 16:11:54
效率有数据效率和开发效率 
 
 米米饭 
 (582197) 16:12:01
那应该考虑哪个呢 
 
 看上去很美 
 (965243) 16:12:26
技术为生产服务 
 
 ♂纯月♀ 
 (88659854) 16:12:38
清华的学生可以设计一个相当复杂的算法,印度班加罗二的工人们只要一个又臭又长的hash表来解决问题 
 
 米米饭 
 (582197) 16:12:48
如果用OO,一个月就开发完了,不用,结果开发了一年,并且后期维护像是一场恶梦 

 米米饭 
 (582197) 16:12:58
你说什么是效率 
 
 ♂纯月♀ 
 (88659854) 16:13:30
OO和ER来结合起来考虑 
 
 ♂纯月♀ 
 (88659854) 16:13:42
找到一个平衡点 
 
 看上去很美 
 (965243) 16:13:52
开发效率实际使用效率都要考虑找平衡点 
 
 米米饭 
 (582197) 16:14:21
用DB4O 
 
 米米饭 
 (582197) 16:14:29
就不用都考虑了 
 
 ♂纯月♀ 
 (88659854) 16:14:34
和具体框架无关 

 米米饭 
 (582197) 16:14:54
浪费程序员的青春,数据效率应该是数据库提供商来解决的 
 
 米米饭 
 (582197) 16:15:03
程序员应该关注OO,而不是数据的效率 
 
 看上去很美 
 (965243) 16:15:03
。。。。。。 
 
 ♂纯月♀ 
 (88659854) 16:15:11
正因为这样,我才觉得RoR纯粹的DSL没有生命力 
 
 看上去很美 
 (965243) 16:15:15
谬论 
 
 看上去很美 
 (965243) 16:15:26
程序员也需要考虑效率 
 
 看上去很美 
 (965243) 16:16:01
数据库提供商考虑得出了效率还有一致性、完整性、鲁棒性、容量、维护。。。。多了去了 
 
 foxcrane 
 (6947930) 16:16:55
清华的学生 和 印度班加罗二的工人 教育成本不一样啊 
 
 米米饭 
 (582197) 16:16:56
让数据库提供商考虑去吧。我认为程序员不是DBA 
 
 Jtwo易易 
 (65541585) 16:16:56
小字打出来,鸟还没打出来,你就出来啦 

 foxcrane 
 (6947930) 16:17:07
开发出来的东西稳定性也不一样 
 
 foxcrane 
 (6947930) 16:17:17
人家成本又低,开发出来的东西又稳定 
 
 米米饭 
 (582197) 16:17:32
数据库和程序员不搭,所以持久层的作用是隔离程序员和数据库 
 
 Jtwo易易 
 (65541585) 16:17:33
其实这些不是主要的 
 
 magicgod 
 (2240529) 16:17:42
软件开发势必走两个极端,个性艺术和大规模工厂式 
 
 看上去很美 
 (965243) 16:17:51
性能优化案例的分析结果:DBA能提升的效率不到20%,而程序员通过优化编码提升的效率往往是数量级的 
 
 米米饭 
 (582197) 16:17:58
程序员是脱离数据库,面向企业业务逻辑的。 
 
 看上去很美 
 (965243) 16:18:11
你说的程序员是程序工人 

 ♂纯月♀ 
 (88659854) 16:18:22
企业业务逻辑的核心就是数据(库) 
 
 米米饭 
 (582197) 16:18:36
不是吧。 
 
 米米饭 
 (582197) 16:18:41
应该是流程 
 
 看上去很美 
 (965243) 16:18:45
做架构是从优良的数据结构设计开始的 
 
 magicgod 
 (2240529) 16:18:46
应该还有流程吧 
 
 foxcrane 
 (6947930) 16:18:50
另外,清华学生可不是万里挑一出来的,是精英中的精英 
 
 看上去很美 
 (965243) 16:18:53
♂纯月♀@老鸟(88659854) 16:30:22 企业业务逻辑的核心就是数据(库)  ---agree 
 
 ♂纯月♀ 
 (88659854) 16:18:55
数据+流程 
 
 magicgod 
 (2240529) 16:19:12
不会吧,清华现在的高度有这么高了? 
 
 米米饭 
 (582197) 16:19:13
数据库和平台一样,都要跨平台 
 
 ♂纯月♀ 
 (88659854) 16:19:20
流程也很重要,不是那是后话 
 
 看上去很美 
 (965243) 16:19:33
流程----通过数据来实现最终还是落到数据上 
 
 foxcrane 
 (6947930) 16:19:35
印度班加罗二的工人 工人比就有这么高,人家是高中毕业的..... 
 
 米米饭 
 (582197) 16:19:40
依赖一种数据库的不是好的企业应用,纯数据应用除外 
 
 magicgod 
 (2240529) 16:19:48
数据为中心是数据库兴起来的主流 
 
 米米饭 
 (582197) 16:20:29
弱化数据库依赖,也是我认为的JAVAEE的设计原则之一 
 
 ♂纯月♀ 
 (88659854) 16:20:30
你就是开发一个网络游戏,首要考虑的也是所有人物,事件,状态的资料如何高效的存储 
 
 ♂纯月♀ 
 (88659854) 16:21:07
存储过程在很多情况下,是非常必要 
 
 看上去很美 
 (965243) 16:21:17
太必要了... 
 
 ♂纯月♀ 
 (88659854) 16:21:22
弱化对数据库的依赖固然好,但有没有想过弱化对java,对中间件的依赖呢 
 
 看上去很美 
 (965243) 16:21:25
这个月一直在写 

 Jtwo易易 
 (65541585) 16:21:35
没有 
 
 Jtwo易易 
 (65541585) 16:21:44
都被java给蒙蔽了 
 
 magicgod 
 (2240529) 16:21:49
花在中间件上的钱未必是有用的 
 
 Jtwo易易 
 (65541585) 16:21:55
总想着怎么拼装的漂亮 
 
 Jtwo易易 
 (65541585) 16:22:04
显得多么的高深 
 
 ♂纯月♀ 
 (88659854) 16:22:05
如果有一个好的proc,不管任何语言,只要有db的api,都能调用proc,这种兼容性不是更好 
 
 米米饭 
 (582197) 16:22:36
OO和MDA的目标是工业化生产 
 
 Jtwo易易 
 (65541585) 16:22:43
实际点 

 米米饭 
 (582197) 16:22:45
依赖数据库是特殊应用 
 
 看上去很美 
 (965243) 16:22:46
♂纯月♀@老鸟(88659854) 16:34:05 如果有一个好的proc,不管任何语言,只要有db的api,都能调用proc,这种兼容性不是更好   ---是不错 
 
 看上去很美 
 (965243) 16:22:54
但是过分依赖存储过程也有问题 
 
 Jtwo易易 
 (65541585) 16:23:04
不要走极端 
 
 ♂纯月♀ 
 (88659854) 16:23:09
是的,那样业务逻辑会过于分散 
 
 看上去很美 
 (965243) 16:23:15
数据库应用为了保障一致性完整性等等 
 
 Jtwo易易 
 (65541585) 16:23:16
1+1都不会绝对=2呢 
 
 ♂纯月♀ 
 (88659854) 16:23:19
不走极端,找到一个平衡 
 
 看上去很美 
 (965243) 16:23:21
会有很多额外的开销 
 
 米米饭 
 (582197) 16:23:32
主要目标不同啊。 
 
 Jtwo易易 
 (65541585) 16:23:41
可行性 
 
 Jtwo易易 
 (65541585) 16:23:58
目标其实没么重要 
 
 ♂纯月♀ 
 (88659854) 16:24:04
辩证法的核心就是在矛盾中找到平衡点 
 
 米米饭 
 (582197) 16:24:10
敏捷也是一种工业生产的思想 
 
 米米饭 
 (582197) 16:24:28
干部说的那种不在这个范围之内 
 
 Jtwo易易 
 (65541585) 16:24:34
那你还不是跟着国外的那些人唱和 
 
 ♂纯月♀ 
 (88659854) 16:24:46
华为信息机提供了dll,jar的接口,但是我php就不方便调用,好在它有存储过程,这样还是可以很方便的发送短信 
 
 Jtwo易易 
 (65541585) 16:24:50
不都是看他们的文档听他们说 
 
 看上去很美 
 (965243) 16:24:58
我是最近被效率问题搞怕了..... 
 
 Jtwo易易 
 (65541585) 16:25:17
实践过了的才是真的 
 
 Jtwo易易 
 (65541585) 16:25:29
光看文档搞拼装有什么用 
 
 ♂纯月♀ 
 (88659854) 16:25:39
敏捷是口号,重构是方法,快速原型是工具 
 
 ♂纯月♀ 
 (88659854) 16:25:46
你什么效率问题啊 
 
 看上去很美 
 (965243) 16:26:03
大数据量入库并作业务,业务查询为主 
 
 米米饭 
 (582197) 16:26:39
干部一直在搞特殊应用...所以没办法啊。你的想法很难复制和工业化 
 
 看上去很美 
 (965243) 16:26:40
1000个终端,一小时产生4条明细记录一条记录500多个字段 
 
 看上去很美 
 (965243) 16:27:02
不是特殊应用企业应用中这问题太常见了 
 
 看上去很美 
 (965243) 16:27:17
机器是pcserver 还是32位oracle 
 
 ♂纯月♀ 
 (88659854) 16:27:44
这样应用只有拼命压榨系统性能了 
 
 米米饭 
 (582197) 16:27:45
五百个字段,还不特珠 
 
 Jtwo易易 
 (65541585) 16:27:51
强 
 
 看上去很美 
 (965243) 16:27:58
还有很多业务逻辑 
 
 看上去很美 
 (965243) 16:28:14
这些数据传上来的时候有明细也有历史 
 
 Jtwo易易 
 (65541585) 16:28:22
现实问题 
 
 看上去很美 
 (965243) 16:28:34
业务需要取极值,取最后时间点值 
 
 看上去很美 
 (965243) 16:28:50
数据上传得先后和实际产生的先后并不一致 
 
 看上去很美 
 (965243) 16:29:47
我逼得没办法跟他们谈了一下,放弃实时处理,每一小时批量转换处理一次。实时处理只做update 
 
 看上去很美 
 (965243) 16:29:57
update只针对小数据量表 
 
 ♂纯月♀ 
 (88659854) 16:30:26
有没有采用MoM结构 
 
 看上去很美 
 (965243) 16:30:40
原来停机一天,再启动,一天历史数据处理完毕要6-7小时现在只需要7-8分钟 
 
 [/wx]newsky 
 (41561701) 16:30:56
MoM结构是什么结构?? 
 
 看上去很美 
 (965243) 16:30:58
通讯时间除外,通讯大概要几十分钟 
 
 看上去很美 
 (965243) 16:31:01
没有 
 
 ♂纯月♀ 
 (88659854) 16:31:07
基于消息的异步处理 
 
 [/wx]newsky 
 (41561701) 16:31:14
哦 
 
 看上去很美 
 (965243) 16:31:30
是gprs传输用的是老外的中间件是否基于消息机制不得而知 
 
 ♂纯月♀ 
 (88659854) 16:31:57
还是用了中间件啊 
 
 看上去很美 
 (965243) 16:32:06
不过实现上原理应该是一样的达到异步消息处理的要求  
 
 看上去很美 
 (965243) 16:32:21
也就是老外做的dll 编码还是自己做 
 
 看上去很美 
 (965243) 16:33:49
7-8分钟还有优化的余地不过懒得动脑筋了大大的满足目前要求就行了 
 
 ♂纯月♀ 
 (88659854) 16:34:45
所有的处理都是基于存储过程? 
 
 看上去很美 
 (965243) 16:35:21
通讯入库不是我做了张500多字段的接口表 
 
 看上去很美 
 (965243) 16:35:27
是不是觉得很愚蠢 
 
 看上去很美 
 (965243) 16:35:38
没办法,我测试多次,这样最快 
 
 看上去很美 
 (965243) 16:35:54
因为转换逻辑中很多1条记录变3-6条的 
 
 看上去很美 
 (965243) 16:36:13
如果直接分表存放,通讯程序作了太多事情 
 
 看上去很美 
 (965243) 16:36:32
他获取连接次数很多 
 
 foxcrane 
 (6947930) 16:38:22
500多字段的接口表 那维护不累死了啊,你的业务真BT啊 
 
 ♂纯月♀ 
 (88659854) 16:38:38
无所谓,因为你最终还是要解析这些参数 

 ♂纯月♀ 
 (88659854) 16:38:41
放在那里解析都一样啊 
 
 看上去很美 
 (965243) 16:38:43
是的 
 
 看上去很美 
 (965243) 16:38:55
分表放我解析起来逻辑还复杂 
 
 米米饭 
 (582197) 16:39:43
这是面向效率编程:0 
 
 米米饭 
 (582197) 16:39:45
:) 
 
 ♂纯月♀ 
 (88659854) 16:39:47
这个无所谓,反正表都做索引 
 
 看上去很美 
 (965243) 16:40:12
接口表处理完就清空 
 
 看上去很美 
 (965243) 16:40:21
保证接口表数据量最小 
 
 看上去很美 
 (965243) 16:40:44
业务表做成分区表所以按业务需要做成全表索引和分区索引 
 
 ♂纯月♀ 
 (88659854) 16:40:47
接口表是临时表吧 
 
 看上去很美 
 (965243) 16:40:57
索引优化还没完全做完 
 
 看上去很美 
 (965243) 16:41:16
接口表是固定表 
 
 看上去很美 
 (965243) 16:41:28
创建临时表的开销我也给省掉了 
 
 ♂纯月♀ 
 (88659854) 16:41:48
临时表驻留内存不是更快 
 
 看上去很美 
 (965243) 16:42:24
入接口表是通讯作转换接口表的数据是存储过程作 
 
 看上去很美 
 (965243) 16:42:30
没办法用临时表 
 
 ♂纯月♀ 
 (88659854) 16:43:01
o  
 
 看上去很美 
 (965243) 16:43:30
我的系统分区表快达到上限了 
 
 米米饭 
 (582197) 16:43:43
这个问题困挠了你很久了:) 
 
 看上去很美 
 (965243) 16:44:14
因为最终用户it水平很低我也没办法今后保证给他们做长期db维护所以预先建了10年的按日分区 
 
 看上去很美 
 (965243) 16:44:27
呵呵,估计5年就换 
 
 ♂纯月♀ 
 (88659854) 16:45:10
难道5年换的时候,以前的数据都不要了 
 
 看上去很美 
 (965243) 16:45:15
困扰了一段时间解决方案早就有了但是一直没实际测试 
 
 看上去很美 
 (965243) 16:45:22
这次测试通过了 
 
 看上去很美 
 (965243) 16:45:38
数据保留2年即可超过的导出来备份 
 
 米米饭 
 (582197) 16:45:45
企业倒闭数据就没用了。:) 
 
 米米饭 
 (582197) 16:46:17
不倒闭,再上新系统,再搞大量的ETL..真是累啊 
 
 米米饭 
 (582197) 16:46:36
典型的中国式软件:) 
 
 ♂纯月♀ 
 (88659854) 16:46:40
哦,是什么行业的客户? 
 
 看上去很美 
 (965243) 16:46:56
不需要阿  

 看上去很美 
 (965243) 16:47:08
历史数据为什么要etl? 
 
 看上去很美 
 (965243) 16:47:11
电力 
 
 看上去很美 
 (965243) 16:47:26
我们这数据量不算多的不过机器配置算低的 
 
 ♂纯月♀ 
 (88659854) 16:48:41
哦,ETl到DW,那就安全了 
 
 米米饭 
 (582197) 16:49:02
其实我在搞NMS,数据采集,在很久以前,中兴就开始学习OO思想 
 
 米米饭 
 (582197) 16:49:20
现在开源的NMS,已经用上SPRING hibernate了 
 
 ♂纯月♀ 
 (88659854) 16:50:00
数据采集就更不能oo了,我们监控主干的netflow流量,每天都几个G的数据 
 
 ♂纯月♀ 
 (88659854) 16:50:17
一直再等google 的GFS开源,用它的那套存储 
 
 米米饭 
 (582197) 16:50:21
:)你看中兴的系统就知道了,节点完全是OO的 
 
 NO.1狗狗 
 (200865271) 16:50:49
开源?  
 
 米米饭 
 (582197) 16:50:52
业务上OO,底层交给snmp 
 
 NO.1狗狗 
 (200865271) 16:50:53
不可能吧  
 
 ♂纯月♀ 
 (88659854) 16:50:55
结点是可以oo,不过流量数据,你要处理的话,OO就没用了 
 
 米米饭 
 (582197) 16:52:21
分层开发,各司其所,底层数据写入怎么写无关紧要,只要提供接口就可以 
 
 ♂纯月♀ 
 (88659854) 16:53:04
你谈的是web应用的开发 
 
 米米饭 
 (582197) 16:54:03
算是吧,不过我还是觉得核心做的事,是很小的一部分,大部分软件的价值通过上层应用来体现 
 
 ♂纯月♀ 
 (88659854) 16:55:16
web应用只是NMS的一部分,还有大量的算法例如,拓扑发现,定位等等 

号称排在国内四大Java组织之后的Java老鸟群(qq群:1775725)的一次讨论:略微删减聊天的部分后的对话,贴在这里,欢迎大家指正:

  magicgod 
 (2240529) 15:27:08
ror还是比较适合个人和小型团队 
 
 magicgod 
 (2240529) 15:27:25
短平快的东西,不太适合大公司 
 
 米米饭 
 (582197) 15:27:40
怎么不说,JAVA也适合比较小的公司或团队 
 
 magicgod 
 (2240529) 15:27:43
公司大了,这么多人,这么多角色总得找点事做吧 
 
 米米饭 
 (582197) 15:27:56
其实ROR压根就没有生存的必要 
 
 magicgod 
 (2240529) 15:28:18
已经存在了,还讨论什么生存的必要啊 
 
 NO.1狗狗 
 (200865271) 15:28:24
那python呢? 

 米米饭 
 (582197) 15:28:51
那就让他灭亡,研究点JAVA敏捷,或PHP敏捷多好 
 
 magicgod 
 (2240529) 15:29:35
倒,灭亡不是个人说了算的,如果它不适应时代,必然灭亡 
 
 米米饭 
 (582197) 15:29:43
多搞出一个敏捷来,其实压根不比别的敏

抱歉!评论已关闭.