数据复制是在多个站点或节点中存储数据的过程。它有助于提高数据的可用性。它只是将数据库中的数据从一台服务器复制到另一台服务器,以便所有用户可以共享相同的数据而不会出现任何不一致。结果是一个分布式数据库,用户可以在其中访问与其任务相关的数据,而不会干扰其他人的工作。
数据复制包括持续进行的事务复制,以便复制处于一致更新状态并与源同步。然而,在数据复制中,数据在不同位置可用,但特定关系必须仅驻留在一个位置。
可以有完整复制,其中整个数据库存储在每个站点。也可以有部分复制,即复制数据库中一些经常使用的片段,不复制其他片段。
数据复制的类型 –
- 事务复制——在事务复制中,用户接收数据库的完整初始副本,然后在数据更改时接收更新。数据以与发布者相同的顺序从发布者实时复制到接收数据库(订阅者),因此在这种类型的复制中,事务一致性得到保证。事务复制通常用于服务器到服务器环境。它不是简单地复制数据更改,而是一致且准确地复制每个更改。
- 快照复制 –快照复制完全按照特定时间出现的数据分发数据,不会监控数据更新。生成整个快照并发送给用户。快照复制通常在数据更改不频繁时使用。它比事务性慢一点,因为每次尝试都会将多条记录从一端移动到另一端。快照复制是在发布者和订阅者之间执行初始同步的好方法。
- 合并复制——来自两个或多个数据库的数据合并到一个数据库中。合并复制是最复杂的复制类型,因为它允许发布者和订阅者分别对数据库进行更改。合并复制通常用于服务器到客户端的环境。它允许将更改从一个发布者发送到多个订阅者。
复制方案 –
1. 完整复制——最极端的情况是在分布式系统中的每个站点复制整个数据库。这将提高系统的可用性,因为只要至少有一个站点启动,系统就可以继续运行。
完整复制的优势——
- 数据的高可用性。
- 提高检索全局查询的性能,因为可以从任何本地站点本地获取结果。
- 更快地执行查询。
完全复制的缺点——
- 完全复制很难实现并发。
- 作为单个更新的缓慢更新过程必须在不同的数据库上执行以保持副本一致。
- 数据可以很容易地恢复。
- 可以在没有复制的情况下实现并发。
- 由于多个用户正在访问同一台服务器,因此可能会减慢查询的执行速度。
- 由于没有复制,数据不容易获得。
- 片段的副本数量取决于数据的重要性。
- 提供跨所有数据库节点的一致数据副本。
- 提高数据的可用性。
- 通过数据复制提高数据的可靠性。
- 数据复制支持多用户并提供高性能。
- 为了消除任何数据冗余,合并数据库并使用过时或不完整的数据更新从数据库。
- 由于创建了副本,因此有可能在事务执行的地方发现数据本身,从而减少了数据移动。
- 执行更快的查询执行。
- 由于在不同站点存储相同数据的副本会消耗更多空间,因此需要更多存储空间。
- 当需要更新所有不同站点的副本时,数据复制变得昂贵。
- 保持所有不同站点的数据一致性涉及复杂的措施。
2. 无复制——复制的另一种情况涉及无复制——即每个片段仅存储在一个站点。
无复制的优点 –
无复制的缺点 –
3. 部分复制——在这种类型的复制中,数据库的某些片段可能会被复制,而另一些则不会。片段的副本数量可以从 1 到分布式系统中的站点总数。片段复制的描述有时称为复制模式。
部分复制的优势 –
数据复制的优势——数据复制通常用于:
数据复制的缺点——