云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

中间件_百度云怎么解压文件_稳定性好

小七 141 0

微软云_阿里云可视化数据大屏_免费1年

在我上一篇博客的结尾,产业大数据,我提到了一个新的数据保证(DA)特性,实时数据采集系统,它允许你具体化(又称大容量数据拷贝)一个表,而不需要首先对源数据进行排序和比较。我一直推迟写这个博客,因为虽然这个新特性在我当前的项目中发挥了很大的作用,直到最近(DA 16 SP04 PL06)这项功能才向公众开放。

提醒:虽然DA可以独立运行,但SAP继续采用Sybase的方法,将DA作为(Sybase)SAP Replication Server(SRS)产品中的一个子系统进行分发。换句话说,您必须下载SRS才能获得DA分发软件,这意味着您需要下载SRS 16.0 SP04 PL06(或更高版本)才能访问此新功能。

背景

在我之前的博客中提到的一个项目中,客户需要将180 TB以上的数据从Oracle迁移到HANA。[注:我仍在进行此项目。]

客户选择使用SRS来a)具体化初始数据集(通过直接加载功能)和b)复制正在进行的事务。

在项目的前几个月,SRS/直接加载功能遇到了一些性能和数据准确性问题,在这个时候,人们的注意力集中在一些较小的系统上。如果1TB系统需要几周的时间来实现,那么5-10+TB系统需要多长时间来实现?

我很好奇是否有更快速、更准确的方法来实现数据,所以我开始四处寻找任何符合条件的软件产品。

注意:客户已经赚了不少钱,启动和运行SRS/直接加载操作所需的时间和精力。任何新产品都需要相对简单/快速/廉价的启动,并且需要很少的(再)培训。换句话说,无论是时间还是金钱,项目都不能在我们关闭数据迁移工具时中断几个月长话短说……我在寻找任何大容量数据迁移工具时遇到了问题:

可以处理TB的数据支持Oracle和HANA有一个命令行界面(我不可能使用点击式GUI来具体化10个成千上万的表!)可以在防火墙后运行(即,生产访问受到严格保护,因此从PC上运行通过防火墙拉/推送TB数据的程序是不可能的!)演示产品无需支付高额的前期费用(是的,有一家供应商希望客户支付演示费用!)是的,我也研究了一系列ETL工具(重点是"E"和"L"功能),但仍然没有找到(相对)简单/快速、可行的解决方案

Soooo,我开始觉得我只是浪费了几周的研究时间,突然意识到…从DA的角度来看,一组数据(从源到目标)的批量复制是数据比较作业的一个极端情况,其中a)目标数据集为空,b)您将比较作业配置为协调目标与源。

Hmmmm,我可以使用DA作为批量数据复制工具吗?

DA比较模式

DA有两种比较模式,可以协调目标和源,但是在协调大量数据(例如,整个源数据集):

从源数据中提取数据并进行排序[可选:对非主键数据进行哈希处理=>最小化用于保存中间排序集的磁盘空间,而且还加快了比较阶段的速度][如果未启用哈希,则必须对每行的全部内容进行排序,并将其本地存储在DA主机上-内存和/或磁盘中]排序后的数据与(空)目标数据进行比较,并标记为不同步[可选]用户定义的重试间隔必须重新验证每个源记录(仍然)不在目标中强制的重新验证阶段强制DA从源中重新提取每一行,大数据数据库,并与目标中关联的(丢失的)行进行比较[所有源记录全部存储在DA主机的本地内存和/或磁盘中]生成中间的、DA可读的协调脚本(本例中为insert语句)[在操作系统/磁盘级别会占用大量排序/暂存空间][可选]将永久的、用户可读的对帐脚本写入磁盘对目标应用调节脚本最佳方案:当相对较少的行预计会不同步时(如果非主键数据可以预先散列,则效果更好)

数据从源中提取并排序[散列被禁用,因此每行的全部内容必须在DA主机上本地排序和存储-在内存和/或磁盘中]排序后的数据与(空)目标数据进行比较,标记为不同步并且…目标行将自动更新以匹配源行(本例中为insert语句)最佳方案:当总数据集(相对)较小且大多数行预计不同步时效果良好

当这些比较模式适用于特定的最佳方案时,当我们知道目标数据集为空时,开销(磁盘、cpu、内存和时间)过多。当您将100 Gb的数据集(TB+任何人?)在大小方面,如果您试图同时"同步"多个数据集,您可能会发现由于文件系统(在DA主机上)已满和/或在DA主机上出现OOM(内存不足)错误,理财返利平台,因此无法"同步"数据集。

请记住,DA已经知道如何在不同的数据库之间读取/写入数据(确定,因此,如果我们可以摆脱中间排序、比较和重试/重新验证阶段,那么我们就可以使用DA作为批量数据复制工具…也许?对?不?