东抄一些,西抄一些,都是来自网上。
About Oracle RAC
http://en.wikipedia.org/wiki/Oracle_RAC
http://download.oracle.com/docs/cd/B28359_01/rac.111/b28254/admcon.htm
Oracle RAC enables you to cluster Oracle databases. Oracle RAC uses Oracle Clusterware for the infrastructure to bind multiple servers so they operate as a single system.
Oracle RAC allows multiple computers to run Oracle RDBMS software simultaneously while accessing a single database, thus providing a clustered database.
Single-instance Oracle databases have a one-to-one relationship between the Oracle database and the instance. Oracle RAC environments, however, have a one-to-many relationship between the database and instances.
Oracle RAC depends on the infrastructure component Oracle Clusterware to coordinate multiple servers and their sharing of data storage.
Cache Fusion
Prior to Oracle 9, network-clustered Oracle databases used a storage device as the data-transfer medium (meaning that one node would write a data block to disk and another node would read that data from the same disk), which had the inherent disadvantage of lackluster performance. Oracle 9i addressed this issue: RAC uses a dedicated network-connection for communications internal to the cluster.
Since all computers/instances in an RAC access the same database, the overall system must guarantee the coordination of data changes on different computers such that whenever a computer queries data it receives the current version — even if another computer recently modified that data. Oracle RAC refers to this functionality as Cache Fusion. Cache Fusion involves the ability of Oracle RAC to "fuse" the in-memory data cached physically separately on each computer into a single, global cache.
并行数据库要求尽可能的去并行执行数据库操作,从而提高性能。在并行计算体系结构实现中有很多可选的体系结构。包括:
share-memory:多个cpu共享同一片内存,cpu之间通过内部通讯机制(interconnection network)进行通讯;
share-disk : 每一个cpu使用自己的私有内存区域,通过内部通讯机制直接访问所有磁盘系统。
Share-nothing: 每一个cpu都有私有内存区域和私有磁盘空间,而且2个cpu不能访问相同磁盘空间,cpu之间的通讯通过网络连接。
share-everything典型的就是oracle 的RAC.
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和主存就可以保证每个事务处理时间不变。
什么是Share nothing架构呢?以下内容翻译至wikipedia。
Shared nothing架构(shared nothing architecture)是一 种分布式计算架构。这种架构中的每一个节点( node)都是独立、自给的,而且整个系统中没有单点竞争。有些系统需要集中保存大量的状态信息——数据库、应用服务器或是其他类似的单点竞争系统。
Shared Nothing在Web 应用开发中尤其受到欢迎,究其原因是这种方案提供的scalability。Google在这个方面做了很好的示范。 在一个纯Shared Nothing系统中,通过简单地增加一些廉价的计算机做为系统的节点却可以获取几乎无限的扩展。正是由于Shared Nothing架构中不存在单一瓶颈而降低系统运行速度。Google 称之为sharding。 Shared nothing系统通常需要将他的数据分布在多个节点的不同数据库中(不同的计算机处理不同的用户和查询)或者要求每个节点通过使用某些协调协议来保留它自己的应用程序数据备份 ,这通常被成为数据库Sharding。
现在对一个有着多个独立的web节点却存在一个惟一的共享数据库这样的架构是否能被称之为 Shared nothing架构还是有很多争论的。一个状态型的应用(通常将状态保存到一个集中化的数据库中)要获得shared nothing架构就需要通过数据网格和分布式Cache。 但即便是这种架构,数据库依然是故障单点。
以下是使用share nothing技术的database
MySQL Cluster
IBM InfoSphere Warehouse editions that include the Database Partitioning Feature
Paraccel
Netezza
Teradata
Vertica
Lexst Database Cluster
Share-nothing:
是每一颗cpu都有各自私有内存区,私有磁盘空间,cpu之间通讯通过网络,此外两颗cpu不能访问相同磁盘空间。主要体现在当多用户并行访问系统时,如果数据库操作获取所需要的资源,不会发生等待事件,那么相应时间一定减少. 资源占用也少。
About Oracle RAC
http://en.wikipedia.org/wiki/Oracle_RAC
http://download.oracle.com/docs/cd/B28359_01/rac.111/b28254/admcon.htm
Oracle RAC enables you to cluster Oracle databases. Oracle RAC uses Oracle Clusterware for the infrastructure to bind multiple servers so they operate as a single system.
Oracle RAC allows multiple computers to run Oracle RDBMS software simultaneously while accessing a single database, thus providing a clustered database.
Single-instance Oracle databases have a one-to-one relationship between the Oracle database and the instance. Oracle RAC environments, however, have a one-to-many relationship between the database and instances.
Oracle RAC depends on the infrastructure component Oracle Clusterware to coordinate multiple servers and their sharing of data storage.
Cache Fusion
Prior to Oracle 9, network-clustered Oracle databases used a storage device as the data-transfer medium (meaning that one node would write a data block to disk and another node would read that data from the same disk), which had the inherent disadvantage of lackluster performance. Oracle 9i addressed this issue: RAC uses a dedicated network-connection for communications internal to the cluster.
Since all computers/instances in an RAC access the same database, the overall system must guarantee the coordination of data changes on different computers such that whenever a computer queries data it receives the current version — even if another computer recently modified that data. Oracle RAC refers to this functionality as Cache Fusion. Cache Fusion involves the ability of Oracle RAC to "fuse" the in-memory data cached physically separately on each computer into a single, global cache.
并行数据库要求尽可能的去并行执行数据库操作,从而提高性能。在并行计算体系结构实现中有很多可选的体系结构。包括:
share-memory:多个cpu共享同一片内存,cpu之间通过内部通讯机制(interconnection network)进行通讯;
share-disk : 每一个cpu使用自己的私有内存区域,通过内部通讯机制直接访问所有磁盘系统。
Share-nothing: 每一个cpu都有私有内存区域和私有磁盘空间,而且2个cpu不能访问相同磁盘空间,cpu之间的通讯通过网络连接。
share-everything典型的就是oracle 的RAC.
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和主存就可以保证每个事务处理时间不变。
什么是Share nothing架构呢?以下内容翻译至wikipedia。
Shared nothing架构(shared nothing architecture)是一 种分布式计算架构。这种架构中的每一个节点( node)都是独立、自给的,而且整个系统中没有单点竞争。有些系统需要集中保存大量的状态信息——数据库、应用服务器或是其他类似的单点竞争系统。
Shared Nothing在Web 应用开发中尤其受到欢迎,究其原因是这种方案提供的scalability。Google在这个方面做了很好的示范。 在一个纯Shared Nothing系统中,通过简单地增加一些廉价的计算机做为系统的节点却可以获取几乎无限的扩展。正是由于Shared Nothing架构中不存在单一瓶颈而降低系统运行速度。Google 称之为sharding。 Shared nothing系统通常需要将他的数据分布在多个节点的不同数据库中(不同的计算机处理不同的用户和查询)或者要求每个节点通过使用某些协调协议来保留它自己的应用程序数据备份 ,这通常被成为数据库Sharding。
现在对一个有着多个独立的web节点却存在一个惟一的共享数据库这样的架构是否能被称之为 Shared nothing架构还是有很多争论的。一个状态型的应用(通常将状态保存到一个集中化的数据库中)要获得shared nothing架构就需要通过数据网格和分布式Cache。 但即便是这种架构,数据库依然是故障单点。
以下是使用share nothing技术的database
MySQL Cluster
IBM InfoSphere Warehouse editions that include the Database Partitioning Feature
Paraccel
Netezza
Teradata
Vertica
Lexst Database Cluster
Share-nothing:
是每一颗cpu都有各自私有内存区,私有磁盘空间,cpu之间通讯通过网络,此外两颗cpu不能访问相同磁盘空间。主要体现在当多用户并行访问系统时,如果数据库操作获取所需要的资源,不会发生等待事件,那么相应时间一定减少. 资源占用也少。