• [其他问题] gpk导入成功有什么事件可以监听吗,我们需要在gpk导入成功之后,做数据迁移
    gpk导入成功有什么事件可以监听吗,我们需要在gpk导入成功之后,做数据迁移
  • [综合] 在线迁移和离线迁移的对比
    在线迁移:是指在系统不停机的情况下,将服务器或虚拟机上的系统、服务程序等从自建机房(IDC)或云平台等源环境迁移同步至云上,方便实现企业上云、跨云平台迁移、跨账号/区域迁移或部署混合云等业务需求。@离线迁移:(1)离线实例迁移:将系统盘镜像(若需同时迁移实例已挂载的数据盘,则可将系统盘镜像和数据盘镜像)迁入至指定的云服务器。(离线数据迁移)将数据盘镜像迁入至指定的云硬盘。区别:离线迁移需要先将源端服务器的系统盘或数据盘制作成镜像,再将镜像迁移至您指定的云服务器或云硬盘。在线迁移无需制作镜像,直接在源端服务器运行迁移工具,即可将源端服务器迁移至指定的云服务器。 在线迁移、离线迁移对比三方面:成本、效率、安全性。成本:大规模数据的迁移需要耗费大量传输资源,就是网络,成本较高,因此数据量太大有时不适合在线传输。效率:效率受网速限制,如通过网络转移1EB的数据大约需要26 年,而用十辆卡车可以将传输时间降至6个月内安全:利用云计算的黑客攻击愈发频繁,尤其像金融等传统客户是不放心数据在线迁移的。在线迁移工具:技术流:Oracle系统迁移(自带)Oracle Golden Gate/ Data Guard(DG),MS Always On……服务流:采用数据复制服务DRS做数据库迁移,此外若客户涉及异构数据库迁移,则也可用数据库应用迁移服务UGO做迁移离线迁移工具:DES数据快递服务、OBS对象存储
  • [交流吐槽] 总结出这套数据库迁移经验,我花了20年……
    作者:白鳝   2022-06-09 10:23:06数据库迁移是DBA经常会面临的工作,这二十多年来,我们也做过很多数据库迁移的工作。早期的时候,作为一个DBA,考虑迁移方案的时候总是从数据库的角度去考虑。随着项目做多了,知识范围不断地扩大,加入了很多系统级的迁移方案,使迁移工作变得更加简单了。迁移工作做多了,也难免会遇到鬼,在这二十多年,上百个迁移项目中,也确实遇到过不少坑,有时候甚至面对命悬一线的绝境。​到了后来,面对迁移方案的选择,如果是十分重要的核心系统,一定要选择最为稳妥的方案,以备不测。昨天微信群里有人在问一个数据库想迁移存储,有没有什么好方案,从我脑子里冒出来的都是系统层面的迁移方案,而群里的DBA朋友往往都说的是数据库层面的迁移技术。实际上没有最好的技术和方案,只有最合适的。具体选择哪种数据库迁移方案,最终还是要看具体的系统环境以及迁移实施队伍的技术能力。一、存储复制存储复制是最近我比较喜欢的一种数据库跨存储迁移的方法,可以用于很多迁移需求。特别是一个环境中存在多种数据库/多个数据库的场景,用存储复制的方式一下子可以搞定所有的数据库,十分便捷。存储复制的主要实施工作都由存储厂商完成,对于DBA来说也是最为轻松的,如果出问题,都不需要DBA去甩锅,肯定是存储厂商的问题。DBA要做的就是打开数据库,用rman validate校验一下数据文件是否存在物理/逻辑坏块就可以了。十年前一个金融客户的核心数据库数据库从9i HA升级为10g RAC,存储从IBM 8000系列迁移到HDS高端存储,采用的就是这个方案。使用HDS自带的异构存储虚拟化能力,首先将数据从IBM 8000系列存储复制到HDS上,最后切换的那一晚上停掉生产数据库,作最后一次增量复制后,用10g RAC的环境挂在新的卷,然后UPGRADE数据库,整个数据库迁移升级工作一个多小时就完成了。很多DBA会把卷复制和存储复制看作一码事,对于DBA来说,存储和卷并无不同,反正看到的是一堆裸设备。实际上二者还是不同的,卷复制采用的是卷管理软件的数据同步功能,比如VERITAS的LVM,卷管理软件天生就是支持异构平台的,因此使用卷复制技术同步数据有更广泛的适用性,而存储复制技术需要存储本身的支持(不过现在大多数高端存储都支持异构存储的存储虚拟化,因此大多数情况下都能支持,如果实在你的环境中的存储不支持异构复制,也可以考虑租借一台支持你所需要复制的存储的虚拟化机头来做实施,费用在几千块钱到几万块钱不等,看你租借的设备和租借的时间)。大概十年前吧,一个运营商从HP小机上迁移一个数据库到IBM小机,存储也从HP存储更换为EMC存储,当时他们原来的系统使用了VCS,因此使用VERITAS的卷复制做的数据迁移。在IBM端CONVERT数据库的时候(因为HP-UX和AIX都是大端的,所以可以做DATABASE CONVERT,而不需要使用XTTS)遇到了ORACLE 10G的一个BUG, UNDO表空间CONVERT失败,数据库无法打开,当时也是惊出一身冷汗,最后通过强制OFFLINE相关UNDO SEGMENT,重新创建UNDO表空间切换等方式解决了这个问题,不过完成迁移的时候已经接近早上8点,超出了申请的停机窗口,差点影响了第二天营业厅开门。所以说,再简单的迁移方案,都不能保证不出意外。二、逻辑复制逻辑复制是一种停机窗口较为紧张时候常用的数据库迁移的方案。两千零几年的时候帮助一个运营商把计费/账务两大核心系统从Oracle 8i迁移到Oracle 10g的时候,为了缩短停机窗口,使用ogg进行逻辑复制。那时候的OGG也是比较垃圾的,功能、性能都存在一定的问题,BUG也比较多。切换当晚发现有几张表总是追不上,最后决定直接通过dblink CTAS重建的方式迁移了。最后还好,在规定的时间窗口内完成了数据库的迁移和数据校验工作。使用OGG做迁移,数据校验的工作量十分大,如果是十分核心的系统,对数据一致性和完整性要求较高,一定要留足时间做数据校验。逻辑导出导入一直是被认为最为安全的迁移方式,不过天底下没有绝对安全的迁移方案。大概6/7年前,一个银行把核心系统从HDS存储迁移到华为18K上的时候,想把数据库也顺便从10g升级到11g,因为核心应用也要做升级,因此申请了36小时的业务停机窗口,其中核心系统完全停止业务18小时,这18小时中,给了数据库迁移8个小时的时间。通过综合考虑,他们决定采用最为稳妥的数据库逻辑导出导入的方式。首先在老存储上导出数据,然后把整个卷挂载到新的服务器上,再做导入。按理说够安全了吧,没想到主机工程师挂载这块盘的时候没注意给挂载成只读的了。DBA也没检查就开始导入了,几个小时后报无法写入磁盘数据,impdp异常退出了。这时候8小时的时间窗口已经使用了5个多小时了,如果重新导入一次,时间上肯定是不够的。当时我正好在现场,通过检查发现是impdp输出日志的时候无法写盘导致了错误,而刚开始的时候写入日志的时候是写在缓冲里并没有刷盘,所以没有报错,等刷盘的时候就报错了。通过校验数据表和索引发现所有的索引都已经完成创建了。因此报错时可能已经完成了主要的数据导入过程。最后经过会商决定暂时不回退整个工作,继续进行后续工作。不过因为这个插曲,原本计划的对所有表和索引做一次重新统计(通过SPA分析后发现11g对统计数据的依赖性更强,因此建议最后做一次表分析)就没有进行了。核心系统启动顺利完成,主要功能测试也顺利完成,大家揪着的心才放了下来。不过前台很快传来更坏的消息,应用开发商在测试性能的时候,认为主要核心交易的延时都慢了几十毫秒,平均核心交易延时从升级前的80毫秒提高到120毫秒以上,因此拒绝新系统上线。大家折腾了这么长时间还要回退,这对IT部门的打击十分严重的。因此CIO希望我们能够尽快找到问题,解决问题。通过分析存储的性能,数据库的总体性能没有发现什么问题。时间已经接近8小时的窗口了,按道理现在必须做回退了。我当时和CIO说,能不能再给我20分钟我再分析一下,如果找不到原因再回退。当时CIO说,我给你40分钟,如果不行只能我去向行长请罪了。最后在差不多半小时后,我终于定位了引起一部分核心交易延时增加的主要原因是几张表的统计数据过旧,更新了统计数据后,核心交易延时恢复到90毫秒左右,低于开发商要求的不高于120毫秒的要求。从这个案例上看,最简单靠谱的迁移方案,也不是万全的。三、ASM磁盘组加盘/删盘ASM磁盘组上加入新存储的磁盘,然后逐步删除老存储的磁盘,利用ASM的REBALANCE功能实现存储迁移也是一种挺不错的方案,只是REBALANCE时间比较长(如果数据量较大,业务负载较大),需要DBA随时关注整个进程,如果系统负载较高,IO吞吐量较大,那么在此期间可能会引起一些IO方面的性能问题。严重时可能导致应用系统总体性能严重下降,而一旦这些问题发生,我们只能暂时降低REBALANCE的优先级,缓解问题,无法彻底解决问题。因此对于特别核心的系统使用这种方式还是要十分注意。我把这个方法教给一家银行后,他们就喜欢上了这种迁移方式,并用这种方式迁移了大量的系统,总体上来说还是比较平稳的。不过在核心交易系统上,他们还是没敢使用。数据库迁移的方法有很多,今天时间的关系我就不一一举例了。不过无论采用何种方式,都需要实施者不要掉以轻心,对每个环节都做最精心的准备。不过有一定可以提醒大家的是,跳出DBA的思维方式,可能会找到更好的方法。​
  • [技术干货] 第二讲:鲲鹏代码迁移工具基础知识读书笔记
    本文课程链接:https://www.hikunpeng.com/zh/developer/live/detail/1533984621405396993本文主要介绍鲲鹏代码迁移工具的功能与特性。通过本文,你可以了解到:① 了解什么是代码迁移工具② 了解代码迁移工具的功能③ 了解到代码迁移工具在实际案例中如何运用## 1.代码迁移工具是什么处理器所支持的指令集不同,意味着开发者可能需要对代码进行跨平台的迁移。通常,代码迁移是件复杂又繁琐的工作,需要花费开发者大量精力对软件包、源代码、依赖库文件进行人工分析、检查和识别,手动修正不同指令集之间的相关差异,这些差异主要涉及语法、指令、函数和库文件支持情况。为了解决用户代码可迁移性人工排查困难、移植经验欠缺、反复依赖编译调错定位等,投入工作量大,整体效率低的问题,我们推出Kunpeng Porting Advisor鲲鹏代码迁移工具。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607437314868946.png)2.代码迁移工具功能鲲鹏代码迁移工具是一款可以简化应用迁移到鲲鹏架构服务器过程的工具。主要面向鲲鹏平台的开发者、用户和第三方待迁移软件提供方开发工程师,对海量代码进行快速地自动化扫描和分析,提供专业的迁移指导报告。同时能够自动分析出需修改的代码内容,并指导如何修改,帮助开发者实现高效的代码迁移。同时支持原生开发代码亲和检查等能力。3.功能特性代码迁移工具可以作为独立软件提供给鲲鹏生态用户安装使用支持的功能特性如下∶当前工具支持五组功能,支持的功能特性分别如下:软件迁移评估检查用户提供的软件安装包,识别依赖关系,并提供鲲鹏兼容版本的so依赖库对应rpm的包OS发行版官方下载链接。·检查用户在x86服务器上已安装的软件,识别依赖关系,并提供鲲鹏兼容版本的so依赖库对应rpm的包OS发行版官方下载链接。源码迁移· 检查用户C/C++/汇编/Fortran代码软件构建工程文件,并指导用户如何迁移该文件。检查用户C/C++/汇编/Fortran/python/Java/ScalalGo软件构建工程文件使用的链接库,并提供可迁移性信息。- 检查用户C/C++/汇编/Fortran软件源码,并指导用户如何迁移源文件。- 软件包重构,分析用户x86软件包构成,重构为适用于鲲鹏平台的软件包。- 专项软件迁移,基于我们丰富的软件迁移经验,帮助用户快速迁移Web、数据库、大数据、高性能计算四大解决方案类软件。鲲鹏亲和分析,目前含64位运行模式检查、结构体字节对齐检查、缓存行字节对齐检查、内存一致性检查、构建亲和检查。- 用户通过安全传输协议上传软件源码、软件包、二进制文件等资源到工作空间,也可以从Web页面上直接对工作目录下的文件进行删除清理或者覆盖重命名。- 支持命令行方式、Web、IDE插件三种工作模式,后两种方式下支持多用户并发扫描。> 特别说明:工具不支持迁移windows环境下的软件或者IOSMacOS平台应用至Kunpeng平台Linux环境下。4.应用场景!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607455837197525.png)对最常用的x86汇编指令进行识别并转换- 最常用的100O+条汇编指令自动翻译。 针对受支持的嵌入式汇编指令,提供修改指导;针对完全由受支持的完整汇编指令构成的文件,支持自动转换为结果汇编文件;- 支持对尚无法指导修改和转换的汇编指令的识别、提醒。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607461453552415.png)鲲鹏迁移亲和检查可以告知用户需要修改的地方,而不需要自己去查找,节约时间,提高开发效率。5.部署方式代码迁移工具采用单机部署方式,部署环境要求如下表所示。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607475159948277.png)6. 如何访问使用代码迁移工具提供两种用户访问模式,安装时由用户选择,同一套环境只能安装一种:- CLI方式: 通过命令行方式使用代码迁移工具各功能,最终移植分析结果输出到.csv和.json文件,用户可以根据迁移建议进行处理。.- Web/IDE插件方式: 通过浏览器IDE远程使用代码迁移工具各功能,最终迁移分析结果输出到.csv和.html文件(可下载)中,用户可以根据迁移建议进行处理。如果当前用户已经在登录使用,重复登录会挤掉前面的登录。用户的各种分析和迁移任务都在自己的工作空间内完成。访问Web界面时,对本地浏览器的要求如下表所示。## 2. 代码迁移工具的功能### 2.1 源码迁移- 识别C/C++/Fortran(汇编源代码,提供修改建议;Make、CMake、Automake编译选项、编译宏的解析及迁移建议- 支持100%Intrinsic函数转换(6000+个),包括MMX、SSE及AVX Intrinsic等- 支持Fortran内联函数和语法特性以及编译选项的识别- 支持Go语言迁移,对go程序使用cgo编译部分中的编译选项、宏定义提供兼容性检查,给出修改建议- 支持python、Java、Scala语言,对程序中的动态链接库提供兼容性检查,给出修改建议### 2.2 源码迁移业务流程!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607492943813936.png)### 2.3 源码迁移源码迁移中如果有不同的源码混合编程则需要填写全部源码类型!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607499930494700.png)### 2.4 迁移报告### 2.5 汇编翻译鲲鹏DevKit支持全汇编翻译和嵌入式汇编翻译- 支持汇编代码自动识别,一键替换迁移,一分钟完成汇编代码的迁移。- x86汇编常用指令100%识别,1000+指令自动翻译,覆盖80%的常用应用场景。### 2.6 软件迁移评估- 识别检查x86平台软件安装包或已安装软件中使用的动态链接库、静态链接库和可执行文件,并将检查出的文件与工具内置的依赖文件列表进行比较匹配,从而为用户提供迁移建议- Jar,war包扫描增强,识别鲲鹏平台已经支持的依赖,提供更精准的依赖兼容替换建议!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607516722194866.png)### 2.7 软件迁移评估流程!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607521296227908.png)### 2.8 软件包重构识别分析用户x86软件包构成,重构适用于鲲鹏平台软件包,并输出重构报告软件包重构功能主要对包内包含的.so文件,.a文件和.jarl.war文件进行分析,会对其中需要适配鲲鹏平台的依赖文件进行替换,然后执行软件包的重构,最终输出鲲鹏兼容版本的软件安装包。如果包中需要的依赖不确定是否鲲鹏平台兼容,可在鲲鹏平台验证后,手动上传依赖配置文件,进行重构操作。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607526265993772.png)### 2.9专项软件迁移- —键下载开源代码,并编译、构建为鲲鹏软件包- 支持大数据、数据库、Web、高性能计算等场景主流软件的一键编译迁移!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607533215228609.png)### 2.10 内存一致性- 静态检查,检查用户软件迁移到鲲鹏平台可能存在的弱内存序问题并修复- 支持下载静态检查工具产生的BC文件,可根据实际需要进行BC- 自动修复功能,更新用户使用的GCC编译器,在用户软件的编译过程中自动文件扫描分析完成弱内存序问题的修复- 静态检查工具、编译器自动修复工具组合使用,可一键式修复- 支持自动生成目标工程的中间文件,不需要用户修改编译脚本!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607570034295090.png)## 3.案例演示### 3.1 源码迁移1案例下载链接:https://github.com/kunpengcompute/devkitdemo/tree/main/Porting_advisor/testdemo/code_migrationlcode操作步骤上传源码,选择CIC++、make参数扫描出源码需修改文件进行逐个修改然后进行保存。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607579200994304.png)### 3.2 源码迁移2Python语言扫描,识别出工程中使用的依赖库,对其兼容性进行判断,样例报告中可直接下载使用依赖库。### 3.3 软件迁移与软件包重构案例软件迁移评估:找出so依赖库和可执行文件,并评估so依赖库和可执行文件的可迁移性。软件包重构:用户上传需要重构的软件包和依赖配置文件,重构完成后,用户可以直接下载重构后的rpm软件包,然后在鲲鹏平台上直接使用。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607685657168812.png)### 3.4 内存一致性案例操作步骤上传源码,填写编译命令,样例中使用“make NO_LAPACKE=1”,点击下一步,开始BC文件解析,选择生成的BC文件,进行弱内存问题检查。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654607606902498191.png)
  • [迁移系列] 数据仓库迁移方案
    第1章. 项目背景和目的首先,了解项目的背景和目的,才能设计出满足客户需求的迁移方案。1.1. 项目背景比如:XX银行基于Teradata一体机构建的数据仓库,存在成本高、可替换性差、在线升级能力弱等问题,希望引入扩展性更强、具有成本竞争力、在线升级能力强的产品替代。1.2. 项目目标比如项目总体目标:替换的数据仓库产品能力要不低于现网Teradata的整体能力,而且要满足数仓上下游生态工具的对接,做到对应用的改动量最小化。第2章. 数仓迁移方案设计2.1. 需求分析与规划设计 2.1.1. 数仓迁移总体规划数仓迁移是一个系统的复杂的过程,涉及数据迁移、加工逻辑迁移及应用改造。在掌握通用迁移方法论的基础上,还需要结合源数据库和目标数据库的数据库特性进行迁移方案的优化,不然就有可能导致迁移项目失败,浪费人力和财力。比如:分为两个大的阶段进行,第一阶段从xx日期到xx日期完成主仓迁移,第二阶段从xx日期到xx日期完成集市层迁移等。2.1.2. 需求分析及调研评估2.1.2.1 需求调研分析信息收集会贯穿整个数仓迁移项目的生命周期,通常需要多次多种方式的收集动作。在不同阶段使用的信息收集方法也不相同。• 数仓信息收集1) 数据库环境信息调研表比如:源数据版本,并发数,字符集,函数等2) 源数据搬迁调研表比如:源数据库的数据架构、数据量等。3) 第三方软件调研比如:ETL的调度工具,对接的分析工具等。4) 用户权限调研比如:总共有多少个用户、多少个应用,用户与应用的权限关系等。5) 特定源数据库技术(以下为示例)如有,请描述。2.1.2.2. 系统架构系统架构主要表述了契合一个环境的系统的基本元素及元素之间的关系构成的结构集,在环境中体现出来的基本属性,以及设计与演进的原则。通过系统架构,我们通常可以粗略了解该系统的一个全貌,包括该系统由哪些组件构成,他们的关系是什么,以及与其有关联的上下文系统的关系。比如常见的金融数仓系统架构主要由数据仓库系统、作业调度系统、文件或数据传输系统、上游业务系统、下游应用系统等构成,他们直接通过一定的关系有机地组成了一个数据仓库的整体。比如2.1.2.3. 数据架构数据架构,可以帮助我们熟悉数据的源头以及数据在整个系统中的一个流转过程。比如,下图是一个常见的金融系统的数据架构。2.1.2.4. 调研评估迁移评估调研是整个数仓迁移工作的基础,为数仓迁移方案规划和实施提供信息基础。并对迁移技术可行性、实施难度、风险、资源需求进行整体分析和评估。迁移评估调研主要包括以下内容:1) 信息调研:通过上述信息调研和原厂以往经验,认为可以从当前环境中将数据迁移到GaussDB数据库。2) 业务关联性分析和评估:根据上述基本信息调研,评估是否可以对接其关联的系统。3) 迁移风险分析和评估:可能存在极少数兼容性的问题或者数值型精度的问题,评估风险可控。2.2. 环境准备 四套环境:原数仓的比对环境、新数仓的单元测试环境、集成测试环境和生产环境。2.2.1. 环境部署方案GaussDB(DWS)系统的网络划分为2个平面,即业务平面和管理平面,两个平面之间采用物理隔离的方式进行部署,保证业务、管理各自网络的安全性。主备管理节点还支持设置外部管理网络的IP地址,用户可以通过外部管理网络进行集群管理。采用双平面组网时,集群中每个节点分别接入管理平面和业务平面,每个节点需要准备一个管理IP地址和一个业务IP地址,每个IP地址用两个网络接口配置Bond,分别接入两个接入交换机。各节点的业务平面建议采用25GE带宽,业务平面接入交换机与汇聚交换机之间建议采用25GE带宽,业务平面汇聚交换机的堆叠带宽建议设置为40GE。2.2.2. 数据库设计数据库设计需要考虑的问题:1、 创建数据库时,使用什么字符集?比如使用UTF8 or latin字符集2、 目标数据库与原数据库的特性差异及对应关系比如:Teradata是按照”库,子库”这样的方式进行的单元组织;GaussDB(DWS)是按照“库,Schema”这样的方式进行的单元组织。两者转换后的对应关系如下:原Teradata的根库DBC转换到GaussDB以后为一个schema;(之所以仍然保留DBC是因为我们脚本中使用了很多原dbc的系统表,为了减小业务脚本的改动量,我们保留该Schema)。3、 用户及权限管理用户的权限设计应该与原设计基本相同,数据库的用户权限管理与原Teradata的权限管理的形式基本一致。原Teradata库中的权限设计中将每个库的权限拆成四类权限组:表和视图的查询访问权限(查询)表和视图的增删改访问权限(IDU)创建对象、清空表、修改对象的约束等权限(Tab)函数执行、序列访问等其他权限(其他)4、作业调度方案作业调度通常可以采用与原来一致的调度方式即可。5、迁移工具迁移工具通常分两类:一类考虑如何将数据从源数据库中搬迁到目标数据库中;比如DSC工具。一类考虑如何根据目标数据库生成业务脚本:比如XX银行的IDE工具2.3.4. 迁移策略2.3.4.1. 迁移策略分析常见的三种迁移策略:2.3.4.2. 迁移策略的选择根据信息调研以及业务的不同、目标和计划的不同,综合评估后选择上述其中之一即可;比如zx客户选择了“渐进式迁移”,而hg客户选择了“重新设计迁移”。2.3.5. 迁移实施计划通常根据客户的目标和总体计划倒排计划,不详述。2.3.6. 迁移流程从异构数据库迁移到GaussDB(DWS)数据库,一般要经过需求调研与评估→环境准备→分析设计→开发→测试→切换六个阶段,期间涉及数据库厂商、应用开发商、业务部门、科技部门等多个部门和组织的协同配合,为了保证迁移项目成功,每一个环节都要仔细分析并加以充分验证。2.3.6.1. 迁移对象分类数仓迁移是一个系统的复杂的过程,涉及数据迁移、加工逻辑迁移及应用改造。为了将整个工程变得简单化,通常情况会将迁移对象分为以下几大类,包括元数据迁移,业务数据迁移,业务脚本迁移,调度系统迁移等。在这几大类的基础上,通常还会结合客户的实际情况分阶段,分层次等手段进一步拆解任务。2.3.6.2. 元数据迁移2.3.6.2.1. 元数据迁移方案元数据迁移包括源数据库的库,表,视图,函数,用户及权限等;首先从源库中读取建表的DDL等信息;通过人工创建或者DSC语法迁移工具自动化实现语法的转译和改写后,在目标库中执行创建,并进行测试和验证;语法迁移工具将显示迁移过程状态,并用日志记录操作过程中发生的错误。2.3.6.2.2. 各模块元数据迁移方案缓冲层元数据迁移数据缓冲层包括接收的核心系统、个贷系统等业务系统的数据。数据以增量或全量形式进入数据仓库,表数量、脚本程序数量较大,缓冲层表是根据DDL每日根据数据加载程序自动生成“表名+数据日期”的数据表。主要工作包括:统计需要完成多少DDL、视图,函数,用户及权限的迁移等。主题层元数据迁移主题加工层是数据仓库的核心部分,采用三范式设计。当前银行数仓主要采用FS-LDM主题模型设计。主要工作包括:统计需要完成多少DDL、视图,函数,用户及权限的迁移等。汇总层元数据迁移汇总层又叫共性加工层,通常分为明细加工层、汇总加工层;是对主题模型的轻度汇总。主要工作包括:统计需要完成多少DDL、视图,函数,用户及权限的迁移等。集市元数据迁移集市主要是根据不同的业务进行划分的应用;比如监管报送、1104报表等。 主要工作包括:统计需要完成多少DDL、视图,函数,用户及权限的迁移等。2.3.6.3. 作业脚本迁移2.3.6.3.1. 作业迁移方案业务迁移,主要是将作业脚本中Teradata的SQL语法等信息通过语法迁移工具自动化实现转换为GaussDB(DWS)语法,实现作业一对一的迁移, 作业转换后需要测试功能及性能调优;语法迁移工具将显示迁移过程状态,并用日志记录操作过程中发生的错误。各个模块的迁移方法同“元数据迁移”类似,需要根据不同的模块分别调研并统计需要迁移的作业等,不再赘述。2.3.6.4. 业务数据迁移在数仓迁移项目中,现有存量数据迁移占据着非常重要的位置,通常在数据库元数据迁移完成之后进行,主要包括历史数据迁移和实时数据迁移,可使用迁移工具将数据从源数据库迁移到目标数据库。2.3.6.4.1. 各模块数据迁移方案根据数据架构,调研每个模块需要迁移的数据,方法类似“元数据迁移”,不再赘述。 2.3.6.5. 数据核验方案2.3.6.5.1. 数据核验目标数据检核的目标主要有:据核验的目标是比对新平台的业务数据与原平台的业务数据一致。为了达到以上目标,需要考虑以下几个方面:• 表级记录数一致• 表级记录sum值一致• 表级按照维度分类一致• 记录级的MD5值一致2.3.6.5.2. 各模块数据核验方案各模块的验证方案需要根据数据架构进行调研并参照“元数据迁移”的方法进行验证。2.3.6.6. 并行期策略方案2.3.6.6.1. 作业追批方案对于业务数据迁移,一般采用首次全量导出导入,之后通过增量文件追批的方式进行。在保证调度系统一致,首次全量验证通过以后,可以开始追批。不同的环境,追批的标准不同,开发测试环境可以进行多轮追批,集成测试环境一般设置2~3轮的追批,而生产环境一般是两轮的的追批方式。 2.3.6.7. 应用切换方案2.3.6.7.1. 应用切换原则应用切换的原则主要有:1) 应用切换要确保原来的数据及任务平稳从原来的源环境过渡到目标环境。2) 数据迁移的上线,要稳抓稳打,逐步推进。或分层、或分应用,分阶段、分步骤逐步上线。3) 确保切换前后数据的完整性;也就是转换过程中不能丢失数据。4) 确保切换前后加工任务的工作效率,达到项目要求的效率。
  • [问题求助] 【CDM云数据迁移】http作业失败
    【功能模块】使用CDM,将第三方语料库文件(url:https://openslr.magicdatatech.com/resources/33/data_aishell.tgz,文件大小15G)迁移至OBS桶【操作步骤&问题现象】1、新建两个连接:http连接器(连接第三方语料库数据),obs连接2、新建作业并运行3、报错fail,提示无法连接至url。但该url可以手动在浏览器打开并下载【截图信息】【日志信息】(可选,上传日志内容或者附件)2022-04-21 17:22:00.248|INFO|cdm-job-submit-pool1|||o.a.s.d.job.JobSubmissionContext creating job request2022-04-21 17:22:01.004|INFO|cdm-job-submit-pool1|||o.a.s.c.file.FileFromInitializer Keep dir structure is true.2022-04-21 17:22:01.004|INFO|cdm-job-submit-pool1|||o.a.s.c.file.FileToInitializer running SFTP Connector TO initializer.2022-04-21 17:22:33.318|ERROR|cdm-job-submit-pool1|||o.a.s.c.h.client.HttpConnectorClient failed to connect to us.openslr.org/46.101.158.64:4432022-04-21 17:22:33.336|ERROR|cdm-job-submit-pool1|||o.a.s.d.job.JobSubmissionContext submit failed.org.apache.sqoop.common.SqoopException: HTTP_CONNETOR_1453:Can't connect url [https://us.openslr.org/resources/33/data_aishell.tgz]. at org.apache.sqoop.connector.http.client.HttpConnectorClient.checkURLConnection(HttpConnectorClient.java:184) at org.apache.sqoop.connector.http.client.HttpConnectorClient.checkInputDir(HttpConnectorClient.java:168) at org.apache.sqoop.connector.file.configuration.LinkConfiguration.getInputPaths(LinkConfiguration.java:296) at org.apache.sqoop.connector.file.TraveralFileLister.getFileBeanList(TraveralFileLister.java:72) at org.apache.sqoop.connector.file.TraveralFileLister.init(TraveralFileLister.java:98) at org.apache.sqoop.connector.file.FileUtils.getFromSchema(FileUtils.java:79) at org.apache.sqoop.connector.file.FileFromInitializer.getSchema(FileFromInitializer.java:63) at org.apache.sqoop.connector.file.FileFromInitializer.getSchema(FileFromInitializer.java:22) at org.apache.sqoop.driver.job.JobInitiator.getSchemaForConnector(JobInitiator.java:560) at org.apache.sqoop.driver.job.JobInitiator.createJobRequest(JobInitiator.java:346) at org.apache.sqoop.driver.job.JobSubmissionContext.submitInternal(JobSubmissionContext.java:179) at org.apache.sqoop.driver.job.JobSubmissionContext.submit(JobSubmissionContext.java:135) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)2022-04-21 17:22:33.344|ERROR|cdm-job-submit-pool1|||o.a.s.d.job.JobSubmissionContext submit failed.org.apache.sqoop.common.SqoopException: HTTP_CONNETOR_1453:Can't connect url [https://us.openslr.org/resources/33/data_aishell.tgz]. at org.apache.sqoop.connector.http.client.HttpConnectorClient.checkURLConnection(HttpConnectorClient.java:184) at org.apache.sqoop.connector.http.client.HttpConnectorClient.checkInputDir(HttpConnectorClient.java:168) at org.apache.sqoop.connector.file.configuration.LinkConfiguration.getInputPaths(LinkConfiguration.java:296) at org.apache.sqoop.connector.file.TraveralFileLister.getFileBeanList(TraveralFileLister.java:72) at org.apache.sqoop.connector.file.TraveralFileLister.init(TraveralFileLister.java:98) at org.apache.sqoop.connector.file.FileUtils.getFromSchema(FileUtils.java:79) at org.apache.sqoop.connector.file.FileFromInitializer.getSchema(FileFromInitializer.java:63) at org.apache.sqoop.connector.file.FileFromInitializer.getSchema(FileFromInitializer.java:22) at org.apache.sqoop.driver.job.JobInitiator.getSchemaForConnector(JobInitiator.java:560) at org.apache.sqoop.driver.job.JobInitiator.createJobRequest(JobInitiator.java:346) at org.apache.sqoop.driver.job.JobSubmissionContext.submitInternal(JobSubmissionContext.java:179) at org.apache.sqoop.driver.job.JobSubmissionContext.submit(JobSubmissionContext.java:135) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
  • [进阶宝典] GaussDB(DWS) 数据迁移
    本讲主要讲述通过GDS和COPY工具进行物理数据的迁移,通过gs_dump/gs_resotre迁移元 数据,以及介绍GaussDB(DWS)的ETL工具,对Migration工具的使用简单说明。
  • [问题求助] 【ABC产品】【数据迁移功能】希望将21.1版本的所有代码以及信息全部迁移到21.2版本
    【功能模块】我们的21.2版本的账号已经下来了,希望华为可以协助我们把21.1版本的代码迁移到新账号需求一:新版本账的命名空间可以使用我们21.1版本的命名空间,目前我在21.2账号创建空间说命名空间已经被占用需求二:希望可以把旧版账号的所有数据,代码、配置参数、BO配置、自定义对象的数据都可以迁移到新的账号需求三:我们旧版本(21.1)的开发账号资源希望可以释放出来,邮箱和手机号等可以在新的账号(21.2)中使用【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] 2022年的5个主要的数据迁移趋势
    数据似乎总是需要迁移,无论是从内部部署设施迁移到云平台,还是从操作系统到长期存档,数据始终在移动。 以下是2022年数据迁移市场的五个主要趋势: 1.非结构化数据迁移 2022年,首席信息官将会继续关注基础设施的现代化,以支持由于下一代应用程序、云计算、物联网、边缘计算以及远程工作的快速增长而产生的数据和工作流需求。最优先考虑的是针对非结构化数据的数字化转型计划。虽然“结构化”数据(例如数据库)远未过时,但“非结构化数据”(文档、图像、视频等)是企业中增长最快的数据类别。 Datadobi公司产品营销副总裁Steve Leeper表示:“首席信息官及其团队采用能够快速、安全、准确地将非结构化数据迁移到其理想平台,然后有效地管理其生命周期,这一点至关重要。 然而更重要的是,需要将非结构化数据迁移到理想的位置,以推动分析、机器学习和商业智能活动,从而能够快速做出有利的商业决策。” 他表示,非结构化数据的大量数据迁移是为了使人工智能和分析应用程序能够访问这些数据。在某些情况下,数据只是在内部部署设施中移动,但在其他情况下,这些数据必须迁移到云中。 2.迁移软件整合 在以往,软件仅可用于特定类型的迁移,例如将数据从遗留应用程序迁移到现代系统。最近,云计算供应商开发了帮助企业将大量数据迁移到云平台的软件。此外,他们开发了可以在现场发送的硬件,以便将所有数据迁移云计算提供商提供的云平台。这防止了通过网络迁移所有数据时出现的网络过载。 StorCentric公司首席技术官Surya Varanasi表示,数据迁移软件的范围已经扩大。渠道解决方案提供商和最终用户都需要支持云计算的智能数据迁移软件,以帮助他们消除数据孤岛。 Varanasi说,“到2022年,用户将需要一个包罗万象的软件解决方案,该解决方案可以跨异构存储环境(包括磁盘、磁带和公共或私有云)提供与供应商无关的文件迁移、复制和同步。这样做,用户将消除数据孤岛,提高工作效率,并提供额外的数据保护层。 用户不会满足于能够管理数百万个文件的非专有服务器。它必须能够根据企业的特定要求设置智能策略,并与当前的基础设施和支持的S3存储桶兼容云集成,以便用户可以利用云计算基础设施。” 3.数据优先迁移 数据迁移在很大程度上被认为是不可避免的、危险的和痛苦的过程。用户每隔三到五年就会进行一次硬件更新,这迫使进行大规模的提升和转变。迁移到云平台只会增加复杂性,因为数据迁移必须通过广域网(WAN)完成。 数据主导迁移这一术语开始流行起来。数据优先的方法可以将工作分解为更小的部分,而不是根据存储量来规划迁移。通过分析数据,然后按工作负载、数据类型或其他关键值迁移或移动,企业将变得更加敏捷。这将原本是一项庞大且具有颠覆性的任务分解为较小的任务,这些任务也更容易以较低的风险进行管理。 Komprise公司产品营销总监Steve Pruchniewski表示:“随着越来越多的客户将业务迁移到云平台,数据主导的迁移尤其重要。我们认为,企业不是在进行从内部部署设施到云平台的批量迁移,而是将正确的数据集迁移到正确的云服务,以提供所需的性能、功能。这也符合当前多云环境的趋势。” 这种以数据为主导的方法还为持续优化数据布局带来了机会。通过以数据为中心的方法,可以将数据放在正确的位置,因此它总是可以在正确的时间放在正确的位置。 4.数据库迁移 Striim公司产品总监John Kutay表示,该公司数据库在过去在内部部署设施中存储和运营,后来对其数据库进行了战略迁移,以优化资源、削减成本,并采用IT堆栈的现代元素,例如将数据库迁移到公有云或混合云。如今,越来越多的内部数据库正在迁移到云平台中,在那里它们可以更轻松地与分析、面向客户的策略、营销和其他企业系统相关联。 5.云平台之间的迁移 迁移在过去主要是从内部部署设施迁移到云平台。如今,大部分迁移都是从一个云平台迁移到另一个云平台。无论是为了弹性、在其他提供商处获得更好的折扣,还是为了数据恢复的目的,企业都在移动他们的数据。 StorageIO集团分析师Greg Schulz表示:“将数据和应用程序以经济高效且及时的方式从一个云平台迁移到另一个云平台是一个明确的趋势。” 云计算提供商之间可能存在高速网络,可以快速传输数据。然而,人们意识到的一个挑战是,一般来说,将数据迁移到云平台中是免费的,但将数据迁出则需要付费。因此,用户要了解云计算数据迁出费用以及可以采取哪些措施来减少这些成本。 文章来源:企业网D1Net   http://www.d1net.com/bigdata/news/573402.html。
  • [问题求助] 【ABC产品】【数据迁移】想把一个账号的全部数据转移到新的账号
    【功能模块】目前收到新的项目,申请了新的开发账号,现在想把旧账号中的BO配置、开发的项目全部迁移到新的账号,请问平台支持相关操作么?【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [综合] 学习贴,上云迁移
    方案设计模板:一、项目概述1、项目背景和现状2、项目面临的风险和挑战3、项目方案设计原则4、给客户带来的价值和收益二、项目需求分析1、项目现状分析2、总体需求分析三、公有云设计方案1、公有云计算方案设计1.1 计算容量规划1.2 上云服务器规划1.3 上云服务器部署2、公有云存储方案设计2.1 存储容量规划(一般做10%的冗余,备份到OBS、SFS等,windows-》cfs,lin-》nfs)2.2 上云存储规划2.3 上云存储部署3、公有云网络方案设计3.1 网络总体规划3.2 网络配置(IP地址)4、公有云数据库方案设计4.1 数据库容量、规格规划(DDM、性能(DDM+RDS)、安全、管理(DAS))4.2 数据库上云部署5、公有云安全方案设计(网络安全、备份、容灾)5.1 备份规划(可靠性)5.2 容灾规划(可用性、高可用性)5.3 网络安全规划(应用层、网络层(DEW、IAM)、主机层、网络边界,)四、迁移方案设计(源端准备、目的准备、实施过程、后续验证)1、主机迁移方案;2、应用迁移方案3、数据库迁移方案五、迁移方案设计(源端准备、目的准备、实施过程、后续验证)1、主机迁移方案;2、应用迁移方案3、数据库迁移方案五、配置清单和计费说明请各位补充:附详细的一个章节内容:设计项目(方案和思路):1、信息受理2、需求2.1 先确定已有DC,再确定如何与云打通,在确定云上资源规划(网络规划)3、架构设计3.1架构设计需要和客户的需求进行匹配4、计算分层(数据库、中间件、应用)4.1四个维度(横向-计算、存储、网络、数据库、应用;纵向-安全性、可扩展性、可用性/可靠性、性能(CDN、ELB+AS、Reddis、DDM、MQ、BMS、读写分离等)、成本)4.2 如网站,应用架构:三层(接入 【负载均衡-cdn、EIP+ELB、网络安全】,应用【】,数据库)4.3 网络:与DC互联,外网访问,内网访问; 可靠(双线,vpn+专线),安全(WAF、Anti-DDOS)4.4 计算:线下三层,上云后对应三层;4.5 数据库:RDS、自建(oracle)5、存储、备份与容灾5.1 数据转存(热数据-冷数据,OBS,高频、低频、归档)5.2 数据备份(备份策略、备份时间点、周期)5.3 数据源(应用、数据库)、保持的方式(CBR、RMAN等)、保存到哪里(OBS、SFS)6、迁移6.1 迁移步骤(流程、调研与评估、规划设计、实施、优化)6.2 细节: 数据库(类型、版本、容量、迁移网络(离线、在线)、迁移工具、迁移后的回滚、实施(演练)、优化(业务运行测试和监控)7、安全7.1 安全设计分层(网络、应用、数据、管理)
  • [ElasticSearch] Elasticsearch导入数据的方法总结
    业务使用过程中,经常需要将大量数据批量导入到Elasticsearch中,总结在MRS ES中能够快速实现数据导入的方式,可以学习使用。方式一:通过Logstash导入数据Logstash 是Elasticsearch官方提供的数据采集工具,能够动态地采集、转换和传输数据,不受格式或复杂度的影响。Logstash 支持各种输入选择,可以同时从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。MRS ES对接Logstash指南详见MRS产品文档的《Elasticsearch对接Logstash》章节,该章节指导用户快速对接安全/普通模式的MRS ES。方式二:使用ES2ES工具迁移/导入数据使用该工具客户已将开源ES/其他MRS ES集群的数据导入到本地集群中。支持两种迁移方式:Scroll和reindex。Scroll跨集群数据拷贝工具包的原理是通过利用滚动遍历策略和bulkAPI,每次完成一个index的数据迁移。主要用于完全兼容的两个ES版本之间数据迁移/拷贝Reindex跨集群数据拷贝工具包的原理是通过利用reindex API,完成多个index的数据迁移。支持ES跨大版本之间的数据迁移和拷贝。工具详细使用方法见MRS产品文档的《使用ES2ES工具迁移Elasticsearch数据》方式三:使用HBase2ES工具导入数据该工具支持使用TableScanMR并发或HBase直接扫描方式从HBase中获取数据并导入到Elasticsearch集群中。在ES替换Solr的场景中,若源数据保存在HBase时,可以使用该工具快速完成数据迁移。工具详细使用方法见MRS产品文档的《使用HBase2ES工具迁移HBase数据》方式四:HDFS2ES工具导入数据若源数存储在HDFS上,可以通过该工具运行Mapreduce方式将HDFS中格式化的数据导入到Elasticsearch中。工具详细使用方法见MRS产品文档的《使用HDFS2ES工具迁移HDFS数据》 不推荐使用:Hive on ES,性能较差,且导入过程中不稳定。
  • [技术干货] 华为云数据迁移工具怎么选?
    引言:最近被数据库迁移、云数据库迁移、主机迁移和存储迁移搞的有点懵。华为云上好多迁移工具啊,我到底要用哪个迁移工具啊?今天就来细说下这些迁移工具的使用场景和区别。首先,华为云上涉及数据迁移的服务有以下几个: 主机迁移服务 SMS 对象存储迁移服务 OMS 数据复制服务 DRS 云数据迁移 CDM 数据库和应用迁移 UGO 数据快递服务 DES  什么是主机迁移服务 SMS?服务器相信大家都不陌生,即使我们不直接和服务器打交道,实际上我们现在的生活已经离不开服务器。各种手机APP都是部署在不同服务器上的应用软件。那么,业务上云时,物理服务器或虚拟机迁移使用“主机迁移服务 SMS”最合适不过了。主机迁移服务 SMS 是一种P2V/V2V迁移服务,可以把X86物理服务器、私有云或公有云平台上的虚拟机迁移到华为ECS上。有图更清晰:)单击这里了解更多主机迁移服务 什么是对象存储迁移服务 OMS?对象存储迁移服务(Object Storage Migration Service,OMS)是一种线上数据迁移服务,帮助您将其他云服务商对象存储服务中的数据在线迁移至华为云的对象存储服务(Object Storage Service,OBS)中。简言之,入云迁移、对象存储迁移。OMS主要功能有以下两个: 线上数据迁移服务:帮助用户把对象存储数据从其他云服务商的公有云轻松、平滑地迁移上云。 跨区域的复制:指的是华为云各个Region之间的数据复制和备份。目前支持以下他云对象存储数据的入云迁移:亚马逊云、阿里云、微软云、百度云、华为云、金山云、青云、七牛云、腾讯云云数据迁移CDM服务也同样支持对象存储数据迁移,两者的区别为:OMS用于他云到华为云的数据迁移;CDM主要用于OBS数据迁移到数据湖或其他大数据系统,以便对数据进行开发、清洗、治理等。单击这里了解更多对象存储迁移服务 什么是数据复制服务 DRS?数据复制服务(Data Replication Service,简称DRS)是一种易用、稳定、高效、用于数据库实时迁移和数据库实时同步的云服务。DRS适合迁移OLTP->OLTP、OLTP->DWS的场景都可以由DRS来完成数据迁移。即主流数据库到数据库(含第三方数据库)的场景,使用DRS进行迁移。目前支持的数据库链路有:自建/他云MySQL->RDS for MySQL自建/他云PostgreSQL->RDS for PostgreSQL 自建/他云MongoDB->DDSOracle->RDS for MySQL......单击这里了解更多支持的数据库信息。DRS与CDM的区别: DRS的目的端为数据库系统,例如MySQL、MongoDB等。 CDM的目的端主要为数据湖或其他大数据系统,例如MRS HDFS、FusionInsight HDFS。DRS和UGO的区别:DRS是针对数据的全量/增量迁移或数据同步;而UGO用于异构数据库迁移前的评估、结构迁移和语法转化。上图:单击这里了解更多DRS什么是云数据迁移 CDM?云数据迁移(Cloud Data Migration, 简称CDM),是一种高效、易用的批量数据迁移服务。 CDM围绕大数据迁移上云和智能数据湖解决方案, 提供了简单易用的迁移能力和多种数据源到数据湖的集成能力,降低了客户数据源迁移和集成的复杂性,有效的提高您数据迁移和集成的效率。CDM进行数据迁移时,目标端为数据湖或其他大数据系统;源端可以是数据库也可以是对象存储。上图:CDM与DRS的区别:目的端是大数据系统时,推荐使用CDM;目的端是OLTP数据库或DWS时,推荐使用DRS迁移。CDM与OMS的区别: OMS用于入云迁移,支持以下源端云服务商:          亚马逊云、阿里云、微软云、百度云、青云、七牛云、腾讯云     CDM主要用于OBS数据迁移到数据湖或其他大数据系统,以便对数据进行开发、清洗、治理等。同时,整桶迁移建议使用OMS。单击这里了解更多CDM 什么是数据库和应用迁移 UGO?数据库和应用迁移 UGO(Database and Application Migration UGO,以下简称为UGO)是专注于异构数据库结构迁移的专业服务。可将数据库中的DDL、业务程序中封装的数据库SQL一键自动将语法转换为华为云GaussDB/RDS的SQL语法,通过预迁移评估、结构迁移两大核心功能和自动化语法转换,提前识别可能存在的改造工作、提高转化率、最大化降低用户数据库迁移成本。简言之,UGO用于异构数据库迁移前的数据库评估、结构迁移、语法转化单击这里了解更多UGO 什么是数据快递服务 DES?一种海量数据传输解决方案,支持TB级到PB级数据上云,使用物理介质(Teleport设备、外置USB硬盘驱动器、SATA硬盘驱动器、SAS硬盘驱动器等)向华为云传输大量数据,致力于解决海量数据传输网络成本高、传输时间长等难题。简言之,海量数据传输、使用物理介质单击这里了解更多DES小结:服务名主要功能和其他服务的区别主机迁移服务 SMS主机迁移含物理机到华为云、其他自建或他云虚拟机到华为云-对象存储迁移服务 OMS对象存储迁移他云对象存储数据迁移到华为云华为云各Region间的数据迁移OMS用于他云到华为云的数据迁移。CDM主要用于OBS数据迁移到数据湖或其他大数据系统,以便对数据进行开发、清洗、治理等。数据复制服务 DRS支持主流数据库到华为云的入云和出云迁移数据库在线迁移数据库实时同步和CDM的区别:数据库迁移使用DRS;到大数据系统的迁移使用CDM。和UGO的区别:DRS支持同构和异构的数据库迁移/同步;UGO用于异构数据库的结构迁移、数据库迁移前评估、语法迁移等云数据迁移 CDM大数据迁移上云多种数据源到数据湖的迁移和DRS的区别:数据库迁移使用DRS;到大数据系统的迁移使用CDM。数据库和应用迁移 UGO数据库结构迁移数据库迁移前评估语法迁移和DRS的区别:DRS支持同构和异构的数据库迁移/同步;UGO用于异构数据库的结构迁移、数据库迁移前评估、语法迁移等数据快递服务 DES海量数据,支持TB级到PB级数据上云使用物理介质-
  • [热门活动] 泛微金融信创OA:全面适配,安全可靠、应用可拓展
    金融行业作为国计民生的重要行业,金融行业的信息系统作为国家关键信息基础设施,直接关系到国家经济、社会的正常运行,加强网络安全防控能力建设刻不容缓。因此,国家对金融行业的信息化系统的安全、自主、可控提出了新的要求,计划通过3年完成信息系统创新与改造。其中,协同办公系统作为核心办公系统与管理系统,需在首批被改造的系统名单中。但是,金融机构与传统行业不同,对于协同办公系统的性能、安全、技术架构、系统集成等多个方面有更高要求。所以金融单位在协同办公平台的信息化技术创新与替代工作中,核心是选择一个能提供适配改造、丰富应用、平台扩展、安全合规等一体化解决方案的合作伙伴。面对金融信创建设需求,泛微积极响应技术创新工作,从数字化金融全局出发,全面参与金融信创推广工作:●2017年泛微信创实验室成立,联合伙伴,全面推进信创产业;●2020年泛微与人民银行金融信创生态实验室全面合作,帮助金融行业客户实现从试点到全面铺开的一条龙交钥匙工程。目前,泛微已和生态圈100余家伙伴绑定互认,兼容国内40余种主流软硬件厂商产品,完整覆盖整个生态链,打造全生态信创平台。(泛微信创协同平台环境体系)泛微金融信创OA解决方案介绍一、全栈式信创适配泛微信创OA具有联合软硬件、一体化办公场景、安全可控的特征:(泛微金融信创OA架构)1、全栈式地支持,从服务端到终端的全面信创适配提供包含终端、网络架构、服务器硬件、软件环境以及信创环境下的数据缓存、效能优化的全面解决方案。无论服务端环境、服务优化、使用终端,全面信创化。2、金融行业优秀实践泛微与人行信创实验室实现了合作,能够联合众多合作伙伴,提供合规、稳定的技术路线。经过实验室权威检测,满足行业标准要求。3、流版签信创适配改造全面启用信创流式文件编辑(WPS),信创终端无插件化,全面启用版式文件OFD格式文档、支持信创环境下的签章软件。4、缓存改造与替代方案Redis缓存服务,可改造为信创商业套件东方通TongRDS或信创开源套件ApsaraCache、Ehcache等。负载均衡全面采用信创硬负载均衡设备(深信服、神码)或采用金蝶Apusic负载均衡器。二、一体化应用,满足业务管理所需泛微金融信创平台具备了丰富的金融行业应用,满足金融机构日常办公所需,实现沟通、协作一体化、PC移动一体化。(丰富应用)1、统一门户门户自动将信息从各个模块以及异构系统中抽取,形成一体化的信息展示窗口。聚合展现所有的工作与资讯,实现一窗办理。(统一门户:PC&移动端)2、个性化办公桌面按岗位、角色构建个人的工作桌面,打破“人找事”,让“事情”主动找“人”。(个性化办公桌面:PC&移动端)3、信息共享自动将相关信息从各个模块以及异构系统中抽取展现,形成一个采编排发一体化化的信息展示窗口。(信息共享中心)4、全程数字化公文管理从公文的收发文流转、签发、用印、分发、归档、统计、交换的全过程数字化管理;并且能够提供丰富智能化组件,包括圈批圈阅、自动收文等,让公文更加易用。(公文管理:PC&移动端)5、事务管理涵盖行政事务、管理和业务的统一流程,包括从公文、费用报销、合同处理、行政办公、后勤管理、投资决策等,所有制度流程都可以通过流程引擎实现落地。(事务管理:PC&移动端)6、全程无纸化会议管理实现会前、会中、会后全程无纸化;从会前议题提报、可视化会议资源、会务安排、会议冲突提醒、会议资料上传、会议布局排座、会议大屏、会议签到、会议纪要、会议决议管理等一站式的会议管理。(会议管理:PC&移动端)7、督办管理从督办事项发起、分解、审核、执行、处理、反馈、监控到分析的全闭环管理,多种督办类型和过程跟踪的一站式管理。(督办管理:PC&移动端)8、文档中心从流程、会议、督办等工作过程中自动收集文档,并可控、有序、安全地对文档进行共享与利用。同时,实现涉密文件的共享和查阅权限管理。(文档中心)9、信息上报及收集实现从总行各部门到各分机构内部沟通信息快速传达和信息上报。10、公文交换通过公文传输,能够实现组织内部公文交换,便捷交互,实现对于跨组织间的文件传输,构建纵向、横向的公文传输体系。(公文交换)11、印控中心对组织内部所有的印章进行统一管理,从印章的制作、授权、使用、变更、废除、监控进行全周期管理,有效提高了组织印章管理规范性、效率性。(印控中心:PC&移动端)12、低代码构建平台泛微具有持续扩展能力:支持信创的开发平台,满足业务持续扩展的需求。在信创环境下提供了低代码开发平台,通过配置+低代码开发,即可调整或构建各类应用。不仅仅提供办公应用,可以在全栈信创环境下提供给大量业务应用:包括合同管理、费控管理、采购管理、审计管理等等,帮助客户承载业务系统建设。三、并轨方案及数据迁移策略泛微拥有丰富的数据迁移经验,可帮助金融行业组织将旧系统的数据平滑迁移至新环境,用户体验无感切换。1、并轨方案针对不同规模、不同类型的客户,泛微提供了多种上线策略及单、并轨切换方案。(并轨方案应用架构图)●信创统一门户:信创统一门户,连接新、旧OA,前端用户统一入口访问,处理多系统工作,体验无感。●双系统并轨运:切换过程中,双系统并轨运行,旧OA系统中的应用,根据应用的重要性、迫切性、复杂程度逐步迁移,最终实现单轨运行。●组织间数据交换:如存在组织并轨情况,组织间的数据交换可通过数据交换中心模块,对跨系统、跨组织的公文、流程、文档等数据进行数据交换,保证数据跨组织的一致性运行。2、多种数据迁移方法泛微支持多种方式数据迁移,跨系统数据迁移、结构化数据迁移、非结构化数据迁移、备查集成等,应对不同类型的需求。●数据式迁移:通过台账、数据卡片、数据日志方式进行数据迁移到新系统;非机构化数据也同时进行统一迁移,可以进行权限控制管理。●流程式迁移:通过构建流程、表单将所有数据、审批、非机构化数据进行迁移,还原审批过程。●备查集成:保留原系统逻辑功能,通过台账进行基础信息集成,并基于统一身份跳转进行详细信息查询。3、自动化数据迁移工具提供全自动化的数据迁移方案,可支持从Domino或其他平台进行数据迁移;提供老系统的数据备查方案,支持新老系统的数据互备互查。四、支持大用户量并发泛微能够保障大用户量在信创环境下的使用便捷、高效。1、前后端分离架构泛微对系统进行了前后端分离的改造,通过组件化、服务化、多级缓存等技术,减轻服务器压力,确保系统性能。2、单页化设计前后端分离、并且改造成spa(single page application)之后,和服务端纯接口交互,变得很轻,让用户用更低的服务器配置达到更高的性能。3、前端解析脚本重编译解决浏览器指针溢出问题,在大数据量下保持浏览器的使用效能,不崩溃。4、多级缓存技术通过将大量频繁使用的数据存储在内存中,实现多级缓存加速,降低由于CPU以及硬盘带来的性能瓶颈;多级缓存加载,极大提升响应性能。五、安全可靠,满足等保/分保要求金融信创OA替代工作,需严格遵循等保要求。泛微平台从密级密标、数据管理、访问控制、身份鉴别、安全审计、三员分立等多个维度保障系统的安全性。(安全架构图)1、密级标识要求每个人、每种功能应用和操作、每一份信息数据都具备密级标识,相互对应。能够在文档上传时设置密级,设置密级文件的访问权限级别和可访问对象,防止高密低传。2、访问控制要求实现精细化的权限管理,一人多岗,分级分权。能够控制所有数据的查看、复制、下载、编辑、管理等权限,将权限控制到数据与内容级别。在每一个应用功能内可进行权限细分,包括了展现、操作、管理等权限控制,并且支持权限的分级分权管理。3、身份鉴别要求泛微能够提供统一的认证中心,实现多种身份认证方式;统一的身份管理平台,实现组织和账号的集中管理;统一的授权中心,实现细粒度的权限管理和授权管理。4、安全审计要求泛微提供了完整的审计日志,便于阅读,防止删除。审计记录可以确定发生的事件及其来源的结果,可长期保存。系统提供了充足的审计记录存储空间和具有存储空间的阈值设置功能。当审计系统出现异常时,通过缓存技术保证存储的审计记录不被破坏。并且提供对于系统脆弱点、运行性能以及安全需求实现安全审计范围的标定。5、数据管理要求平台对敏感数据进行高精度加密处理。密码等敏感数据应加密存储和加密传输,屏蔽显示敏感信息。所有算法均能支持,全面支持能支持国密商密算法。6、三员分立要求系统默认提供系统管理员、安全保密员、安全审计员,提供三员独立的权限设定,保障系统权力制衡。同时支持等保/分保要求的三员分立管理要求。六、全面支持验收工作泛微参与了第一批试点单位的建设与验收过程,具备相关验收材料准备与支持的经验;可在项目建设过程中提供支持,降低验收风险。泛微金融信创办公平台应用价值总结1、全面适配:联合适配信创硬件和软件环境,在信创环境下仍能够保障应用性能,为金融机构客户提供一揽子交钥匙工程。2、助力金融机构实现一体化办公:泛微数字化办公系统具备完整的办公应用、业务扩展应用,形成管理业务一体化平台,以达到信创环境下对于业务管理需求的全面应用支撑。3、安全可控:安全可控,能够支撑三员分立、密级控制、日志审计等,能够支撑国密商密,支撑等保分保。4、数据迁移:提供完整的数据迁移方案,保证系统切换过程的新老系统过渡问题,避免切换造成的业务制约。
  • [其他] 分享MRS离线数据迁移-使用BulkLoad向HBase中批量导入数据
    我们经常面临向HBase中导入大量数据的情景,向HBase中批量加载数据的方式有很多种,最直接方式是调用HBase的API使用put方法插入数据;另外一种是用MapReduce的方式从HDFS上加载数据。但是这两种方式效率都不是很高,因为HBase频繁进行flush、compact、split操作需要消耗较大的CPU和网络资源,并且RegionServer压力也比较大。本实践基于华为云MapReduce服务,用于指导您创建MRS集群后,使用BulkLoad方式向HBase中批量导入本地数据,在首次数据加载时,能极大的提高写入效率,并降低对Region Server节点的写入压力。本案例基本操作流程如下所示:创建MRS离线查询集群。将本地数据导入到HDFS中。创建HBase表。生成HFile文件并导入HBase。场景描述BulkLoad方式调用MapReduce的job直接将数据输出成HBase table内部的存储格式的文件HFile,然后将生成的StoreFiles加载到集群的相应节点。这种方式无需进行flush、compact、split等过程,不占用Region资源,不会产生巨量的写入I/O,所以需要较少的 CPU 和网络资源。BulkLoad适合的场景:大量数据一次性加载到HBase。对数据加载到HBase可靠性要求不高,不需要生成WAL文件。使用put加载大量数据到HBase速度变慢,且查询速度变慢时。加载到HBase新生成的单个HFile文件大小接近HDFS block大小。创建MRS离线查询集群登录华为云MRS控制台,选择“EI企业智能 > MapReduce服务”,单击“购买集群”,选择“快速购买”,填写相关软件配置参数,单击“下一步”。参数项取值区域华北-北京四计费模式按需计费集群名称MRS01集群版本MRS 3.0.5组件选择HBase查询集群可用区可用区1虚拟私有云vpc-01子网subnet-01企业项目default用户名root/admin密码设置密码,例如:Huawei@12345。该密码用于登录集群管理页面及ECS节点。确认密码再次输入设置用户密码通信安全授权勾选“确认授权”单击“立即购买”,等待约15分钟,MRS集群创建成功。将本地数据导入到HDFS中在本地准备一个学生信息文件“info.txt”。例如字段信息依次为:学号、姓名、生日、性别、住址。20200101245,张晓明,20150324,男,龙岗区20200101246,李敏林,20150202,男,宝安区20200101247,杨小刚,20151101,女,龙岗区20200101248,陈嘉玲,20150218,男,宝安区20200101249,李明耀,20150801,女,龙岗区20200101250,王艳艳,20150315,男,南山区20200101251,李荣中,20151201,男,福田区20200101252,孙世伟,20150916,女,龙华区20200101253,林维嘉,20150303,男,福田区登录华为云OBS管理控制台,单击“创建桶”,填写以下参数,单击“立即创建”。参数项取值区域华北-北京四数据冗余存储策略单AZ存储桶名称mrs-hbase存储类别标准存储桶策略私有默认加密关闭归档数据直读关闭企业项目default标签-等待桶创建好,单击桶名称,选择“对象 > 上传对象”,将数据文件上传至OBS桶内。切换回MRS控制台,单击创建好的MRS集群名称,进入“概览”,单击“IAM用户同步”所在行的“单击同步”,等待约5分钟同步完成。将数据文件上传HDFS。在“文件管理”页签,创建“/tmp/test”目录,单击“导入数据”。OBS路径:选择上面创建好的OBS桶名,找到txt文件,单击“是”。HDFS路径:创建并选择“/tmp/test”,单击“是”。单击“确定”,等待导入成功,此时数据文件已上传至HDFS。创建HBase表登录MRS集群的FusionInsight Manager页面(如果没有弹性IP,需提前购买弹性IP),新建一个用户hbasetest,绑定用户组supergroup,绑定角色System_administrator。下载并安装集群全量客户端,例如客户端安装目录为“/opt/client”,相关操作可参考安装客户端。为主Master节点绑定一个弹性IP,然后使用root用户登录主Master节点,进入客户端所在目录并认证用户。cd /opt/clientsource bigdata_envkinit hbasetest执行hbase shell进入HBase Shell命令行界面。需要根据导入数据,规划HBase数据表的表名、rowkey、列族、列,考虑好row key分配在创建表时进行预分割。执行以下命令创建表“student_info”。create 'student_info', {NAME => 'base',COMPRESSION => 'SNAPPY', DATA_BLOCK_ENCODING => 'FAST_DIFF'},SPLITS => ['1','2','3','4','5','6','7','8']−    NAME => 'base':HBase表列族名称。−    COMPRESSION:压缩方式−    DATA_BLOCK_ENCODING:编码算法−    SPLITS:预分region查看表是否创建成功,然后退出HBase Shell命令行界面。list生成HFile文件并导入HBase创建自定义导入的模板文件,例如模板文件为“/opt/configuration_index.xml”(模板文件样例可从“集群客户端安装目录/HBase/hbase/conf/index_import.xml.template”获取)。vi /opt/configuration_index.xml例如本案例中,模板文件如下:<?xml version="1.0" encoding="UTF-8"?><configuration><!--column_num要和数据文件中的列的数量对应:5列 --> <import column_num="5" id="first"> <columns> <column type="string" index="1">P_ID</column> <column type="string" index="2">P_NAME</column> <column type="string" index="3">P_BIRTH</column> <column type="string" index="4">P_GENDER</column> <column type="string" index="5">P_DISTRICT</column> </columns><!--reverse(P_BIRTH):反转出生年月避免热点 --><!--substring(P_NAME,0,1):截取姓 --><!--substring(P_ID,0,6):截身学号前六位 --> <rowkey> reverse(P_BIRTH)+'_'+substring(P_NAME,0,1)+'_'+substring(P_ID,0,6) </rowkey> <qualifiers> <!--family的指定要和表的列族名称对应。 --> <normal family="base"> <qualifier column="P_ID">H_ID</qualifier> <qualifier column="P_NAME">H_NAME</qualifier> <qualifier column="P_BIRTH">H_BIRTH</qualifier> <qualifier column="P_GENDER">H_GENDER</qualifier> <qualifier column="P_DISTRICT">H_DISTRICT</qualifier> </normal> </qualifiers> </import></configuration>执行如下命令,生成HFile文件。hbase com.huawei.hadoop.hbase.tools.bulkload.ImportData -Dimport.separator=',' -Dimport.hfile.output=/tmp/test/hfile /opt/configuration_index.xml student_info /tmp/test/info.txt−    -Dimport.separator:分隔符。−    -Dimport.hfile.output:执行结果输出路径。−    /opt/configuration_index.xml:指向自定义的模板文件。−    student_info:要操作的HBase表名。−    /tmp/test/info.txt:指的是要批量上传的HDFS数据目录。−    com.huawei.hadoop.hbase.tools.bulkload.IndexImportData:导入时创建二级索引使用IndexImportData;如果不创建二级索引,使用ImportData。等待MapReduce任务执行成功,输出路径下生成HFile文件。hdfs dfs -ls /tmp/test/hfile执行后显示如下:Found 2 items-rw-r--r-- 3 hbasetest hadoop 0 2021-05-14 11:39 /tmp/test/hfile/_SUCCESSdrwxr-xr-x - hbasetest hadoop 0 2021-05-14 11:39 /tmp/test/hfile/base执行如下命令将HFile导入HBase表。hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/test/hfile student_info命令执行完成后,执行hbase shell命令进入HBase Shell命令行界面,查看表内容。scan 'student_info', {FORMATTER => 'toString'}执行后显示如下:ROW COLUMN+CELL 10115102_杨_202001 column=base:H_BIRTH, timestamp=2021-05-14T15:28:56.755, value=20151101 10115102_杨_202001 column=base:H_DISTRICT, timestamp=2021-05-14T15:28:56.755, value=龙岗区 10115102_杨_202001 column=base:H_GENDER, timestamp=2021-05-14T15:28:56.755, value=女 10115102_杨_202001 column=base:H_ID, timestamp=2021-05-14T15:28:56.755, value=20200101247 10115102_杨_202001 column=base:H_NAME, timestamp=2021-05-14T15:28:56.755, value=杨小刚 10215102_李_202001 column=base:H_BIRTH, timestamp=2021-05-14T15:28:56.755, value=20151201 10215102_李_202001 column=base:H_DISTRICT, timestamp=2021-05-14T15:28:56.755, value=福田区...数据导入集群后,就可以继续基于大数据平台上层应用对数据进行分析处理了。转自【云小课】EI第19课 MRS离线数据迁移-使用BulkLoad向HBase中批量导入数据-云社区-华为云 (huaweicloud.com)
总条数:56 到第
上滑加载中