我有一个项目,其中有多个站点(1500个客户端站点),每个站点包含一个Oracle数据库,以及一个带有MySQL DB的数据中心,所有客户端站点中的所有数据都应驻留并保持同步。该项目的范围是实现数据中心和客户端站点之间的同步。
因此,我有几个问题:
1-是否有实用程序/工具来实现oracle和mysql数据库之间的集成和同步?
2-使用互联网进行传输/发送时保护数据的最佳方法是什么?
预先感谢
答案 0 :(得分:0)
是的,可以使用许多工具来实现类似的目的,但是最佳的解决方案将取决于您组织的技术需求和预算(请不要低估此工具的重要性。) Oracle DBA按行业分类,尽管我在MySql中做一些工作,但这些都是以Oracle为中心的建议。仅供参考。
对于#1。我建议您检出Oracle Golden Gate和Oracle Data Guard。
Golden Gate是数据集成,复制和软件包,使您可以近乎实时地跨多个数据库同步数据。使用Golden Gate,您可以跨多种环境复制数据,事务和DDL更改。设置起来可能很困难,但是一旦安装到位,如果您能够以对自己的需求有意义的方式来利用它,那么它的收益将是很多倍。这可能将是最具成本效益的解决方案(就工作水平,成本等方面而言),但是它会很昂贵,并且如果您和您的员工不熟悉它,可能需要培训。
Data Guard也是Oracle技术,但是它更多地用于主数据库/备用数据库设置。从本质上讲,它允许您创建两个数据库-一个作为主数据库,在其中进行数据事务处理,另一个作为备用数据库,在该数据库中实时复制这些事务。我喜欢Data Guard,因为它可以让您在主数据库和备用数据库之间无缝切换,而最终用户不必知道它。例如,假设某个用户连接到您的主数据库,但是由于某些原因主数据库所在的文件系统已损坏。您可以对其进行设置,以便数据库将用户的连接自动移至备用数据库,并允许他们完成事务,而这一切都不会中断他们的终端。
我启用Data Guard的原因是,您可能需要考虑设置Data Guard以便主数据库可以驻留在客户端,而备用数据库驻留在客户端,而不是将您的站点直接复制到数据中心。数据中心一侧。这将做两件事-1.创建客户端数据库的本地副本,以便在灾难中可以轻松恢复。 2.降低诸如网络延迟之类的问题引起问题的可能性。如果您的复制策略依赖于始终保持可访问性的那些客户端数据库,那么当这些客户端站点上的人员遇到问题时,您就会遇到问题。使用Data Guard,您可以通过与备用数据库同步来保护自己免受某些风险的影响-意味着不是从客户端进行更改->直接到数据中心进行同步,而是从客户端主数据库->数据中心备用数据库进行同步- >数据中心进行同步。您的安全和网络团队也可能会喜欢这样的解决方案,但这可能会有所不同。
对于#2。每当您在Internet上移动数据时,您都想使用诸如加密,SSL,证书身份验证,防火墙,VPN等基本功能。除此之外,您还需要确保遵循已设置的准则和规定。在您所在的地区。例如,如果您使用的是银行或金融数据,则可能存在适当的法律法规,规定了在开放式Internet上移动数据的最低要求。同样,如果您使用的是医疗数据或医疗保健数据,则该行业可能还存在一组不同的最低要求。您的组织应该能够将您与资源联系起来,以找到那些要求,但是最终,遵守法规(如果有)的责任将落在任何设置它的人身上-最有可能是您。确保您了解要移动的数据类型以及围绕该数据的任何法律含义,并根据此设置技术要求。
如果您使用的数据没有任何规则/规定(例如,您只是在移动不需要保护的公开可用数据),那么您就可以做可行的事情-只要确保您正在以安全的方式做到这一点,从而不会损害客户端站点或您的数据中心。