在线186人
首页
主题总表
培训咨询
精华
查搜
注册
登陆
用户
自动登陆
密码
新用户注册
忘记密码?
首页
»
论坛
»
J2EE/JavaEE/JEE/EJB/JSF等技术讨论
上一主题
我的系统数据库是roacle 9i的,字符集是american的,java从表单接受汉字 或 java从数据库中取汉中字段,页面都是乱码,有什么好的办法解决啊? [b]注[/b]:若oracle..
返回本主题
返回主题列表
下一主题
[code] protected long[] getThreadBlock(String query, int startIndex){ try { ..
Go
总共有
4
回复 /
1
页
前往下页:
kaite
悄悄话
发表文章: 3
注册时间: 2008年05月18日 11:51
面向对象在商务智能中的应用?
2008年05月18日 11:52
标签列表
集群
(59)
分布式计算
(32)
数据库
(131)
高性能
(72)
在Jdon这个网站学习了很多面向对象的知识。看到这里很多人有数据库要灭亡的说法。
我一直很困惑,像我现在做的移动经分项目,主要做的就是数据统计,以便移动领导决策分析。
在我们这里数据统计动着几千万条,上亿条的也有可能,性能对我们很重要。我很难想象如果把这些数据从数据库中搬出来,封装在对象里面,然后在计算(我们主要做数据抽取、转换、加载)。我们有强大的数据库系统,为什么还要搬到小型的业务系统上去了。业务系统也不可能保存几十T的数据吧。
我们常常说数据库是数据冬眠的地方。是的,我也是这么认为的。但实际上我们的数据库不只是保存数据(或者面向对象的说法,叫做数据持久化)。我们可能要对些字段做统计,或者转换。当我们面临很小的数据时,如几万条或者百万条的时候,也许我们还可以从数据库把他们取出来,再统计,再转换,再插入另外一张表。这个过程我们都可以用
OO
完成。 如果数据量到了千万条,上亿条,我真的想象不出,为什么不用数据库自身的统计,转换能力来做这些事。却要把它抽取出来,封装在对象中,做完转换,在写回去,这样做是很浪费网络,和计算资源的。这是我的困惑之一。
我另外的困惑就是,确实现在的数据库设计思想还有很多停留在过程设计阶段。它有很多缺陷,它没用面向对象那样直观的表示。要用数学的思考方式考虑很多细节。它没有对象里面的继承实现方法。有的话,各个数据库实现也不是一样的。在我们的开发中常遇到的问题是很难封装变化点。很难重用一些做好的设计。很难使数据库开发敏捷化。
我真的希望能有一套很好的数据库面向对象设计、开发方法学。我们现在为了追求性能用的是存储过程来实现数据库的开发。
kaite
悄悄话
发表文章: 3
注册时间: 2008年05月18日 11:51
re:面向对象在商务智能中的应用?
2008年05月18日 12:03
我自己在补充一点。数据仓库设计中也是分层设计的,也是按照业务逻辑分为:基础层,应用层,展现层。
banq
悄悄话
发表文章: 9312
注册时间: 2002年08月03日 17:08
回复:面向对象在商务智能中的应用?
2008年05月18日 12:11
>我很难想象如果把这些数据从数据库中搬出来,封装在对象里面,然后在计算(我们主要做数据抽取、转换、加载)。
怎么难以想象呢?我在 分布式云计算文章中已经说了,你封装在对象中,这样就可以在服务器群中运行,我倒是很难想象,google将全球数据放到你们移动那个一两大数据库中会是怎么情况。
http://www.jdon.com/artichect/architecture.html
不要让存在现实成为我们探索真理的阻力,也不要用成见来影响我们的创造力,地震后可以有124小时还活着。
国外对象大师MartinFowler也说了领域模型和事务脚本中,将业务封装到对象中,大则互动,进而越大,小则过程化,多么简单的大道理,应该丝毫不难以理解啊。
http://www.jdon.com/article/34056.html
>我真的希望能有一套很好的数据库面向对象设计、开发方法学。
我以上说的这些思路其实早就在JavaEE成熟实现了,2002年你如果研究
EJB
和JMS;2004以后你如果研究
Spring
Hibernate
和分布式
缓存
ehcache等,你就会发现,你有疑惑的那些技术早就成熟,只不过你没有去做罢了。J道网站就是反复告诉你们这些先进技术和思想的真相。
>如果数据量到了千万条,上亿条,我真的想象不出,为什么不用数据库自身的统计,转换能力来做这些事。却要把它抽取出来,封装在对象中,做完转换,在写回去
这是业务一部分,可以通过对象分析方法实现,如果你还是疑惑计算能力问题,我也说过,分布式对象可以散落N多台服务器中运行,肯定强于你一两台数据库服务器,这是一个简单的1+1=2的数学问题。所以,为什么我们现在云计算很热门,都是对过去我们集中式计算思维的调整。
[该贴被banq于2008-05-18 12:27修改过]
[该贴被banq于2008-05-18 12:28修改过]
kaite
悄悄话
发表文章: 3
注册时间: 2008年05月18日 11:51
re:面向对象在商务智能中的应用?
2008年05月18日 13:26
首先得感谢banq的热情回复。
你的分布式云计算文章其实我在这篇帖子之前我就看了。事实上移动也是用计算机
集群
来做的。虽然计算机
集群
和云计算还是有些区别的。但在它能够满足现今的业务需求时,是没有必要变得。
事实上我在分布式计算,面向对象,设计模式,IOC 、缓存机制上的研究从2005年就开始了。我对业务封装到对象中,大则互动,进而越大,小则过程化也是理解的。
问题是,我们的整个业务逻辑是在数据仓库上实现的,而且数据仓库也是部署在计算机
集群
上的。(数据仓库的设计在国际业界也是有很成熟的方法的。数据仓库不是传统的数据库)
我们既然能够用这些可用的资源来做这件事,为什么还要把它取出来,加载到另外的机器上去做这件事了。难道把它们从强大的计算资源上取出放到几十台普通服务器的内存中,就是一个好方法。
所以我仅是要解决怎么用面向对象的方法来实现sql存储过程。怎么用面向对象的方法来设计一个数据库的库表,(你知道数据库的概念模型设计可以用面向对象模型来设计,可具体的物理模型设计就完全不一样了)。这样来减少我以后的工作量。如果我离开了这家公司到了另外一家公司,当然我会有用更好的办法来做这件事。
其实用面向对象的方法来设计数据库表我也有些想法。我想看看有什么更好的方法没有。
[该贴被kaite于2008-05-18 13:37修改过]
[该贴被kaite于2008-05-18 13:41修改过]
[该贴被kaite于2008-05-18 13:47修改过]
[该贴被kaite于2008-05-18 13:49修改过]
[该贴被kaite于2008-05-18 13:59修改过]
[该贴被kaite于2008-05-18 14:39修改过]
banq
悄悄话
发表文章: 9312
注册时间: 2002年08月03日 17:08
回复:re:面向对象在商务智能中的应用?
2008年05月18日 15:12
>难道把它们从强大的计算资源上取出放到几十台普通服务器的内存中
为什么搞几十台普通服务器,你也可以搞强大的几十台服务器啊。只要你资金允许,或许以后处理量增加,也许这样处理能力更强大呢。
数据仓库是一种云存储,在云计算那篇文章我也指出,云存储和云计算是不同的,因为存储和计算就是非常不同的概念。
当你意识到
集群
存储和
集群
计算是两种概念,那么你就知道你们目前这样架构虽然可以解决目前问题,但不是一个终极解决方案,不是可伸缩的。
现在也有操作系统
集群
,比如.NET就依赖NT的
集群
,Linux也有
集群
,计算
集群
也可以基于数据库
集群
和Linux集群,但是计算
集群
是一种业务对象精准
集群
,比他们更加精准解决计算能力,相当于精确制导导弹。
当然业务对象的计算
集群
基础是业务对象,我们必须首先构建出业务对象,否则巧妇难为无米之炊啊。这也是云计算的难点,就象google那样好的云计算方案它的强大就是在于它的特点,它搜索的特点,所以它的云计算优点就不能象数据仓库 Linux集群一样从它的应用场景随便移出来,放到我们的应用程序中,能够借鉴的就是它的方法和思维特点。
[该贴被banq于2008-05-18 15:12修改过]
这个主题有
4
回复 /
1
页
Go
上一主题
返回本主题
返回主题列表
返回页首
下一主题
热点TAG:
AOP
cache
缓存
DDD
EJB
集群
设计模式
Hibernate
IOC
JiveJdon
OO
RBAC
Seam
Spring
Struts
正在读取,请等待...
查询本论坛内
近一天
近三天
近一周
近一月
近三月
近半年
近一年
所有
回复超过
的热门帖子
标题
内容
解惑之道在
J道
,打造中国最具影响力的的企业软件社区
OpenSource
JIVEJDON
v3.0
Powered by
JdonFramework
Code © 2002-08
jdon.com
anti spam