智慧团建信息系统网站登录,推广关键词如何优化,在广州做seo找哪家公司,网站建设项目进度计划Share nothing理论在数据库设计和优化中的实践应用 首先介绍share nothing概念。最早接触它是在 DataBaseManagentSystem一书的并行数据库章节中。 并行数据库要求尽可能的去并行执行数据库操作#xff0c;从而提高性能。在并行计算体系结构实现中有很多可选的体系结构。包括从而提高性能。在并行计算体系结构实现中有很多可选的体系结构。包括 share-memory多个cpu共享同一片内存cpu之间通过内部通讯机制interconnection network进行通讯 share-disk 每一个cpu使用自己的私有内存区域通过内部通讯机制直接访问所有磁盘系统。 Share-nothing 每一个cpu都有私有内存区域和私有磁盘空间而且2个cpu不能访问相同磁盘空间cpu之间的通讯通过网络连接。3种体系结构如下图 Share disk share nothing share memory shared memory 体系结构的cpu之间通过主存进行通讯具有很高的效率但当更多的cpu被添加到主机上时内存竞争contetion就成为瓶颈cpu越多瓶颈越厉害。Shared disk也存在同样问题因为磁盘系统由 Interconnection Network 连接在一起。 Shared memory和shared disk的基本问题是interference当添加更多的cpu系统反而减慢因为增加了对内存访问memroy access和网络带宽network bandwidth的竞争。这样shared nothing体系得到了广泛的推广。 Shared nothing体系是数据库稳定增长当随着事务数量不断增加增加额外的cpu和主存就可以保证每个事务处理时间不变。 总的来说shared nothing降低了竞争资源的等待时间从而提高了性能。反过来如果一个数据库应用系统要获得良好的可扩展的性能它从设计和优化上就要考虑shared nothing体系结构。Share nothing means few contention.它在oracle数据库设计和优化上有很多相同之处。 Share nothing 对数据库应用主要体现在多用户并行访问系统时候优化数据库操作的response time上。如果数据库操作能够顺利获得所需要的资源不发生等待事件自然可以减少response time. 同时也体现在操作尽量少占用资源上避免浪费时间在无用功上。 如Sequence的实现方式。如果使用Oracle Sequence oracle可以缓存sequence这样最小的降低多个Session获得唯一序列的竞争。如果设计为实体化表存储sequence value方式每次获得sequence value都需要锁住纪录这样产生了严重资源竞争导致hot block.同时增加了Response time. 如存储过程的使用也体现着share nothing原理。将多个sql 封装在存储过程中避免了不必要的SQL*Net message from/to client SQL*Net data from/to client 等等待事件。这体现了设计良好的应用使用最少的资源完成工作。 如在优化sql/表结构设计上share nothing意味着降低查询的执行成本—— I/O和cpu usage.这主要体现在降低consistent gets上。 在物理设计上share nothing体现在避免磁盘热点块协调进程对磁盘的竞争平衡磁盘利用率上。 Oracle自身设计上很多都体现了Share Nothing特性在设计可扩展的数据库应用的时候也要注意到这点。 文件转载来自http://oracle.chinaitlab.com/optimize/39626.html转载于:https://www.cnblogs.com/opina/archive/2013/01/22/2870982.html