leo_wyn
作者leo_wyn·2008-12-09 13:51
商业智能工程师·Security

[db2 Essay]简单地解释一下应用程序/代理进程和交易之间的关系(转)

字数 1806阅读 1974评论 4赞 0

[原创]简单地解释一下应用程序/代理进程和交易之间的关系

转自:http://www.db2china.net/club/viewthread.php?tid=2225

可能很多刚刚接触db2的朋友经常被那些莫名其妙的应用程序,代理进程,交易,concentrator,intra-parallel,inter-parallel之类的冬冬弄得头晕脑涨,现在俺来用一个银行取钱的例子解释一下这些都是什么咚咚 :)

首先我们来想象一个很古怪的银行,叫做MyBank,其中涉及欧元,美元,人民币和日元的业务。但是什么地方古怪呢,就是它只有四个支行,每个支行负责一种货币业务。也就是美元的支行只负责美元的,人民币支行只负责人民币的。这里,货币的类型就叫做分区键,所有人民币的业务都到人民币支行,所有美金的业务呢都到美元支行拉……

现在用db2的话说,这个古怪的银行就是MyBank数据库……

某一天呢,一个人跑到MyBank的人民币支行,这个人叫做小明好了。小明就是所谓的应用程序,跑过来找银行帮忙办事的 :)

小明要干嘛呢,不存钱不取钱,只是查账,也就是query only的一个应用程序。

小明跑进了银行大厅,首先拿号,这个号就叫做应用程序id,每一个跑到银行来得人都有一个自己的号。如果下次来还要拿号,号码可能不一样滴……

现在我们来看看什么是concentrator。所谓的concentrator就是规定,派发出去的号码是否能够超过当前出纳小姐的数量,这里的出纳小姐就是代理进程^_^,为顾客服务的嘛……

如果银行规定了派发出去的号码的数量不能够超过出纳小姐的数量,也就是说没有打开concentrator,这样可以确保每一个顾客都有至少一个出纳为之服务。
但是如果银行说号码随便发,多来的人排队等着(好像大部分银行那样),这也就是打开了concentrator,进来的连接数目可以超过代理进程的数量

这个时候小明运气不错,很多窗口都是空的,于是小明来到一个窗口前,出纳小姐热情地接待了顾客,问:1234号出纳员为您服务,先生您需要什么服务阿?
小明说:俺要查帐,看看俺还有多少钱。

这里1234号就是db2代理进程id

然后呢,出纳小姐就开始为这个顾客服务拉,动动鼠标打开电脑,输入自己的账号密码,这个就是所谓的一个交易的开始,银行里对所有操作不是都要有记录么,这个记录的号码就是交易id……

这个时候小明拿出一个很长很长的单子,说俺的账号比较多,你们最好帮忙帮忙查一下这张单子上所有账号都有多少钱……看着密密麻麻的号码,出纳小姐脸儿都绿了。
此时呢,如果这个银行允许出纳员之间互相帮忙(intra-parallel)呢,这个出纳小姐就可以叫另外一个或者多个空闲的出纳帮忙清点这些单子上的账号,但是如果没有intra-parallel呢,这个可怜的代理进程就只能自己慢慢做了。

这个时候小明又说了,俺不光要看人民币的,还要看看俺美金账户,日元账户,欧元账户里面有多少钱。紧接着又是好几张单子……
出纳小姐苦着脸给另外三家支行打电话,把要看得账户告诉另外的那些支行。这个就是inter-parallel,每个支行相当于一个db2分区,而这个电话线就是FCM(fast communication manager),主要用来管理分区间通讯的模块……
不过当小明想要查其他三种货币的时候,出纳小姐一个人肯定不够用了,于是就拽过来另一个出纳小姐,让那个出纳小姐帮忙查人民币的账号,自己呢忙着打电话。于是这个打电话的1234号出纳员就叫做coordinate agent,因为她自己不用真正察看数据,而是在不同的分区间协调调度。而这个新来得出纳小姐与其他三家支行查账的出纳员则是subagent

这一笔好长好长交易终于完了,出纳小姐松了口气,小明呢还坐在柜台前看自己长长单子,死活不肯离去……

这个银行肯定是资本家开的,剥削员工是他们的本质,所以他们打开了concentrator,也就是说如果当出纳小姐完成一单交易后,不论客户走了没有,只要他当时没有其他请求,出纳小姐就要跑到另外一个窗口服务其他的客户……
可怜的出纳小姐1234于是跑到另外一个窗口,为下一个客户(应用程序)服务了。

过了一会,小明终于看完单子了,不过下一步他又从包包里面掏出一摞更厚的单子,喊道:有谁来帮我查一下这些帐户里面有多少钱啊?
也不知道谁是下一个不幸的db2代理进程呢?

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论4 条评论

wxawxa系统运维工程师IT
2013-01-17 14:11
写的很易懂,非常好!
foryulingforyuling系统架构师skyon
2008-12-10 09:46
顶非常好呀,
FelixFelix数据仓库工程师亚信联创科技(北京)有限公司
2008-12-10 09:22
很生动:loveliness:
Ctrl+Enter 发表

作者其他文章

X社区推广