电子商务数据库都有哪些

电子商务数据库都有哪些

oracle集群OracleRAC是业界最流行的产品。 其架构的最大特点是共享存储架构(Shared-disk),整个RAC集群是建立在一个共享的存储设备之上的,节点之间采用高速网络互连。

在OracleRAC环境中,每个Oracle数据块都被赋予一个(且只有一个)主OracleRAC节点。

该OracleRAC节点的全局缓存服务(GCS)负责管理对这些数据块集的访问。 当其中一个Oracle节点需要访问某个Oracle数据块时,它必须首先与该数据块协商。

然后,该主节点的GCS或者指示请求的Oracle节点从磁盘中获取该数据块,或者指示该Oracle数据块的当前持有者将被请求的数据块发送到请求节点。 Oracle尝试跨所有RAC节点统一分发该数据块的所有权。 在OracleRAC环境中,数据块大致相等的所有节点都将被指定为主节点。 (如果OracleRAC节点数是Oracle数据块数的约数,则所有RAC节点都是具有同样数量的数据块的主节点。

)mysql集群MySQLcluster和OracleRAC完全不同,它采用Shared-nothing架构。 整个集群由管理节点(ndb_mgmd),处理节点(mysqld)和存储节点(ndbd)组成,不存在一个共享的存储设备。 MySQLcluster主要利用了NDB存储引擎来实现,NDB存储引擎是一个内存式存储引擎,要求数据必须全部加载到内存之中。 数据被自动分布在集群中的不同存储节点上,每个存储节点只保存完整数据的一个分片(fragment)。 同时,用户可以设置同一份数据保存在多个不同的存储节点上,以保证单点故障不会造成数据丢失。

MySQLcluster的优点在于其是一个分布式的数据库集群,处理节点和存储节点都可以线性增加,整个集群没有单点故障,可用性和扩展性都可以做到很高,更适合OLTP应用。 但是它的问题在于:存储引擎必须要求数据全部加载到内存之中,限制比较大,但是目前NDB新版本对此做了改进,允许只在内存中加载索引数据,数据可以保存在磁盘上。 2.目前的MySQLcluster的性能还不理想,因为数据是按照主键hash分布到不同的存储节点上,如果应用不是通过主键去获取数据的话,必须在所有的存储节点上扫描,返回结果到处理节点上去处理。 而且,写操作需要同时写多份数据到不同的存储节点上,对节点间的网络要求很高。