大数据应用开发八大基本原则

简介: <p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15px; line-height: 35px;"><strong>大数据应用正在从概念走

大数据应用正在从概念走向现实,而企业在大数据应用开发时,软件的弹性(Resilient)正在成为决定大数据应用成败的关键因素。弹性差的应用无法应对大规模的数据集,在测试和运营中也缺乏透明度,而且也不安全。

                                                    

·        避免大数据应用在生产环境中掉链子的最佳办法就是在开发阶段就开发弹性应用,例如:健壮性、经过测试、可改变、可审计、高安全、可监控。

·        可以说,开发出弹性大数据应用既是一个技术工作,也是一个哲学问题。Concurrent的SupreetOberoi近日撰文提出大数据应用开发八大基本原则:

·        一、为弹性大数据应用描绘一个蓝图

·        第一步是为企业大数据应用创建一个系统的架构和方法,要处理什么数据?那些类型的分析最重要?软件架构需要承载那些指标、审计、安全和运营功能?

·        另外一些需要考虑的问题:那些技术最关键?哪些技术只是图一时之便?你的蓝图需要准确评估当前架构的问题所在。

·        二、数据规模不再是问题

·        如果应用无法处理更大规模的数据集,那么它就缺乏弹性,弹性应用应当能够处理任意规模的数据集(包括数据深度、广度、频度等),数据弹性还只对新技术的兼容,缺乏弹性的应用需要不断配置修改应用来适应不断更新的大数据技术,对于企业来说是时间、资源和金钱上的无底洞。

·        三、透明度

·        对于复杂应用来说,查找扩展性等弹性相关问题还很难实现自动化。关键是锁定问题的根源所在:是代码、数据还是架构抑或网络问题?并非每个应用都要具备这种透明度,但大一些的平台应当具备足够的透明度,让所有开发者和运营人员都能在问题发生时立刻找到根源并采取措施。

·        一旦发现问题,最为关键的是将找到应用行为对应的代码——最好是通过发现问题的监控应用。大多数情况下,访问代码会涉及到多个开发人员,执行起来流程将非常曲折。

·        四、抽象,事关高效和简洁

·        弹性应用总是面向未来的,通常采用抽象层来简化开发、提升效率,允许采用不同的技术实现。作为架构的一部分,弹性开发的抽象层能够避免开发者陷入技术实现的细节泥潭中。简洁性则能方便数据科学家使用应用访问所有类型的数据源。如果没有抽象技术,产品的生产力会大打折扣,修改成本增高,而用户则为复杂性所困扰。

·        五、安全:审计与合规

·        弹性应用能自我审计,能够显示谁使用了应用,谁有权限使用,访问了哪些数据以及政策如何实施。在应用开发阶段就将这些功能考虑进去是应对日益增长的大数据隐私、安全、治理和控制挑战的关键所在。

·        六、完整度与测试驱动的开发

·        弹性应用的一个基本要求就是不能遗失任何数据,数据完整性的丧失往往会导致严重的后果,例如金融企业会因为程序代码弄丢了一两行交易数据而在反洗钱或金融欺诈调查中遭受处罚。

·        七、数据便携性

·        不断发展的业务需求驱动技术不断做出改变,因此,大数据应用也应当能够在多个平台和产品上运行。最终的目标是让最终用户能够通过SQL和标准API访问数据(无论是否实时)。例如,一个先进的大数据平台应当允许原本由Hadoop存储MapReduce处理的数据,转移到Spark或Tez中进进行处理,而且这个过程不需要或尽可能少地改动代码。

·        八、不要搞个人主义

·       大数据应用的开发不应当依赖某个高手的个人才华,代码应当在多个开发者之间分享、评估和保有。这个策略让整个团队,而不是个人,对应用质量负责。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
7月前
|
分布式计算 Java 大数据
大数据Spark IDEA应用开发
大数据Spark IDEA应用开发
54 0
|
10月前
|
人工智能 网络协议 大数据
大数据产业博览会上提出了“人工智能103.36.166伦理杭州BGP四原则”
大数据产业博览会上提出了“人工智能103.36.166伦理杭州BGP四原则”
|
数据采集 存储 监控
大数据治理系列:1 谈谈大数据治理的核心原则
当业务和IT专业人员第一次谈到大数据治理的时,许多人对大数据治理的复杂性感到不知所措。系统的数量和相互竞争的业务日程将如此多的变量混杂在一起,以至于手头的任务似乎无法管理。
大数据治理系列:1 谈谈大数据治理的核心原则
|
机器学习/深度学习 大数据 云计算
|
2月前
|
分布式计算 DataWorks IDE
MaxCompute数据问题之忽略脏数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
47 0
|
2月前
|
SQL 存储 分布式计算
MaxCompute问题之下载数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
38 0
|
2月前
|
分布式计算 关系型数据库 MySQL
MaxCompute问题之数据归属分区如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
35 0
|
2月前
|
分布式计算 DataWorks BI
MaxCompute数据问题之运行报错如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
38 1