如何减少数据迁移期间的停机时间和成本?

系统因负载、生产力下降、使得客户不堪重负:IT 停机会给公司带来沉重打击,耗费巨额成本。因此,SNP北美云业务负责人 Darren Shaw 在这篇文章中建议,数字化转型项目过程中发生的停机时间应保持最短。专家就如何实现这一目标提供了建议。

计划外的 IT 停机时间是公司在高度动态的市场和不断变化的需求中面临的最大挑战之一。对零售行业的一个典型研究证明了这一论点:根据最近的研究,80%的公司每年至少经历一次计划外停机。如果发生此类紧急情况,大多数公司 (87%) 最多需要四个小时才能获得支持。从生产中断和销售损失到品牌损害和数据保护漏洞,都会造成非常严重的后果。

美国 Standish Group 的分析师计算了零售商的财务负担:POS 中断的平均成本为每分钟 4,700 美元或每小时 28.2万美元。在疫情期间电子商务领域的增长比平时更大,损失可能会更高。

转型项目计划中的停机时间

计划外停机会造成严重损害,项目经理当然应该尽量减少计划外停机,这在一定程度上是大型 IT 转型项目所需要的。例如,在数据迁移到 SAP S/4HANA 期间,技术上需要关闭业务流程。但是,结合先进的技术、最佳实践和可靠的转换计划,可以极大地限制这种停机时间。

将 IT 停机时间降至最低

可以理解的是,在大陆或全球运营的公司——尤其是在零售行业,几乎没有停机空间。不同的时区包括在在某些假期,例如圣诞节或新年前夜,人们也可以随时在本地零售店或网上购物,这需要持续的业务运营。如何才能将计划停机时间保持在最低限度?

在迁移之前扫描系统环境,了解系统真实情况很有必要

在 S/4HANA 迁移等转型场景中,SNP建议客户首先确定现有 ERP 系统的当前状态并熟悉其特殊功能:这对许多项目经理来说似乎是不言而喻的。

然而,我们与大公司合作多年的经验表明,经过数年(或数十年)的使用和进一步发展,关于哪些数据、应用程序和系统被使用、由谁、何时以及如何使用的概览已经丢失。检查现有 IT 基础设施的情况是必须的,通过这种方式,可以定义转型项目的个性化需求,加快流程并有效节省成本。

使用这些实用技巧,可以大大减少系统停机时间

1、确定最有可能接受停机时间的时间窗口。例如,根据行业、商业模式和在不同国际市场的存在情况,这些时间可能是晚上、周末或节假日。在此基础上,可以根据范围和复杂性决定项目启动日期。

2、从敏捷的方法中选择一种“最小化可行产品”(MVP)方法,以便从战略上规划您的迁移项目:问问自己现在需要迁移哪些数据以获得功能齐全且合规的 S/4HANA 系统 – 以及哪些数据可以以后再迁移。例如,如果一家公司有 10 TB 的系统,但其中只有 0.5 TB 是当前和上一年的数据,那么应该首先迁移少量数据。让切换阶段有良好的计划和执行,以确保按计划上线,并实现成本最优、安全和增值的系统迁移。

3、作为转换过程的一部分,定义所谓的“冻结”期间,在此期间不允许更改主数据或层次结构数据。这确保了数据的一致性。

4、在迁移之前优化源系统的基础架构,标准化数据结构和清理数据可以显著减少转换所需的工作量,从而减少停机时间。

5、了解您的公司一小时的停机时间成本,并在选择合适的转型方法和迁移合作伙伴时考虑到这一点。

选择合适的转型方法和合作伙伴

需要进行复杂转型项目(例如 S/4HANA 迁移)的公司在选择合适的迁移软件和服务提供商是至关重要的。必须全面考虑成本,最初较便宜的产品和服务随着停机时间的延长可能会变得更加昂贵。例如,选择传统 IT 解决方案的人可能会面临未结订单可能会被取消或仅在数据迁移期间延迟执行的风险。

为避免因长时间停机而导致的额外成本,理想情况下使用能够实现近乎零停机时间迁移的创新技术。这使得迁移、验证、统一和测试过程自动化,并提供对系统的深入见解和优化建议。IT 解决方案的另一个标准应该是多个项目可以同时进行,例如迁移到云和 S/4HANA 实施,可以在一个项目中结合。

那些考虑采取这些行动建议的人会惊讶于停机时间的缩短。然而,成功的关键就是战略项目规划和现有备选方案的评估。

本文转载于网络 如有侵权请联系删除

相关文章

  • k8s加入新的master节点出现etcd检查失败

    背景: 昨天在建立好新的集群后,出现了新的问题,其中的一台master节点无法正常工作。虽然可以正常使用,但是就出现了单点故障,今天在修复时出现了etcd健康检查自检没通过。Yesterday,afteranewclusterwasestablished,anewproblemaproblemoccurred,andoneofthemasternodesdidnotworkproperly.Althoughcanbeusednormally,butthereisasinglepointoffailure,todayintherepairoftheetcdhealthcheckself-testfailed.对加入集群中时,出现如下报错:Whenyoujoinacluster,thefollowingerroroccurs 提示etcd监控检查失败,查看一下Kubernetes集群中的kubeadm配置信息。PrompttheetcdmonitoringchecktofailandreviewthekubeadmconfigurationinformationintheKubernet

  • 区区5道题,我就跪了……

    1、Redis在你们项目中是怎么用的?(1)门户系统中的首页内容信息的展示。(商品类目、广告、热门商品等信息)门户系统的首页是用户访问量最大的,而且这些数据一般不会经常修改,因此为了提高用户的体验,我们选择将这些内容放在缓存中; (2)单点登录系统中也用到了redis。因为我们是分布式系统,存在session之间的共享问题,因此在做单点登录的时候,我们利用redis来模拟了session的共享,来存储用户的信息,实现不同系统的session共享; (3)我们项目中同时也将购物车的信息设计存储在redis中,购物车在数据库中没有对应的表,用户登录之后将商品添加到购物车后存储到redis中,key是用户id,value是购物车对象; (4)因为针对评论这块,我们需要一个商品对应多个用户评论,并且按照时间顺序显示评论,为了提高查询效率,因此我们选择了redis的list类型将商品评论放在缓存中; (5)在统计模块中,我们有个功能是做商品销售的排行榜,因此选择redis的zset结构来实现; 还有一些其他的应用场景,主要就是用来作为缓存使用。2、对redis的持久化了解不?Redis是内存型数

  • VBA代码库10:强制用户启用宏

    有时,必须确保用户在打开工作簿时启用宏,否则就不能实现工作簿的效果。由于无法使用宏去打开宏,因此需要一种确保用户启用宏的技术。下面讲解的方法隐藏除“欢迎”工作表(告诉用户启用宏)之外的所有工作表,并在每次保存工作簿时强制执行该工作表。如果用户在启用了宏的情况下打开工作簿,则宏将不会隐藏所有工作表。还可以使用Excel的VeryHidden属性来实现工作表的隐藏,这意味着不能使用Excel的菜单来取消隐藏工作表。但是,这只会影响该工作簿,因此用户可以使用另一个工作簿中的宏取消隐藏所有工作表。但是,如果用户非常熟练,他们总是可以始终进入你的文件中。注意:为防止某些事件循环问题,此代码需要覆盖Excel内置的Save事件,并且还需要复制Excel的“工作簿已更改,您要保存”提示和操作,代码负责所有这些工作。但是,在关闭文件时确实会产生一个非常小的问题。如果用户尝试退出该应用程序,它将关闭工作簿,而不是Excel。再次退出将完全关闭Excel。下面是代码:ConstWelcomePage="欢迎"PrivateSubWorkbook_BeforeClose(CancelAs

  • PTA刷题记录:L1-039 古风排版 (20分)

    L1-039古风排版(20分)题目描述: 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式: 按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例: 4 Thisisatestcase 输出样例: asaT stih etsi ces解题思路: 定义一个二维数组,将字符串按照古风排版放入其中。 C++11的数组初始化在网站上貌似没效果,得自己写循环初始化数组。通关代码:#include<iostream> usingnamespacestd; intmain(){ introw,column; stringstr; cin>>row; cin.ignore(); getline(cin,str); if(str.size()%row==0){ column=str.size()/row; }else{ if(str.size()

  • 浏览器里标记生活大爆炸所有演员 — — face-api.js

    超神经HyperAI导读忘掉那些不开心的,还是有人在好好做浏览器的啦。最近,一群工程师基于tensorflow.jscore框架,开发出一款可以在浏览器上运行的人脸识别API——face-api.js,不仅能同时还可以识别多张人脸,让更多非专业AI工程师,能够低成本使用人脸识别技术。人脸识别原理face-api.js是一个基于Tensorflow.jscore的js框架,通过三种CNN来进行人脸识别和人脸特征检测,从而识别图像中的人物。跟大多数图像识别技术一样,这项技术的实现原理也是通过匹配数据库,找到相似度最高的图像,并输出结果。不过,face-api.js可以同时识别一张图像中的多张人脸。一般人脸识别技术的工作原理为:工程师们先把大量标记有人名等信息的图像输入到系统,构建数据训练集,然后将识别对象作为测试集,与训练集中的图像进行比对。如果两个图像相似度达到阈值,则输出结果,否则输出「unknown」。face-api.js的实现原理首先需要进行人脸检测,即圈出图像中所有的人脸。face-api.js通过SSD算法(SingleShotMultiboxDetector)来进行人脸检测

  • optimize 回收表空间的一些说明

    optimize命令回收表空间的说明线上服务器,有张大表需要用pt-archiver根据时间划分归档大量数据到另一个新表中。原先200G的表,在归档完成后,du-hs显示依然是200G的大小,删除了大量的行记录但是实际上空间是不会释放的。这种情况下,我们就要使用optimize命令重建表以达到释放表空间的目的。(好像是从5.6.6之后,optimize不锁表了,但是optimize操作会进行rebuild表操作,要确保磁盘剩余空间足够存放新表的大小,不然操作会失败)另外,如果在主库执行optimizetable会造成从库延迟,这种情况下,可以使用optiminzeno_write_to_binlogtablexxxx;这样就不会把optimize操作写入binlog。主库执行完后,再到从库执行optimizetable操作。姜承尧的py_innodb_page_info工具下载地址:http://pan.baidu.com/s/1c2o0Tag 模拟过程如下:usetest; CREATETABLE`t`(  `a`int(10)unsignedNOTNULLAUTO_INCREMEN

  • 【AI-1000问】为什么LeNet5倒数第二个全连接层维度为84?

    为什么LeNet5倒数第二个全连接层维度为84?相信大家也都知道LeNet5这个经典的卷积神经网络,它有3个全连接层,输出维度分别是120,84,10,不知道大家知不知道为什么倒数第2个全连接层的维度是84呢?作者/编辑言有三LeNet5的网络结构如下。作为一个用于手写数字识别的网络,它的最后输出是1*10的向量,而倒数第2层却不是我们熟悉的4096,1024,512这样的2的指数次幂的维度,而是84,那这是为什么呢。解答:因为在计算机中字符的编码是ASCII编码,这些图是用7*12大小的位图表示的,也就是高宽比为7:12,如下图,选择这个大小可以用于对每一个像素点的值进行估计。就这么简单,不过既然来了就多说两句吧。上图显示了ASCII中的96个可打印字符,其中32是空格,不可见。 另外0~31以及127是控制字符/通信字符,控制字符如:LF(换行)、CR(回车)、DEL(删除)等;通信字符如:SOH(文头)、EOT(文尾)、ACK(确认)等,这两类字符是不可打印的。思考是不是很粗暴的设定,居然跟位图的大小有关。通常我们现在设定全连接层的维度都会是2的指数次幂或者最终分类数,不知道你有

  • 机票大数据分析,揭示购票的秘密

    对于旅游或者探亲来说,买机票的一个最基本的问题是什么时候买能买到最便宜的机票?提前一个月还是一周?知乎上各种旅游攻略上各种“业内人士”也说提前一个月买可能买到最便宜的机票,有些又说提前2个星期买能买到最便宜的机票,事实真的如此么?为了解密机票的定价策略,本文作者做了一个长达一年多的数据收集,通过分析350亿机票价格数据,告诉你机票的各种秘密。 01到底要提前多久能买到最便宜的机票?要回答这个问题非常困难,因为机票的定价是一个非常复杂的动态的博弈的过程,而且定价由各种因素组合而成。我们买机票也不是一个高频的事件,所以当你需要买机票的时候,很可能观察一两天然后就购买。由于信息不对称,我们根本不知道当前是否最佳购买购票时机,买了以后说不定就惋惜又降价两三百。对于家庭出游来讲,赤裸裸的就少了好几百块钱。但在大数据面前,一切的秘密也不是秘密,将机票价格可视化出来你就会发现一些购票的秘密。02研究的数据北京到广州的航班:国航:最早起飞的CA1321,中午起飞的CA1315,晚上最后一班的CA1319南航:最早起飞的CZ3166,中午起飞的CZ3112,晚上最后起飞的CZ3000价格:观察起飞前45

  • 阿里研究院院长高红冰:向公司模式告别,未来属于平台

    2016年12月17日,2017中国人力资源管理新年报告会暨中国人才发展高峰论坛在北京中国人民大学如论讲堂盛大举行。本次新年报告会由中国人民大学劳动人事学院、北京市人才工作领导小组主办,北京东方慧博人力资源顾问股份有限公司协办。来自政界、学界和企业界的1000余名嘉宾齐聚一堂,围绕人与组织关系的重塑这一主题切磋互动、跨界交流。超过5万人次在线观看了本次活动的网络直播,精彩的演讲和互动引起观众的热烈反响。 阿里巴巴集团副总裁、阿里研究院院长高红冰先生作了题为“向公司告别,未来属于平台”极具未来感、前瞻性的主题演讲。以下为演讲PPT:

  • 提升方法-Adaboost算法

    总第85篇01|基本概念: 提升方法的基本思想:对于任何一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比任何一个专家单独的判断好。先来看两个概念:强可学习和弱可学习。 在概率近似正确学习的框架中(简称PAC),一个概念(类),如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么就称这个概念是强可学习的;一个概念,如果存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好,那么就称这个概念是弱可学习的。弱可学习与强可学习之间是有一定的差距,如果已经发现弱可学习算法,那么能否将它提到强可学习算法,这里的如何提升就是提升方法需要解决的问题。最具代表性的就是AdaBoost算法。对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确地分类规则(强分类器)容易的多。提升方法就是从弱学习算法,反复学习,得到一系列分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。这样,对于提升方法来说,有两个问题需要

  • 腾讯云物联网智能视频服务(消费版)查询固件升级任务统计信息物联网智能视频服务API20201215

    1.接口描述接口请求域名:iotvideo.tencentcloudapi.com。 本接口用于查询固件升级任务统计信息 默认接口请求频率限制:20次/秒。 APIExplorer提供了在线调用、签名验证、SDK代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成SDK调用示例。 2.输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数。 参数名称 必选 类型 描述 Action 是 String 公共参数,本接口取值:DescribeFirmwareTaskStatistics。 Version 是 String 公共参数,本接口取值:2020-12-15。 Region 否 String 公共参数,本接口不需要传递此参数。 ProductID 是 String 产品ID FirmwareVersion 是 String 固件版本号 3.输出参数 参数名称 类型 描述 SuccessTotal Integer 升级成功的设备总数注意:此字段可能返回null,表

  • 面经汇总-社招-6年

    ​ 本文列出了别人面经各个重难点,还有自己不会的地方,暂时没学到的:Netty就跳过了 ​ 感觉面试核心宝贵点都是在项目介绍,而不同人项目不一样,还是得多看别人项目,面经里面的非项目都只能算是基础或者中级知识。 参考链接:https://mp.weixin.qq.com/s/eqJ4mKdS69ADOCoB4035Fg 目录1.丰疆智能2.西安移动研究院3.西安卓派4.西安腾讯云5.翼支付 1.丰疆智能 ArrayList的扩容机制: 初始化创建不会定义长度,第一次调用add定义为10,后续扩容为原来1.5倍 HashMap什么场景下是线程不安全的?会导致什么后果? jdk1.8之后put采用尾插法,多线程下数据会覆盖 当核心线程数未满,继续提交任务,是复用已经空闲的线程还是继续创建? 继续创建,一方面是为了线程预热,核心线程个数本身就是配置好的最优值,另一方面复用之前线程是有争抢资源锁开销的。 AQS了解?里面都有哪些属性?AQS有几种模式?你对AQS还有哪些理解? State,CLH。独占和共享(.........见尚硅谷-JUC-AQS篇) JVM的内存模

  • 258. Add Digits

    publicclassSolution{ publicintaddDigits(intnum){ inttemp=num; while(temp/10!=0) { intres=temp%10; while(temp/10!=0) { temp/=10; res+=temp%10; } temp=res; } returntemp; } }复制  

  • 「杂说」怎么让新电脑保持整洁?

    入职领了新的电脑,配置还不错。但每次使用新电脑或者重装系统,结果过一段时间总会让桌面一团糟,这次我一定要改变这个情况。怎么能够改善这种情况呢?且做且思吧,这本身就不是一蹴而就的事情。首先呢,要让桌面看起来不乱,桌面的图标一定不能多。还记得我有一个自负的室友,他的桌面图标多到令人发指,已经快要把桌面填满了,这观感实属糟糕。所以,我要把图标数量严格控制,桌面只能留一列并且空一个,目前看来,这样的视觉效果还不错。一些其他要用到的软件,直接通过左下角搜索就可以了,还是挺方便的,其实比当你把桌面图标铺满然后去找是要快的。然后就是文件了,往往会把电脑文件弄得一团糟,至今我还没有想到什么好的办法可以避免。公司电脑是256GSSD+1THDD,我目前是共分了四个区,固态分成C盘和D盘,分别是122GB和100GB。C盘自不必多说几乎不会放东西的,因为这个盘非常神奇,就算你什么都不放它占用的空间也会慢慢地变大。安利一个相当好用的截屏软件snipaste。下载的软件,包括通用的,包括编程的,全部都放在D盘了,暂时分了四个。Development文件夹放着类似于Eclipse等开发软件;JAVA放着jdk-

  • Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_P

    因openssl1.0.1存在安全问题,python3自3.7版本后要求依赖openssl1.0.2以上或libressl;错误提示如下: PythonrequiresanOpenSSL1.0.2or1.1compatiblelibsslwithX509_VERIFY_P python3.7以上建议使用libressl代替openssl,故需通过源码编译安装libressl #下载源码包 wgethttps://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.0.2.tar.gz #解压 tar-zxvflibressl-3.0.2.tar.gz #配置安装路径 mkdir/usr/local/libresslcdlibressl-3.0.2 ./configure--prefix=/usr/local/libressl#安装 make-j8&sudomakeinstall #创建软连接代替openssl mv/usr/bin/openssl/usr/bin/openssl.bak mv/usr/include/openssl/u

  • mysql数据库面试题

    一、sql语句应该考虑哪些安全性? (1)防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语句绑定变量。 (2)最小权限原则,特别是不要用root账户,为不同的类型的动作或者组建使用不同的账户。 (3)当sql运行出错时,不要把数据库返回的错误信息全部显示给用户,以防止泄漏服务器和数据库相关信息。 二、简单描述MySQL中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响。 (1)索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。 (2)普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。 (3)普通索引允许被索引的数据列包含重复的值,如果能确定某个数据列只包含彼此各不相同的值,在为这个数据索引创建索引的时候就应该用关键字UNIQE把它定义为一个唯一所以,唯一索引可以保证数据记录的唯一性。 (4)主键,一种特殊的唯一索引,在一张表中只能定义一个主键索引,逐渐用于唯一标识一条记录,是用关键字PRIMARYKEY来创建

  • 61.Python:如何隐藏属性

    #Pythonlearning#coding:utf-8#一、封装介绍#封装:面向对象最核心的特性#二、将封装的属性进行隐藏操作#在属性名前加'__'前缀实现对外隐藏属性classFoo:__x=1def__f1(self):print('fromtest')print(Foo._Foo__x)print(Foo._Foo__f1)复制

  • 松下PLC通讯协议(中文)

    一.资源说明:此资源是松下PLC通讯协议文档,如果上位机想通过RS485和松下PLC通信,寄存器读写,I/O复位置位,PLC状态获取等等,必须要学习PLC通讯协议,了解通信指令的含义和结构,才能和上位机正常通信。二.资源截图:   三.下载 下载通道1下载通道2

  • C#图解教程 第二十三章 预处理指令

    预处理指令 什么是预处理指令基本规则#define和#undef指令条件编译条件编译结构诊断指令行号指令区域指令#pragmawarning指令 预处理指令 什么是预处理指令 源代码指定了程序的定义,预处理指令(preprocessordirective)指示编译器如何处理源代码。例如,在某些情况下,我们可能希望编译器忽略一部分代码,而在其他情况下,我们可能希望代码被编译。预处理指令给了我们这样的选项。 在C和C++中有实际的预处理阶段,此时预处理程序遍历源代码并且为之后的编译阶段准备文本输出流,在C#中没有实际的预处理程序。“预处理”指令由编译器来处理,而这个术语保留了下来。 基本规则 下面是预处理指令的最重要的一些语法规则。 预处理指令必须和C#代码在不同的行 与C#语句不同,预处理指令不需要以分号结尾 包含预处理指令的每一行必须以#字符开始 在#字符前可以有空格 在#字符和指令之间可以有空格 允许行尾注释 在预处理指令所在的行不允许分隔符注释 这里的一些示例阐释了这些规则: #definePremiumVersion//没有分号正确 #defineBudg

  • selenium-三种等待方式

    一、强制等待 强制等待就是前一步执行完成后必须等待5秒才能执行下一步,不灵活,影响代码执行的整体速度。 fromseleniumimportwebdriver importtime driver=webdriver.Chrome() driver.get('https://www.baidu.com') time.sleep(5)#强制等待5秒 driver.find_element_by_id('kw').send_keys('软件测试') driver.find_element_by_id('su').click() 复制      二、隐性等待 隐性等待是在规定时间内等待浏览器加载完成,对整个driver起作用,所以只需要设置一次即可。当页面有弹出框时,隐性等待对弹出框的等待不起作用,它只针对页面刷新起作用。若最长等待时间完后为加载成功,直接抛出异常。 fromseleniumimportwebdriver driver=webdriver.Chrome() driver.get('https://www.baidu.com') driver.implicitly

  • 多人博客项目构建过程(四)

    前端开发 开发环境设置     修改项目信息 打开VS工具,选择package.json文件 选择webpack.config.dev.js文件 安装依赖 $npminstall $npminstallreact-router $npminstallreact-router-dom复制    开发 前端路由 官网文档:https://reacttraining.com/react-router/web/guides/philosophy基本例子:https://reacttraining.com/react-router/web/example/basic复制 #src/index.js importReactfrom'react'; importReactDomfrom'react-dom'; import{BrowserRouterasRouter,Route,Link}from"react-router-dom"; constHome=()=>( <div> <h2>Home</

相关推荐

推荐阅读