【数据蒋堂】第44期:谈谈临时性计算

简介: 临时性计算,顾名思义,是指临时发生的一些计算需求。这种计算在日常数据处理中很常见,我们举一些例子: 应对业务部门的取数需求:比如销售部门想获得进行了某项促销活动前后的销售情况变化信息;数据挖掘算法前的清理准备:将来自各个业务系统的数据(甚至一些企业外部的数据)整理成规则一致的二维表,这些动作常常.

临时性计算,顾名思义,是指临时发生的一些计算需求。这种计算在日常数据处理中很常见,我们举一些例子:

  • 应对业务部门的取数需求比如销售部门想获得进行了某项促销活动前后的销售情况变化信息;
  • 数据挖掘算法前的清理准备将来自各个业务系统的数据(甚至一些企业外部的数据)整理成规则一致的二维表,这些动作常常比挖掘本身耗时还长得多;
  • 有业务规则的测试数据生成测试数据不能完全随机生成,必须满足一定的业务规则以及分布比例;
  • 大数据计算的优化方案实验性能优化是个迭代的过程,需要不断尝试各种计算方案;
  • 非日常(外部)数据的清洗和入库比如有些下级部门提供的Excel表格要写入数据库再进行统计分析;

可以看出,临时性计算具体相当的普遍性。那么,我们是用什么方法来处理这种具有普遍性的计算需求呢?

其实也就是编程序了,常用来对付临时性计算的编程方案有三种:以Java为代表的高级语言、以SQL为代表的数据库语言、以Python为代表的脚本语言。

然后,第二个问题,我们怎么评估这些方法的优劣和适应性呢?

为了回答这个问题,我们要先分析临时性计算的需求特征:

  • 需求随意,不可预测这是临时性计算的基本特征,计算需求时临时产生的,不能事先预测到而做进数据分析系统中,只能临时面对;
  • 经常只做一次,缺乏直接可复用性这也是临时性的特征,做完就完了,没有必要刻意地反复优化,也没必要也不可能事先为计算做准备工作;
  • 大量涉及多样性的原始外部数据很多计算的涉及数据并不在数据库中,比如收集上来的Excel表格,从网上爬下来的文本等,这些数据还常常以原始形式出现;
  • 常常涉及多步骤的过程计算本来分析处理类的运算就会步骤比较多,而数据源的杂乱更会加剧这一现象;
  • 必要时可能转变成日常计算也有些临时性计算可能重复发生,这时就有必要转化成日常计算放进数据分析系统中;
  • 以结构化数据计算为主这一点并非临时性计算特有的,其实数据分析和处理类的计算都是主要面对结构化或即将被结构化的数据。 

从需求的特征出发,我们就可以提出应对临时性计算的方案的技术要求了:

  • 开发快捷:临时性计算随时发生,需要快速解决,所以要注重开发效率,相对来讲,对于运算性能要求会低一些;
  • 人员要求低:临时性计算发生场景很普遍,那么应当尽量降低实施开发人员的要求,而不是总是需要专业的程序员才能做;
  • 环境简单:经常只做一次的事情,要让环境搭建足够简单,如果准备计算环境花费时间超过实施计算本身了,那就得不偿失了;
  • 数据适应面广:计算方案要能方便地面对各种各样的数据源,不要总是需要专门的接口和技术体系,特别地要能处理较大的数据量;
  • 易于集成:要转变成日常计算时,临时写出来的代码最好能够只要简单修改甚至不加修改就能集成到数据分析系统中去。

现在我们按这套技术要求来考查前面提到的三种技术方案,并给评个分(前四项满分10,第五项重要程度低满分5)

1. 以Java为代表的高级语言

c64c38cfe4ec824acd82af50f556cacc7bdc3ed1

2. 以SQL为代表的数据库语言总分:13分

388fef002403125801ec84806bad34e7903a0818
3. 以Python为代表的脚本语言
总分:24分

ea6cecb5953ae607ad4c473aacf2eb55fe31b52f
算下来还是脚本语言相对最好。总分:
30分


原文发布时间为:2018-02-27

本文作者:蒋步星

本文来自云栖社区合作伙伴“数据蒋堂”,了解相关信息可以关注“数据蒋堂”微信公众号

相关文章
|
Python
用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了
用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了
365 2
用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了
|
人工智能 小程序
行动派:想到就做,无关乎与成功或失败,重在过程!
行动派:想到就做,无关乎与成功或失败,重在过程!
194 0
|
canal 中间件 Java
阿里终面:业务主表读写缓慢如何优化?
阿里终面:业务主表读写缓慢如何优化?
|
持续交付 测试技术 Devops
带你读《软件项目管理案例教程(第4版)》之三:生存期模型
本书以案例形式讲述软件项目管理过程,借助路线图讲述项目管理的理论、方法及技巧,覆盖项目管理十大知识域的相关内容,重点介绍软件这个特殊领域的项目管理。本书综合了多个学科领域,包括范围计划、成本计划、进度计划、质量计划、配置管理计划、风险计划、团队计划、干系人计划、沟通计划、合同计划等的制定,以及项目实施过程中如何对项目计划进行跟踪控制。该书取材新颖,注重理论与实际的结合,通过案例分析帮助读者消化和理解所学内容,既适合作为高等院校计算机、软件及相关专业高年级本科生和研究生的教材,也适合作为广大软件技术人员和项目经理培训的教材,还可作为软件开发项目管理人员的参考书。
Uma
|
存储 运维 数据库
运维宝典 | 数据千万条,备份第一条,数据找不回,老板两行泪
请带着你的回忆看下文,想想你这些年删过的库,被删过的库。。。
Uma
6219 0
|
弹性计算 容灾 大数据
黑科技揭秘:阿里云如何做到从业务宕机到恢复业务运行只用一分半钟时间
企业关键业务宕机会带来非常大的损失,而传统的自建容灾方案成本高昂运维复杂,因此高性能的云容灾服务正在成为企业业务持续性保障的优先选择。混合云容灾服务(HDR)-关键业务型的演示完整呈现了将本地服务器上运行的报账系统实时容灾复制到阿里云,并在出现宕机后在云上快速拉起恢复业务的全过程。
3387 0

热门文章

最新文章