Oracle 和 DB2,比较和兼容性/数据库扩展/复制
将数据处理负载分散并提供一定程度的容错能力的最简单方法之一是简单地将数据库中的数据复制到其他地方并启动另一个实例运行该副本。这种策略称为复制。它是最简单和最常实现的策略之一。IBM 和 Oracle 都拥有许多复制解决方案。我们在这里将复制定义为主从复制 - 只有一个地方可以更新数据(主服务器),这些更改会传播到其他实例(从服务器)。主主复制(任何实例都能够更新数据)将在共享架构主题中稍后介绍,因为多个更新的同步在这些系统中至关重要,这是复制的处理功能,数据通常不会复制到其他地方。在主从复制系统中,复制可以是同步的或异步的。区别仅仅是更改传播的时机。如果更改是在同一时间对主服务器和从服务器进行的,则称为同步。如果更改被排队并稍后写入,则为异步。
有多种方法可以将更改传播到从服务器。在基于触发器的复制中,主系统中列上的触发器将更改写入从系统。基于触发器的复制可以是同步的或异步的。
基于触发器的复制
基于日志的复制
在基于日志的复制中,事务日志文件被复制到另一个实例并在那里重播。日志文件旨在在发生故障的情况下重现数据库的工作版本,因此它们代表了复制数据的理想机制。在这种情况下,日志文件被流式传输到不断恢复这些数据的数据库实例。基于日志的复制仅是异步的。
复制用途
数据复制是提供数据和系统备份的简便方法。由于被复制的数据将充当数据库,因此复制实际上是数据备份。在主从系统中,从数据库是只读的。如果数据正在被复制到正在运行的数据库实例,它可以在主服务器不可用时提供系统备份。这称为热备用,并且可以通过使其可读写将从服务器变成主服务器。这是热备用的简单描述,如果您的主服务器不可用,除了将其设为可读写之外,您可能还需要做其他事情来将从服务器提升为主服务器。
复制的数据库也是一种很好的卸载数据库处理的方法。只读从服务器可用于报告和 DSS 应用程序。通过这种方式,只读操作被卸载到从服务器,释放了主服务器上的处理周期。