简单的说,Oracle就是在服务器、存储等硬件基础上进行计算,保存和查询操作,各个环节都很重要,可以做一个比喻。
王重阳与全真七子,关于硬件体系结构与CPU调度
smp,如果cpu的频率好,cpu个数多,总线和cache设计巧妙,性能是很强的。 就如同王重阳乃不世武林高手,学贯武学,可个人的能力再强都是有限的,打不败金兵。
cluster 王重阳的7个弟子功力较逊,组成北斗七星阵,不亚于其他武林高手,更重要的是,一个挂了,其他人可以接着打下去,适当的时候找个人补上去。扩展出来就是军队。
numa 硬件分区的基础,就如同少林十八罗汉,任务重的时候,十八罗汉共同执行一个任务,很强,任务多的时候,每几个罗汉分别做一件事情,动态调配。
七子授课 全真派弟子众多,假如每个人(Process)都想得到7位师长(CPU)的指点,怎么办,排队,没有生病的、没有外出的都排队轮流,根据各种情况来衡量谁先谁后,一般都是一样的,当然重点培养对象优先级高可以插队开小灶。七子分配一段时间(时间片)给弟子授课,中间弟子上厕所了,就重新其他弟子分配传授时间,上厕所的呢,重新排队把。总有一种方法使得授课效率比较有效。假如弟子上万呢,如果都让全真七子教,肯定是七子累死了和弟子无能死了,让出色弟子授课或者另立门户吧。
武当派与日月神教,关于数据结构
武当派规模比较小,有多少个人,能干什么,数看看都知道了,于是管理方式就是list,table。
日月神教规模比较大,于是有了光明左右使、五大护教法王、五散人、五行旗(巨木旗. 厚土旗. 洪水旗. 烈火旗. 锐金旗)、各地分舵,你说你是吴劲草,找你到费姥姥劲了,你说你是五行旗-瑞金旗的吴劲草,一下子就找到了。还你告诉张五忌你想做些比较大的工事,往巨木旗. 厚土旗询问几个高手就可以了,不用几万人一个个问。这个核心就是分类和分而治之,管理方式就是hash table和partitions,index也属于这个类型,可是对于比如锐金旗的兄弟,谁不知道谁啊,管理方式还是list和table。
还有一个就是日月神教看起来就像一个金字塔或者说索引中的B树,朱元璋所在的江淮一带分舵就是扩展和节点分裂太快,造成了不平衡。所有组织应该有pct used,pct free这个限制,假如一个分支人数不够,当新人增加进来的时候就分配给他,当一个分支人数较多的时候,就不让他招人了但同时给他留下名额吸引英人才。就像公司经常会会有机构重组来提高效率一样,随着形势的发展,就应该不同的策略。
太极拳
为什么张五忌学了张三丰的太极拳就能能够赵敏手下强劲的武林高手呢,因为太极拳强调阴阳相济、刚柔并重,就是说洞悉奥妙,恰到好处,机器配置高,存储性能好,不见得Oracle就跑得更快,throughout就高。
Oracle的基础
对于包括Oracle在内的各种数据库来讲,除了计算,保存和查询操作这些基本功能以外,进一步来讲是能够并发处理数据,即实现事务处理。