基于TableStore/MaxCompute的数据采集分析系统介绍

摘要
在互联网高度发达的今天,ipad、手机等智能终端设备随处可见,运行在其中的APP、网站也非常多,如何采集终端数据进行分析,提升软件的品质非常重要,例如PV/UV统计、用户行为数据统计与分析等。虽然场景简单,但是数据量大,对系统的吞吐量、实时性、分析能力、查询能力都有较高的要求,搭建起来并不容易。今天我们来介绍一下基于阿里云表格存储,以及相关的大数据产品来采集与分析数据的方案。
点此查看原文
TableStore
TableStore(表格存储)是阿里云自主研发的专业级分布式NoSQL数据库,是基于共享存储的高性能、低成本、易扩展、全托管的半结构化数据存储平台,支撑互联网和物联网数据的高效计算与分析。

目前不管是阿里巴巴集团内部,还是外部公有云用户,都有成千上万的系统在使用。覆盖了重吞吐的离线应用,以及重稳定性,性能敏感的在线应用。表格存储的具体的特性可以看下面这张图片。

图片描述

基于TableStore的数据采集分析系统
一个典型的数据采集分析统计平台,对数据的处理,主要由如下五个步骤组成:
图片描述

对于上图流程的具体实现,网上有许多可以参考的案例,数据在客户端采集完以后,如果量比较小,我们可能直接在后端的API上做一次透传,然后持久化到RDBMS类型的数据库中就好了,通过Sql可以进行数据分析。如果数据量很大,就需要一些中间件来辅助收集和上传,然后分别将数据写入到在线和离线的系统中,比如先上传到Flume,Flume可以做数据的采集与聚合,再将Flume作为消息的生产者,将生产的消息数据通过Kafka Sink发布到Kafka中,Kafka作为消息队列的角色,可以对接后端的在线和离线计算平台。如下图所示:
图片描述

引入Flume和Kafka的原因有很多,比如他们可以处理大流量的数据、做数据聚合、保证数据不丢失等,但最关键的原因是他们拥有高吞吐的能力。引入的组件多,系统的复杂性和成本也会相应的增加,上图中,Spark Streaming/Storm分析完成以后,结果数据还需要引入另外的存储组件进行存储,比如HBase/MySQL,如果引入MySQL可能还需要再引入Redis做热点数据缓存,这样一来就更加复杂了。
我们尝试一种基于TableStore和阿里云其他大数据产品的新方案,我们先看架构图:
图片描述

图中关键路径分析:
1、Web页、APP等客户端先通过埋点系统收集数据,然后通过表格存储的SDK将数据写入TableStore的原始数据表。
2、MaxCompute直读TableStore原始数据表的数据进行分析,然后QuickBI读取MaxCompute的数据进行展示,具体操作可参考:MaxCompute直读直写表格存储、QuickBI新建云数据源。
3、TableStore原始数据表中的数据可增量同步到ElasticSearch或者openSearch中,同步方法参考:TableStore数据同步到ElasticSearch,TableStore数据同步到OpenSearch。
4、TableStore中的数据可增量同步到Blink/Flink进行分析,分析完以后的数据再写回TableStore的结果数据表中,DavaV读取结果数据表的数据进行展示。

新架构优势分析:
1、客户端数据直读直写TableStore,不需要再引入API层进行数据透传,降低了复杂度,对于大型应用来说也减少了不少的服务器成本。
2、TableStore已经对接了丰富了大数据组件,包括阿里云的大数据产品和开源大数据产品,数据的同步与读写非常容易。
3、实时分析与离线分析后的结果数据再写回TableStore,DataV直接读取结果数据进行展示,因为TableStore具备高性能与高吞吐特点,不需要再引入Redis等缓存组件,可以简化整个系统。

直读直写安全问题:
关于数据直读直写TableStore,大家可能都会想到一个安全的问题,客户端直连TableStore不是要把AccessKey和AccessId暴露在客户端吗?答案是不用,我们使用STSToken授权访问TableStore,过程如下图所示:
图片描述

TableStore提供的SDK都支持使用STS授权的方式进行访问,示例可参考TableStore NodeJs SDK使用STSToken,使用STS方式访问TableStore需要控制好授权策略,客户端不需要的接口请不要授权。

浏览器跨域访问TableStore:
如果在浏览器端直接访问TableStore,由于浏览器有同源策略的限制,会产生跨域问题。因为TableStore的EndPoint域名与用户Web站点的域名不同。解决这个问题的思路有两个:一是Web端不直接访问TableStore,改为先请求自己的Web Server端,Web Server端再使用TableStore SDK来发起请求,这样其实就是后端访问了,问题解决了但也没了我们直读直写的优势;二是TableStore服务端通过某种方式直接支持js跨域请求,这条路我们正在支持当中,当前处于开发阶段,支持的方式是cors协议支持跨域。但目前也有快捷的支持方式,如果您有浏览器直接访问TableStore的需求,可以直接联系我们,支持起来也很快。

总结
表格存储因其高性能、高吞吐、高可靠的特性,使得它在数据采集这种对后端吞吐要求很高的场景下非常适用,客户端数据直读直写表格存储,也为后端节省了中间层数据流转这一层服务,减少了复杂性也节省了成本。另外,表格存储对接了丰富的计算、分析、展示工具可以覆盖数据采集与分析的几乎所有场景,本文所介绍的周边组件也只涵盖了一部分,更多的示例与说明请参考表格存储用户指南。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【干货索引】阿里云大数据计算服务MaxCompute与生态系统的融合

摘要: MaxCompute大家都不陌生,之前产品名称叫ODPS,之后随国际化而更名。从支持阿里集团内部99%数据业务到计算能力对外输出,帮助政府、互联网公司、金融等进行大数据项目服务,使得数据变现。很多开发者都会把MaxCompu…

mysql event 变量_mysql 中event的用法

二、适用范围对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理。例如:使用event在每月的1日凌晨1点自动创建下个月需要使用的三张表。三、使用权限开启event :(1)执行 SET GLOBAL eve…

第3篇:Flowable-IDM详述

接上一篇: 第2篇:Flowable启动 https://blog.csdn.net/weixin_40816738/article/details/102875324 文章目录一、Flowable-IDM功能二、Flowable-IDM登录地址三、Flowable-IDM登录用户和页面四、Flowable-IDM用户管理页面五、Flowable-IDM用户组管理页面六…

比“5G有多快”更重要的,是5G将带来哪些改变

戳蓝字“CSDN云计算”关注我们哦!“速度,其实是5G最无聊的应用。”北京邮电大学20岁的何同学,在他制作的一个火遍全网的视频中,用这句话结尾。5G,对我们普通人而言,是个熟悉又陌生的词。由于它是中美贸易战…

阿里云新推出 HiTSDB + IoT套件 物联网设备上云步入快车道

摘要: 阿里云针对物联网企业遇到的5大痛点,提供了HiTSDB IoT 套件的一体化解决方案,能够支持物联设备快速上云,高效设备管理,数据安全,低成本海量数据存储,实时掌握设备状态,快速发现…

阿里云 MVP技术直播——缪政辉教你如何搭建万能LNMP环境

摘要: 阿里云 MVP 缪政辉开直播咯!快把这个好消息告诉你身边热爱技术,喜欢云计算的同学! 缪政辉是谁? 网名妙正灰,真名和网名读法一致。阿里云第三季新晋MVP,电商在读大学生。云计算领域罕见的文…

第4篇:Flowable-Modeler详述之流程概述

接上一篇 第3篇:Flowable-IDM详述 https://blog.csdn.net/weixin_40816738/article/details/102885902 文章目录一、Flowable-Modeler功能1. 提供可视化编辑器2. 提供可视化参数配置3. 提供导入导出功能二、Flowable-Modeler界面之流程介绍三、Flowable-Modeler之创…

数据库mysql中贴换函数_关于一个自定义MYSQL函数,实现点击链接后,在数据库里改变数据的问题。...

展开全部嗯... 回答你这个问题比较纠62616964757a686964616fe4b893e5b19e31333332626161结, 因为看情况你已经完全把前端代码和后台代码混为一谈了.那么下面就容忍我废话一点吧, 我也只能这样回答你的问题了.#首先简述一下数据交互的原理:前台向服务器发出GET请求或POST请求来请…

MaxCompute - ODPS重装上阵 第四弹 - CTE,VALUES,SEMIJOIN

摘要: MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外,也致力于提升SQL语言的用户体验和表达能力…

Kubernetes端到端解决方案Part3:如何正确部署Kubernetes

戳蓝字“CSDN云计算”关注我们哦!在之前的文章中我们向您介绍了Kubernetes的入门挑战以及如何执行端到端的即服务解决方案。本篇文章,我们将继续探讨如何正确部署Kubernetes,并探索服务编排解决方案。01如何正确部署Kubernetes?在我们进一步…

浅谈PyODPS

摘要: 在我看来,PyODPS就是阿里云上的Python。值得注意的是,这里的定语“阿里云上的”一定不能精简掉,因为PyODPS不等于单机版的Python! 点此查看原文 目录 我眼中的PyODPS 安装和升级PyODPS版本 PyODPS的牛刀小试 …

第5篇:Flowable-Modeler详述之开发环境搭建

接上一篇: 第4篇:Flowable-Modeler详述之流程概述 https://blog.csdn.net/weixin_40816738/article/details/102886712 文章目录一、环境搭建1. 下载/安装jdk2. 安装mysql 5.73. 安装idea4. 配置maven4.1. 配置maven仓库4.2. mirrors中添加阿里服务器4.3…

mysql选中一行数据_获取table选中一行数据库

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

【2018开年知识盛会】15位大咖直播分享,全方位解析NoSQL数据库

摘要: 2018年开年伊始,阿里云数据库团队将为大家带来一场别开生面的知识盛会,15位大咖汇聚云栖社区,带来18小时数据库干货分享! 点此查看原文 2018年开年伊始,阿里云数据库团队将为大家带来一场别开生面的知…

SUSE,为企业云原生打造多模平台

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!如今,数字化转型已经成为大势所趋,没有完成数字化转型的企业将…

云端资源,“掌”握手中 ——关于 阿里云 App你不知道的五件事

摘要: 如果购买过阿里云的产品,亦或是关注着云计算的发展,那么你应该听说过阿里云官方推出的这款移动端应用 —— “阿里云 App”,它是云厂商中较早推出的移动端应用,功能较其他云厂商的移动端应用更为丰富。通过关注核…

php mysql5.7.110安装教程_MYSQL教程mysql5.7.19 winx64安装配置方法图文教程(win10)

《MYSQL教程mysql5.7.19 winx64安装配置方法图文教程(win10)》要点:本文介绍了MYSQL教程mysql5.7.19 winx64安装配置方法图文教程(win10),希望对您有用。如果有疑问,可以联系我们。mysql 5.7.19 winx64安装教程记录如下,分享给大家MYSQL数据库…

Mysql代码生成器转Oracle代码生成

Mysql代码生成转Oracle代码生成 文章目录1. 删除/替换数据2. 新增database_info表3. 插入默认数据库4. 修改数据库操作工具类(重点是查询sql)5. 修改生成(menu_sql.sql.btl)模板6. 表结构替换附上:修改后的Oracle执行sqldrop tables1. 删除/替…

提升普适性,阿里云官方SDK发布支持Go语言SDK

摘要: 日前,阿里云官方SDK发布支持新语言——Go 语言SDK,意味着90%以上产品可以随时生成并发布Go SDK,给Go语言的开发者使用。 此次阿里云发布支持Go SDK的新功能,可以让Go语言开发者更加便捷地使用SDK调用产品API来操…

Spring精华问答 | 为何使用Spring?

Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持。今天就让我们来看看关于Spring的精华问答吧。1Q:Spring的目标是什么?A:Spring官方主页(http://spring.io)有…