|
有哪位大侠了解分布式系统,是否可以详细介绍一下!如果要实现分布式应用系统,那么对于后台数据库有什么要求?oracle又是如何实现分布式应用的?
原帖由 tom_111 于 2007-12-4 08:23 发表

有哪位大侠了解分布式系统,是否可以详细介绍一下!如果要实现分布式应用系统,那么对于后台数据库有什么要求?oracle又是如何实现分布式应用的?
分布式系统, 可以在两个层次实现分布.
1. 在应用层实现分布式计算, 本质上是一种C/S模式. 也即是将应用程序的服务端分布在多个不同的机器,这些程序有可能是同构的,也有可能是异构的(即运行在不同的操作系统上,用不同的开发语言开发出来), 但服务端的分布必须对客户端透明, 因此前提是要有一上分布式中间件,例如CORBA, 其作用一般是实现分布式总线功能, 支持集群,动态部署和负载均衡.
2. 在数据层实现分布式计算, 也就是将一个数据库的服务分布在两台以上的机器上实现(一般最多两台), 技术上也分为两种流派, 一是 share disk ,例如ORACLE, 多个机器节点上的数据库实例共享一个盘阵, 并发操作同一个数据库, 每条SQL只能在一个节点上完成,但出现大量的查询请求时,实例之间自动实现负载均衡,将不同的请求分发到不同的节点上, ORACLE的分布式集群产品, 在8I时叫做OPS, 9I后叫做RAC(real application cluster); 二是"share nothing ,例如DB2 UDB ESE(7版以前叫做EEE)和INFORMIX XPS,其原理是协同服务的模式,每个节点服务器只管自已的表,或者只管一组表的部分分区, 多个协同服务器共同完成一条SQL查询语句.
原帖由 zszyj2000 于 2007-12-4 10:19 发表

分布式系统, 可以在两个层次实现分布.
1. 在应用层实现分布式计算, 本质上是一种C/S模式. 也即是将应用程序的服务端分布在多个不同的机器,这些程序有可能是同构的,也有可能是异构的(即运行在不同的操作系统上 ...
另外,如果是使用ORACLE RAC, 则如果操作系统是HP-UX,则要使用MC的RAC版本, 同样,如果是AIX,则也要使用HA的RAC版本.
不过,按照我们实际应用中的效果, 对于单项任务,尤其是批量处理, RAC的作用是1+1<1. 是否采用, 要慎重.
原帖由 zszyj2000 于 2007-12-4 10:21 发表

另外,如果是使用ORACLE RAC, 则如果操作系统是HP-UX,则要使用MC的RAC版本, 同样,如果是AIX,则也要使用HA的RAC版本.
不过,按照我们实际应用中的效果, 对于单项任务, ...
请教前辈 oracle 和db2实现的方式哪个性能稍好些呢? 谢谢.
原帖由 nihlathaks 于 2007-12-4 12:46 发表

请教前辈 oracle 和db2实现的方式哪个性能稍好些呢? 谢谢.
每个公司都说它的好, 都只是理论上的, 实际应用中很难体现出其效果. 其实, 大部分情况下, 都不需要做数据库集群.最佳的方法, 还是每台机器一个数据库, 将不同的数据放到不事的机器上, 跑不同的应用. 这比数据库厂商提供的什么分区,RAC强多了,也可控多了. |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|