大数据SaaS应用落地经验分享

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 在过去几年中,我们自己开发的大数据SaaS应用大数据实验室采用混合云体系结构在全国各地进行了几十次部署。在实际使用过程中,遇上了非常多的问题。本文主要分享在实际软件开发和维护过程中遇上的各种问题和解决方案分享。

在过去几年中,我们自己开发的大数据SaaS应用大数据实验室采用混合云体系结构在全国各地进行了几十次部署。在实际使用过程中,遇上了非常多的问题。本文主要分享在实际软件开发和维护过程中遇上的各种问题和解决方案分享。
# - 一、大数据实验室介绍
大数据SaaS应用大数据实验室是指:旨在帮助大数据从业人员和学生更好地了解和学习大数据产品以及各种大数据真实案例,快速进行大数据科研创新的软件产品包。大数据实验室作为一站式大数据实训和科研创新平台,为各行业用户提供简单易用的大数据真实环境,让数据价值触手可及。用户可通过简单快捷的可视化操作,对各种大数据进行数据采集、数据加工、数据开发、数据管理、数据分析和机器学习等操作,快速探索各种大数据创新应用。
大数据实验室底层采用混合云架构,中间层部署了一系列PaaS引擎,上层部署了软件包和课程包的SaaS应用,具体如下图所示:
2000.png

  1. 大数据实验室后台支撑平台: 部署在高配的阿里云ECS+RDS+OSS上,并根据访问负载扩容ECS带宽。大数据实验室后台支撑平台主要完成大数据实验室整体架构的搭建,负责整个实验室的安全管理、资源调度、权限管控等,完成分布式环境下每个用户都拥有自己独立的多租户,相互之间的数据、文件和项目都实现完全隔离。
  2. 离线分布式计算平台引擎:公有云采用阿里云云原生大数据计算服务 MaxCompute,私有云采用Apache Hadoop 3.0+ Apache Spark 3.2 。通过混合云对接模块,大数据实验室实现上层SaaS应用与底层公有云和私有云离线分布式计算资源的对接。公有云环境下,针对每个用户每个单独的实验开辟出独立的公共云资源,完成相应的驱动转换,保障每个用户都在独立的多租户环境中完成相应的实验。支持RAM子账号模式,支持多个学生消费的云资源在同一个主账号进行计费。私有云环境下,针对每个具体实践开辟出独立的虚拟机资源,生成多租户实践环境。
  3. 机器学习平台: 公有云采用阿里云机器学习平台PAI, 私有云主要使用开源TensorFlow 2.0。通过混合云对接模块,大数据实验室实现上层SaaS应用与底层公有云和私有云机器学习平台计算资源的对接。
  4. 大数据ETL引擎: 公有云采用阿里云大数据开发治理平台 DataWorks,私有云采用开源Kettle等。通过混合云对接模块,大数据实验室实现与底层大数据ETL引擎功能对接,支持实验数据、案例数据和科研数据的的导入导出等功能。数据接口提供多种方式支持,比如service接口方式、数据文件导出支持(CSV、TXT等)、数据文件的导入支持等。
  5. 数据可视化和BI报表引擎: 公有云采用阿里云报表工具QuickBI和数据可视化大屏引擎DATAV, 私有云采用开源工具Echarts等;
  6. 中间层PaaS引擎: 公有云主要使用阿里云提供的各种PaaS引擎服务,私有云部分主要基于开源引擎提供相应的功能;
  7. 上层SaaS应用: 具体包括实训室的管理功能、科研平台的管理功能、混合云负载管理功能等。

# - 二、实际使用过程中遇上的问题
过去几年我们在全国部署了很多套大数据实验室,随着大数据实验室部署的客户越来越多和每个用户内部使用人数的扩大,大数据实验室后台支撑平台公有云访问峰值用户数超过了10万人,每个用户现场部署的私有云峰值访问用户数也超过了千人。随着业务负载越来越大,整个大数据实验室系统遇上了各种性能相关的问题。同时,随着阿里云各个底层平台的升级, 构建在其上的大数据实验室SaaS软件不兼容的问题也逐步凸显。以下是总结后遇上的部分问题:
1. 业务负载压力上升过快, 现有ECS带宽负载吃紧, 无法满足大数据实验室业务峰值时访问负载需求。
2. 在私有云环境中,原生Apache HIVE集群访问并发受限,当业务负载升级到千人以上出现集群不响应现象。
3. 混合云用户管理无法做到统一,公有云和私有云底层平台用户和大数据实验室用户管理系统出现杂乱现象,版本升级时容易出现问题。
4. 多个集群的统一管理遇上问题,底层使用的各种公有云集群和私有云集群各种资源,如何做到统一管控是一个系统性问题。
5. 在业务峰值时,系统负载不均衡现象越来越严重。随着互联网技术的发展,大并发和海量数据处理场景越来越普遍,很多用户所使用的SaaS软件也逐步过渡到分布式架构体系中来。我们在实际部署SaaS软件的过程中,逐步发现在应用上层面临着越来越大的压力,瞬间访问负载激增的情况下SaaS应用面临访问崩溃的风险。

# - 三、相关问题解决经验分享
经过多个项目的实际试错和调整,上述问题目前采用如下方式进行了初步解决:
1. 针对业务负载持续上升的问题,主要通过以下方式进行解决:
a) 首先对ECS带宽进行扩容,从整体上保障业务运行所需的带宽资源。
b) 其次是优化SaaS软件中所有交互相关的内容资源,比如课程包中的PDF文档、数据文件、PPT和视频等,都是需要高并发的同时打开, 非常消耗带宽资源,通过优化和压缩内容资源的大小, 整体降低所需带宽资源负载需求。
c) 最后尝试对内容资源进行序列化并通过压缩算法将内容资源进一步压缩大小,从而提升现有带宽利用效率。
2. 针对在私有云环境中,原生Apache HIVE集群访问并发压力过大的问题,主要通过以下几种方式进行解决:
a) 在架构上,针对高并发访问需求的用户, 在实际部署过程中通过部署多个Apache Hive集群的方式予以解决。
b) 同时弹性负载均衡组件负责调度用户访问需求,防止热点数据节点出现。
3. 针对混合云用户管理杂乱的现象,主要通过以下方式进行解决:
a) 从架构上进行优化,增加混合云用户管理模块,并增加一层映射,以大数据实验室内部用户和权限管理为主,并分别对应其所需访问的底层集群资源用户名、密码和访问权限等。
b) 从运维部署角度,提供公有云RAM子账户和私有云集群账户创建初始化脚本和模板,进一步简化部署难度。
4. 针对多个集群的统一管理和调度的问题,主要在架构层面进行优化,增加多集群管控组件用来来解决混合云环境下多个大数据集群、机器学习机器的集成管控问题,统一协调负载实现实验室整体高可用和高并发访问,具体包括以下功能:
a) 混合云架构下底层多种大数据集群和机器学习集群的统一管控
b) 解决私有云环境下Hadoop机器以及Spark集群并发负载偏小的问题,通过并发多集群的方式实现整体实验室环境的高可用和高并发
c) 解决公有云环境下多种大数据ETL机器、大数据离线分布式计算机器、流计算机器和机器学习机器的集中管控问题
5. 针对在业务峰值时,系统负载不均衡现象,主要通过以下方式进行解决:
a) 在系统整体层面,新增负载均衡组件,通过对多台云服务器进行均衡的流量分发调度,消除单点故障提升应用系统的可靠性与吞吐力。
b) 负载均衡组件通过使用散列函数(Hash function)进行负载均衡分发,在应用层弹性负载均衡主要基于散列函数(Hash function)的方式实现,并在后续版本迭代过程中将散列函数升级为一致性哈希算法。
c) 散列函数(Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。--维基百科散列函数定义。
d) 在软件开发过程中,我们主要通过散列表(哈希表)的方式存储相应的数据记录,支持弹性负载均衡组件可以使用散列表快速检索和查询到相关的数据记录以便进行负载分发。
e) 在新的弹性负载均衡开发过程中,引入分布式散列表(DHT),也就是使用分布式散列表DHT取代传统的散列表,通过使用一致性哈希来划分分布式系统的节点。 通过使用一致性哈希算法,优化弹性负载均衡的分发过程,相比于传统哈希表中添加或者删除一个槽位基本上需要对所有的关键字进行重新映射,在使用一致性哈希算法时,哈希表槽位数的改变平均来看只需要对K/N 个关键字重新映射(K:关键字数量; N: 槽位数量)。一致性哈希算法最早是由麻省理工学院(MIT)的Karger等人提出的,其在1997年发表的《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web.》学术论文中介绍了如何使用一致性哈希算法解决分布式Web服务中用户易变的问题。
2001.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
98 1
|
1月前
|
存储 分布式计算 druid
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
59 1
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
ly~
|
1月前
|
供应链 搜索推荐 安全
大数据模型的应用
大数据模型在多个领域均有广泛应用。在金融领域,它可用于风险评估与预测、智能营销及反欺诈检测,助力金融机构做出更加精准的决策;在医疗领域,大数据模型能够协助疾病诊断与预测、优化医疗资源管理和加速药物研发;在交通领域,该技术有助于交通流量预测、智能交通管理和物流管理,从而提升整体交通效率;电商领域则借助大数据模型实现商品推荐、库存管理和价格优化,增强用户体验与企业效益;此外,在能源和制造业中,大数据模型的应用范围涵盖从需求预测到设备故障预测等多个方面,全面推动了行业的智能化转型与升级。
ly~
113 2
ly~
|
1月前
|
供应链 搜索推荐 大数据
大数据在零售业中的应用
在零售业中,大数据通过分析顾客的购买记录、在线浏览习惯等数据,帮助零售商理解顾客行为并提供个性化服务。例如,分析网站点击路径以了解顾客兴趣,并利用历史购买数据开发智能推荐系统,提升销售和顾客满意度。此外,大数据还能优化库存管理,通过分析销售数据和市场需求,更准确地预测需求,减少库存积压和缺货现象,提高资金流动性。
ly~
324 2
ly~
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
大数据在智慧金融中的应用
在智能算法交易中,深度学习揭示价格波动的复杂动力学,强化学习依据市场反馈优化策略,助力投资者获取阿尔法收益。智能监管合规利用自然语言处理精准解读法规,实时追踪监管变化,确保机构紧跟政策。大数据分析监控交易,预警潜在违规行为,变被动防御为主动预防。数智化营销通过多维度数据分析,构建细致客户画像,提供个性化产品推荐。智慧客服借助 AI 技术提升服务质量,增强客户满意度。
ly~
121 2
ly~
|
1月前
|
供应链 监控 搜索推荐
大数据的应用场景
大数据在众多行业中的应用场景广泛,涵盖金融、零售、医疗保健、交通物流、制造、能源、政府公共服务及教育等领域。在金融行业,大数据用于风险评估、精准营销、反欺诈以及决策支持;零售业则应用于商品推荐、供应链管理和门店运营优化等;医疗保健领域利用大数据进行疾病预测、辅助诊断和医疗质量评估;交通物流业通过大数据优化物流配送、交通管理和运输安全;制造业则在生产过程优化、设备维护和供应链协同方面受益;能源行业运用大数据提升智能电网管理和能源勘探效率;政府和公共服务部门借助大数据改善城市管理、政务服务及公共安全;教育行业通过大数据实现个性化学习和资源优化配置;体育娱乐业则利用大数据提升赛事分析和娱乐制作水平。
ly~
427 2
|
2月前
|
存储 数据可视化 大数据
大数据管理与应用
大数据管理与应用是一门融合数学、统计学和计算机科学的新兴专业,涵盖数据采集、存储、处理、分析及应用,旨在帮助企业高效决策和提升竞争力。核心课程包括数据库原理、数据挖掘、大数据分析技术等,覆盖数据处理全流程。毕业生可从事数据分析、大数据开发、数据管理等岗位,广泛应用于企业、金融及互联网领域。随着数字化转型加速,该专业需求旺盛,前景广阔。
138 5
|
2月前
|
存储 搜索推荐 大数据
大数据在医疗领域的应用
大数据在医疗领域有广泛应用,包括电子病历的数字化管理和共享,提升医疗服务效率与协同性;通过数据分析支持医疗决策,制定个性化治疗方案;预测疾病风险并提供预防措施;在精准医疗中深度分析患者基因组信息,实现高效治疗;在药物研发中,加速疗效和副作用发现,提高临床试验效率。此外,在金融领域,大数据的“4V”特性助力业务决策前瞻性,被广泛应用于银行、证券和保险的风险评估、市场分析及个性化服务中,提升运营效率和客户满意度。
135 6
|
1月前
|
存储 前端开发 数据库
一文搞懂SaaS应用架构:应用服务、应用结构、应用交互设计
【10月更文挑战第21天】本文介绍了 SaaS 应用服务的多租户服务、安全服务和更新与维护服务,以及 SaaS 应用的前后端结构和交互设计。多租户服务涉及数据隔离和资源分配;安全服务包括身份认证与授权及数据安全;更新与维护服务涵盖版本管理和技术支持。前端结构关注用户界面设计和前端技术选型;后端结构则涉及微服务架构和数据库管理。交互设计强调租户与应用的交互和应用内部模块间的交互。
149 0
|
2月前
|
机器学习/深度学习 数据可视化 大数据
阿里云大数据的应用示例
阿里云大数据应用平台为企业提供高效数据处理与业务洞察工具,涵盖Quick BI、DataV及PAI等核心产品。DT203课程通过实践教学,帮助学员掌握数据可视化、报表设计及机器学习分析技能,提升数据驱动决策能力。Quick BI简化复杂数据分析,DataV打造震撼可视化大屏,PAI支持全面的数据挖掘与算法应用。课程面向CSP、ISV及数据工程师等专业人士,为期两天,结合面授与实验,助力企业加速数字化转型。完成课程后,学员将熟练使用阿里云工具进行数据处理与分析。[了解更多](https://edu.aliyun.com/training/DT203)
下一篇
无影云桌面