本文于2019年7月29日完成,发布在个人博客网站上。

考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。


依据领导的规划,本月启动了一项业务迁移工作,作为特别行动,部门安排首席SE亲自带领南京团队交付。

本次特战的目标,使用恰当的技术,重构已有的实时业务,一劳永逸的解决业务交付过程中遇到的问题。

当前基于Oracle交付业务,存在的问题如下:

  1. 业务方案不准确,存在反复。当前每月做一次生产上线,近期连续出现几次上线后第二天修复问题的现象,最近的一次上线,迫于方案导致的性能问题,被迫回退代码。
  2. 实现方案复杂。新人上手需要花费巨量的时间来学习。
  3. 故障恢复慢。遇到源系统数据延迟,数据错误等问题,修复数据时分析方案,实施方案,均耗时耗力。
  4. 时效性不满足要求。当前基于数据仓库的技术栈交付近实时业务,在正常情况下,源系统产生数据后,一般要两小时左右才能将数据加工出来。随便出现一点问题,整体时延均会增大,导致不可用。

本次完成的内容:

  1. 架构优化,基于主题的建设思路重新构建相关业务,简化加工处理的路径,减少处理层级。
  2. 方案复用,复用了主题的建设方案,Mapping和取值逻辑。
  3. 对齐理解,和下游业务团队对齐需求,方案。

    1)梳理全部字段的取数方案,逐个和数据管家,下游沟通。

    2)刷新关键字段的取数方案。

    3)裁剪不必要的字段。
  4. 技术平台迁移,将基于Oracle交付的业务,迁移到HANA平台。
  5. 开发团队内部,对于源系统的业务流程,数据交互等,有了初步的理解,便于后续工作的开展。

本次改造由首席SE亲自带队。

假如由我来主导,存在的差异有:

  1. 沟通成本,沟通交流的成本比较高。首席SE带队,在方案评审等事项上不需要投入太大,不需要反复整理材料,反复给领导汇报。
  2. 周边资源协调不会这么顺利,包括:

    1)周边人力,比如主题交付团队,数据管家,下游业务人员等,全力投入。

    2)硬件环境,测试,生产环境等。
  3. 业务方案,推动下游业务梳理方案,投入程度,工作效率,输出结果等,可能会打折扣。另外交付团队在业务的理解上明显存在短板,迫切需要指导。
  4. 技术方案,基于HANA交付:

    1)集成方案的选择和把控。

    2)开发方案的选择和把控,比如视图,表,存储过程的合理运用。

    3)上线方案的把控。

    首席SE去年基于HANA交付过一个项目,在HANA方面具备相当的经验。对于本次项目而言,有效的节省了技术方案验证的投入。
  5. 交付进度。综上,考虑到上述的因素,很难在一个月内完成开发工作,保守估计至少需要两个月。

基于HANA重构业务的总结的更多相关文章

  1. 这样基于Netty重构RPC框架你不可能知道

    原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 今天是猿灯塔“365天原创计划”第5天. 今天呢!灯塔君跟大家讲: 基于Netty重构RPC框架 一.CyclicBarrier方法说明 1. ...

  2. 基于 UML 的业务建模举例

    简介: 对于管理流程咨询项目.大型信息化建设项目和套装管理软件实施项目,对业务环境的分析和理解对项目的成功至关重要.系统.全面理解 IT 系统所处的业务环境,可以帮助 IT 系统能提供正确系统功能,并 ...

  3. PHP旧系统基于命名空间重构经验

    命名空间其实只是一个形式,最终目的是重构代码,但这个过程想要一蹴而就是不可能的. 一开始给了一个伪命题:基于ThinkPHP的重构(不要问为什么).经过一段的实践,发现这是一个大错特错的思维方式,其中 ...

  4. 使用EventNext实现基于事件驱动的业务处理

    事件驱动模型相信对大家来说并不陌生,因为这是一套非常高效的逻辑处理模型,通过事件来驱动接下来需要完成的工作,而不像传统同步模型等待任务完成后再继续!虽然事件驱动有着这样的好处,但在传统设计上基于消息回 ...

  5. 基于Netty重构RPC框架

    下面的这张图,大概很多小伙伴都见到过,这是Dubbo 官网中的一张图描述了项目架构的演进过程.随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在 ...

  6. 基于RulesEngine的业务规则实现

    规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策.接受数据输入,解释业务规则,并根据业务规则做出业务决策.比较常见 ...

  7. spring+mybatis基于 AOP实现业务日志管理

    最近在项目上用到了操作日志的相关,之前的解决方案就是自己写一个日志project,然后统一调用日志接口即可,这样方便自定义定制,因为有很多设备控制之类的都是需要确认一下的,但是,对数据的操作,比如,增 ...

  8. 借助ltp 逐步程序化实现规则库 文本生成引擎基于规则库和业务词库 去生成文本

    [哪个地方做什么的哪家靠谱?地名词库行业.业务词库]苏州做网络推广的公司哪家靠谱?苏州镭射机维修哪家最专业?昆山做账的公司哪家比较好广州称重灌装机生产厂家哪家口碑比较好 [含有专家知识]郑州律师哪个好 ...

  9. OsharpNS轻量级.net core快速开发框架简明入门教程-基于Osharp实现自己的业务功能

    OsharpNS轻量级.net core快速开发框架简明入门教程 教程目录 从零开始启动Osharp 1.1. 使用OsharpNS项目模板创建项目 1.2. 配置数据库连接串并启动项目 1.3. O ...

  10. 基于SOA的组件化业务基础平台[转]

    转自https://www.ibm.com/developerworks/cn/webservices/1111_xiaojg_soa/index.html 业务基础平台是业务逻辑和基础架构平台之间的 ...

随机推荐

  1. Qt三方库开发技术(一):QuaZIP介绍、编译和使用

    前言   Qt使用一些压缩解压功能,探讨过libzip库,zlib库,libzip库比较原始,还有其他库,都比较基础,而在基础库之上,又有高级封装库,Qt中的QuaZIP是一个很好的选择.  本文主要 ...

  2. PicGo如何设置阿里云图床

    打开阿里云官网.注册并且登录.然后产品下拉列表里面通过搜索或者直接找到存储.对象存储OSS 默认你已经激活了,然后进入到控制台里面. 注意事项 Bucket名称需要全英文,不能有大写字母 服务器选国内 ...

  3. 【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM

    问题描述 在Azure的Spring Cloud服务 (官名为:Spring Apps)中,在Metrics 页面中查看 App Memory Usage 和 jvm.memory.use,发现两则在 ...

  4. 【Azure 事件中心】通过 az rest --method get 如何获得Event Hub Entity 级的统计指标

    问题描述 通过 az rest --method get  如何获得Event Hub Entity 级的统计指标? 问题解答 查阅文档  https://learn.microsoft.com/en ...

  5. 【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值

    问题描述 App Service中,如何通过 Application Setting 来配置 Key Vault中的值呢? 问题解答 首先,App Service服务可以直接通过引用的方式,无需代码的 ...

  6. 【Azure API 管理】APIM如何配置客户端证书的CRL检测策略

    证书吊销列表 (Certificate Revocation List ,简称: CRL)  是 PKI 系统中的一个结构化数据文件,该文件包含了证书颁发机构 (CA) 已经吊销的证书的序列号及其吊销 ...

  7. Github无法读取远程仓库

    主页 个人微信公众号:密码应用技术实战 个人博客园首页:https://www.cnblogs.com/informatics/ Git无法访问 今早起来访问Github炸了,Git不能用了,提示: ...

  8. TLS原理与实践(三)tls1.3

    主页 个人微信公众号:密码应用技术实战 个人博客园首页:https://www.cnblogs.com/informatics/ 引言 tls1.2作为主流的网路安全协议,被广泛应用,但tls1.2仍 ...

  9. navigator.aardio 代码备份

    import win.ui; import console; import process; import string.regex; import libs.router; /*DSG{{*/ ma ...

  10. history = his + story 男性史 = 历史 学单词

    history = his + story 男性史 = 历史 早先还有 herstory 由于女性地位底下,就由 history 代表历史了. 然后 history 由拉丁文过来 story 从法语过 ...