1.很多DBA有种感觉,那就是RAC比非RAC的Oracle技术更难入门。拨开OracleRAC华丽的外衣,其本质不过就是个关系型数据库。数据库的本质到底是什么?它仅仅是一个巨大的数据集散地吗?数据库系统与其它数据管理方法的重要区别是什么?
数据库的本质就是个关系型数据库,它是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。它不仅仅是一个巨大的数据库集散地,数据存储必须合理规划,以便快速检索与访问,通过锁来保证数据的一致与完整性,通过权限管理保证数据的安全性,通过对现在数据进行分析从而引导企业下一步的决策。
2.并发访问数据库本身很美妙,但带来的问题颇具挑战性,可能造成数据不一致的后果,请结合您的日常生活与工作分享一些并发控制的案例。
电脑的进程之间就是并发的。。这个大家都很熟悉的。。
3.我们知道RAC是运行在多台计算机的数据库中,如何在多台计算机环境下感知并发的存在?RAC和传统的单实例有哪些区别?请谈谈您的理解。
RAC和单实例最大的区别是,R只要RAC中有一个节点正常工作,就可以对外提供服务传统的单实例系统切换过程中不能对外提供服务,对于一些核心系统影响较大。多个实例共享一份数据。多个实例对同一份的操作,必须解决并发访问的问题,所以数据在各个节点间的同步就很重要。缺点是多个实例间对同一数据库进行并发访问,不得不考虑节点间的数据传输与数据的一致性。
4.集群间的同步功能更像是一把“双刃剑”,它可以保护数据的一致性,但也有可能因为集群同步活动过于密集而影响集群性能。您是否赞成?要想真正实现集群环境的理想性能需要考虑哪些关键因素?
赞成,任何东西都可能有两面性,解决了一方面的问题,就有可能带来一些新的问题。RAC也不例外,很多系统迁移到RAC后,都反应还么有在单机的时候快..个人觉得最大的一个特点就是提高了系统的高可用性。性能也提高了,同时也增加了管理上的难度。不同的应用跑在不同的节点上,减少节点间的数据传输,一旦出现故障切换到备用节点继续提供服务。集群的网络与存储规划对于集群的性能也有很大的影响。真正实现集群环境的理想性能需要考虑根据应用特点,分应用、分模块,建立不同的服务。。
|