数字化时代,“数据共享”越来越成为企业的刚需,同时也成为企业的“无形压力”。如企业对不同部门的销售数据进行统计时,无论是使用ETL工具,还是自行编写脚本,都需要耗费极大的开发资金、维护以及时间成本。
基于此,具有在不同数据库之间进行连接和通信的功能数据库链接(Database Link,简称为 DBLink)受到了不少企业的关注。与此同时,已经支持数据库的 DBLink 读功能的OceanBase在其4.1版本中进一步优化,让用户轻松实现跨数据库的数据共享与一体化,使得数据处理分析更便捷。
OceanBase 4.1的DBLink 功能有哪些现实意义?
对于有数据共享需求的企业用户来说,OceanBase 4.1的DBLink 功能主要体现在跨库数据访问、数据迁移、数据一致性这三个方面。
在跨库数据访问方面,有些应用需要将数据分散到不同的集群或同一集群的不同租户中。这种情况下,可以使用 DBLink 来实现跨集群、跨租户的数据共享和交互。比如对不同部门记录的不同数据库进行汇总分析时,使用 DBLink 即可实时访问各部门数据。
在数据迁移方面,使用 DBLink 可以简化整个迁移过程。通过 DBLink即可在原数据库中查询并获取需要迁移的数据,然后在目标数据库中插入这些数据,从而快速实现数据迁移。
在数据一致性方面,基于 OceanBase 本身的 XA 事务能力,OceanBase 的 DBLink 不仅提供了读取远程数据的能力,还支持写事务。在多个数据库中进行数据更新和插入时,使用 DBLink 可以保证数据的一致性和可靠性。
OceanBase 4.1的DBLink 功能有哪些实际效果?
以A 客户需要将业务系统从 Oracle 迁移至 OceanBase为例,创建一个从 Oracle 租户 1 到 Oracle 租户 2 的 DBLink,命名为 OB_LINK;创建一个从 Oracle 租户 1 到 Oracle 数据库的 DBLink,命名为 ORCL_LINK。在实际操作过程中,可见如下几个特征:
其一、代码无需修改, Oracle DBLink 功能正常使用。
A 客户原本在业务系统上使用了 Oracle 的 DBLink 功能,将业务场景迁移至 OceanBase 之后,A 客户无需修改原有业务代码,在 Oceanbase 的 Oracle 租户下创建同名的 DBLink 即可无缝使用原有的业务代码。
其二、数据迁移平滑,避免导入导出的繁琐操作。A 客户的大部分业务数据都已通过 OMS 从 Oracle 迁移至 OceanBase 的 Oracle 租户 1 上,临时发现还有名为 orders 的表被遗漏在 Oracle 数据库上未完成迁移。此时,可以使用 OceanBase DBLink 功能方便快捷地迁移数据,避免导出导入数据的繁琐操作。值得一提的是,
分布在不同 OceanBase 的 Oracle 租户上的数据,也可以借助OceanBase DBLink 功能予以实现。
其三、OceanBase DBLink 支持跨租户查询表数据。A 客户的业务数据分布在不同的 OceanBase 的 Oracle 租户上, 有部分 sql 查询场景要同时访问位于 OceanBase 的 Oracle 租户 1 的 lineitem 表数据和 Oracle 租户 2 上的 partsupp 表数据,可使用OceanBase DBLink 将一个数据库视为另一数据库的外部表,从而执行跨数据库的查询和数据操作。
其四、保障XA 事务的各项写能力。在使用 DBLink 写入数据过程中,可向 Oracle 数据库的 customer 表的插入数据,可将 OceanBase 的 Oracle 1 租户的 lineitem 表的指定数据插入到 OceanBase 的 Oracle 2 租户的 lineitem 表上,可将 Oracle 上更新后 customer 表和 Oracle 租户 2 上更新后的 lineitem 表做 join,并把 join 结果插入到 Oracle 租户 1 的 lineitem 表,可提交 XA 事务,OceanBase 的 Oracle 租户 1、OceanBase 的 Oracle 租户 2 和 Oracle 上对应的表更新一起提交事务内改动。
综合示例来看, OceanBase DBLink 功能的读能力和支持 XA 事务的写能力,在帮助用户降低从 Oracle 到 OceanBase 数据迁移成本的同时,提供跨租户迁移数据、查询 Oracle 或其他租户数据以及 XA 事务保证下的写数据能力。
而随着企业用户在“零距离”共享数据方面的需求递增, OceanBase也将基于当前的成绩,继续深化打造。据了解,OceanBase近期从两方面对 DBLink 功能进行增强:一是支持访问更多的远程对象类型,二是支持 OLAP 场景、支持更多的数据源类型、支持连接 OceanBase 和 Oracle 以外的数据库。
相信不久的将来,在 OceanBase DBLink 更完备的功能助力下,用户的业务数据共享与流转必然会变得更简单便捷。
领取专属 10元无门槛券
私享最新 技术干货