数据复制是在不同位置创建和维护相同数据的多个副本的过程,作为确保整个组织的数据可用性、可靠性和弹性的一种方式。
通过将数据从源位置复制到一个或多个目标位置,副本有助于某一组织的全球用户轻松访问所需数据,而不会遭遇延迟问题。
当同一数据的多个副本存在于不同位置时,即使其中一个副本因灾难、中断或任何其他原因而无法访问,也可将其他副本用作备份。此冗余机制有助于组织最大限度地减少停机时间和数据丢失,并提高业务连续性。
数据复制既可通过存储区域网络、局域网或本地广域网来实现,也可复制到云端。复制操作可同步或异步进行,具体则取决于写入操作的管理方式。复制操作可同步或异步进行,具体则取决于写入操作的管理方式。
虽然同步复制可确保数据不丢失,但异步复制所需的带宽却少得多,同时成本也更低。
通过采用有效的数据复制策略,组织可通过以下方式获益:
数据复制可用作扩展策略的一部分,以适应增加的流量与工作负载需求。复制操作可通过在多个节点上分散数据来实现可扩展性,从而有助于实现更高的处理能力和更出色的服务器性能。
在不同位置维护数据副本有助于在发生停电、网络安全攻击或自然灾害时最大限度地减少数据丢失和停机时间。从远程副本恢复的能力有助于确保系统的稳健性以及组织的可靠性和安全性。
全球分布式数据库意味着它必须以更短的传输距离触及最终用户。此特性可降低延迟并提高速度和服务器性能,而这对于游戏或推荐系统再或设计工具等资源密集型系统中基于实时的工作负载尤为重要。
复制可通过提供冗余性来增强容错能力。如果数据的一个副本出现损坏或因故障而丢失,系统则可回到其他副本之一。此特性有助于防止数据丢失并确保不间断操作。
通过将数据访问请求分配到多个服务器或地点,数据复制可减轻单个服务器的压力,从而优化服务器性能。此负载均衡有助于管理大量请求,并确保提升用户体验的响应速度。
根据数据复制流程的方法、目的和特点,数据复制可分为多种类型。数据复制的三种主要类型分别为:事务复制、快照复制和合并复制。
事务复制包括从主服务器(发布者)复制整个数据库,然后将其发送到辅助服务器(订阅者)。所有数据变更均会持续不断地更新。由于数据会实时进行复制并按其出现的顺序从主数据库发送到辅助服务器,因此可确保事务一致性。此类数据库复制通常会用于服务器到服务器环境。
借助快照复制,数据库快照会从主服务器分发到辅助服务器。数据不会持续更新,而是按创建快照时所存在的数据进行发送。当数据变更数量不多或首次启动发布者与订阅者之间的同步时,建议使用此类数据库复制。虽然快照复制不会监控数据变更,因此无助于数据备份,但它有助于在发生意外删除时进行恢复。
合并复制涉及将两个数据库合并为一个数据库。因此,对数据的任何更改均可从发布者更新到订阅者。这是一种复杂的数据库复制类型,因为双方(主服务器和辅助服务器)均可对这些数据进行更改。此类复制仅建议在服务器到客户端环境中使用。
复制方案是指执行数据复制所需的操作和任务。三种主要的数据复制方案分别为:完全复制、部分复制和不复制。
借助完全复制,可将主数据库完整复制到分布式系统中的每个站点。此全局分布方案可提供高数据库冗余性、降低延迟并加快查询执行速度。完全复制的缺点在于难以实现并发,且更新流程较慢。
在部分复制方案中,数据库的某些部分会在部分或全部站点之间进行复制,且通常为最近更新的数据。部分复制可用于确定哪些数据十分重要且应被复制,以及根据现场需要来分配资源。
无复制是指将所有数据仅存储在一个站点上的方案。此举可轻松恢复数据并实现并发。无复制的缺点在于会对可用性产生负面影响,且会减慢查询执行速度。
数据复制技术是指用于将数据从主要源复制到一个或多个目标系统或位置的方法和机制。使用最广泛使用的数据复制技术为:全表复制、基于键的复制和基于日志的复制。
借助全表复制,所有数据均会从数据源复制到目标位置,其中包括所有新数据和现有数据。如果您会定期删除记录,或是其他技术在技术上无法实现,则建议使用此方法。由于数据集的大小,全表复制确实需要更多的处理与网络资源,且成本更高。
在基于键的增量复制中,仅会复制自上次更新以来所添加的新数据。由于复制的行数较少,因此该技术的效率较高。基于键的增量复制存在一个缺点:它不支持复制先前已硬删除的更新中的数据。
基于日志的复制可通过监控数据库日志记录(日志文件或变更日志)来捕获对数据源中数据所做的更改。然后,这些更改会复制到目标系统,且仅应用于受支持的数据库源。当源数据库结构为静态结构时,建议使用基于日志的复制,否则它可能会变为一个非常耗费资源的流程。
数据复制是一种通用技术,它适用于各种行业和场景,以便提高数据可用性、容错能力和性能。数据复制的部分最常见用例包括:
实施数据复制策略时,日益复杂的数据系统以及系统内各服务器之间不断变长的物理距离会带来若干风险,其中包括:
数据复制工具必须确保数据在所有副本中保持一致。复制延迟、网络问题或并发更新冲突可能会导致数据架构与数据分析异常问题,例如空计数、类型变更和偏差。
虽然数据复制通常会用于数据备份和灾难恢复,但并非所有复制策略均提供实时数据保护。如果在故障期间数据变更与相关复制之间存在延迟,则可能会导致数据丢失。
通过网络来复制数据会产生延迟并消耗带宽。较高的网络延迟或有限的带宽可能会导致复制延迟,从而影响数据更新的及时性。
将数据复制到多个位置可能会引发安全风险。组织须确保所用全部数据复制工具均可在所有目标位置内的复制期间和静止时充分保护数据。
在受监管行业中开展运营的组织须确保数据复制实践符合特定于行业的法规和数据隐私法,而这可能会增大复制策略的复杂性。
通过实施数据管理系统来监督和监控数据复制流程,组织可大幅降低相关风险。基于“软件即服务 (SaaS)”的数据可观察性平台便属于此类系统,它可帮助确保:
通过监控复制流程中涉及的数据管道,DataOps 工程师可确保通过管道传播的所有数据均准确、完整且可靠。此举可确保利益相关者可靠地使用复制到每个实例的数据。在监控方面,有效的 SaaS 可观察性平台应具备以下特点:
通过跟踪管道,可系统地排除故障,从而及时发现并修复所有错误。此举可确保用户在其分析中不断受益于更新、可靠且健康的数据。可跟踪的各类元数据包括任务持续时间、任务状态、数据更新时间等。出现异常时,跟踪(和警报)功能有助于 DataOps 工程师确保数据健康。
数据管道异常的警报功能是实现可观察性闭环的重要步骤。通过警报功能,DataOps 工程师可在任意数据健康问题影响跨各个实例的数据复制之前将其修复。在现有数据系统中,数据工程师可针对以下情况触发警报:
通过主动设置警报并通过仪表板和其他首选工具(Slack、PagerDuty 等)对其进行监控,组织可真正最大限度地发挥数据复制的优点并确保业务连续性。
通过直观的图形界面创建和管理智能流数据管道,促进跨混合和多云环境的无缝数据集成。
发现 IBM Databand,用于数据管道的可观测性软件。该软件会自动收集元数据来构建历史基线、检测异常并创建工作流程,以修复数据质量问题。
利用 IBM 数据集成解决方案,创建弹性、高性能和成本优化的数据管道,以满足您的生成式 AI 计划、实时分析、仓库现代化和运营需求。