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

摘要: 摘要 在互联网高度发达的今天,ipad、手机等智能终端设备随处可见,运行在其中的APP、网站也非常多,如何采集终端数据进行分析,提升软件的品质非常重要,例如PV/UV统计、用户行为数据统计与分析等。虽然场景简单,但是数据量大,对系统的吞吐量、实时性、分析能力、查询能力都有较高的要求,搭建起来并不容易。

摘要

在互联网高度发达的今天,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的需求,可以直接联系我们,支持起来也很快。
作者:boxiao

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

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

相关文章

c语言指针怎样代替二维数组,c语言 指针和二维数组

// 指针和二维数组#include int main(int argc, const char * argv[]){int a[3][6];for (int i0; i<3; i) {for (int j0; j<6; j) {a[i][j]ij;}}//输出数组元素for (int i0; i<3; i) {for (int j0; j<6; j) {printf("%d\t",a[i][j]);}printf("\n&qu…

idea 暂存文件或idea切换分支代码不见了

idea切换分支时&#xff0c;修改过的代码文件全部不见了 找了一下问题&#xff0c;切换分支时&#xff0c;idea自动会创建暂存文件&#xff0c; 点开&#xff0c;右边View --> 即可显示暂存文件。 点击Apply Stash 即可将暂存文件应用到当前分支。 如果发现此方法还是不行…

微服务架构之「 访问安全 」

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 奎哥来源 | 不止思考应用程序的访问安全又是我们每一个研发团队都必须关注的重点问题。尤其是在我们采用了微服务架构之后&#xff0c;项目的复杂度提升了N个级别&#xff0c;相应的&#xff0c;微服务的安全工作也就更难更复…

用aliplayer如何实现视频的连续播放?

摘要&#xff1a; 场景 假如有多个视频&#xff0c;在上一个视频播放完毕时&#xff0c;自动播放下一个视频&#xff0c;要怎么处理的呢&#xff1f;需要按使用的播放器类型和切换的地址格式&#xff0c;采用不同的实现方式。 直播地址方式 这种方式最简单&#xff0c;h5和flas…

百亿级全网舆情分析系统存储设计

摘要&#xff1a; 前言 在时下互联网信息的浪潮下&#xff0c;信息的传播速度远超我们的想象。微博里一条大V的帖子&#xff0c;朋友圈的一个状态更新&#xff0c;热门论坛的一条新闻&#xff0c;购物平台的购物评价&#xff0c;可能会产生数以万计的转发&#xff0c;关注&…

win10c语言安装未响应,重新安装win10以后,系统总会死机,不响应任何操作,严重影响正常使用。...

各位专业人士您好&#xff1a;我昨天使用微软官网下载的U盘安装介质制作工具制作的U盘&#xff0c;在新买的固态硬盘上安装的win10专业版。在此之后&#xff0c;经常出现程序未响应(安装驱动时几乎各个都未响应)&#xff0c;并且每次都导致系统也不响应&#xff0c;只有鼠标可以…

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

mvn clean install -X -Dmaven.test.skiptrue -P dev 打包报错&#xff1a; No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? idea,项目&#xff0c;maven 也设置了统一的jdk,还是报错&#xff0c; 解决方法1&#xff1a…

面试官:你简历中写用过docker,能说说容器和镜像的区别吗?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | bethal来源 | http://sina.lt/gfmf这篇文章希望能够帮助读者深入理解Docker的命令&#xff0c;还有容器&#xff08;container&#xff09;和镜像&#xff08;image&#xff09;之间的区别&#xff0c;并深入探讨容器和运行中…

IPv6终于要取代IPv4了!阿里云将全面提供IPv6服务

摘要&#xff1a; 近日&#xff0c;中办国办印发《推进互联网协议第六版&#xff08;IPv6&#xff09;规模部署行动计划》&#xff0c;加快推进基于IPv6的下一代互联网规模部署&#xff0c;计划指出到2018年末国内IPv6活跃用户数要达到2亿&#xff0c;2020年末达到5亿&#xff…

日常技术

品茗IThttps://www.pomit.cn/lecture/springunion.html在线Cron表达式生成器http://cron.qqe2.com/视频在线观看https://github.com/Bilibili/flv.jsDevOps-运维点滴记录-51CTO博客https://blog.51cto.com/wzlinux/category6.htmldubbo快速开始http://dubbo.apache.org/en-us/d…

阿里云发布ECS磁盘加密,一键加密,业务0改动

摘要&#xff1a; 当下&#xff0c;数据安全问题层出不穷&#xff0c;数据安全已经成为企业用户的生命线。为了保障用户数据安全&#xff0c;阿里云ECS云服务器正式向全网客户发布了“ECS磁盘加密”功能。 阿里云 ECS 磁盘加密功能可以对云盘和共享块存储加密&#xff0c;并提供…

双向循环链表c语言,双向循环链表的实现与使用

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼首先是节点的创建&#xff1a;创建的时候就要将数据填充到节点中&#xff0c;所以需要传入一个data参数&#xff0c;还需设置两个节点的地址&#xff0c;一个是前节点&#xff0c;一个是后节点也就是setPrev和setNext&#xff0c;之…

SDN精华问答 | 为什么会出现SDN?

SDN火热了好一阵子&#xff0c;无论运营商、政府企业、投资机构&#xff0c;一段时间&#xff0c;不知道SDN、不能甩几个SDN相关的名词术语&#xff0c;似乎都落后于时代了。今天&#xff0c;就来看看关于SDN的精华问答吧。1Q&#xff1a;SDN的本质属性&#xff1f; A&#xff…

一张图看懂2017双11中的网络产品和技术

摘要&#xff1a; 大家都知道&#xff0c;2017年双11又创造了新纪录&#xff0c;全天交易额1682亿&#xff0c;交易峰值32.5万笔/秒&#xff0c;支付峰值25.6W笔/秒&#xff0c;狂欢的背后是极其复杂庞大的技术系统&#xff0c;其中就有大量阿里云云计算相关的产品和技术&#…

开源Elasticsearch云托管服务,专享企业级服务

摘要&#xff1a; 日前&#xff0c;阿里云联合开源官方Elastic联合发布了Elasticsearch新产品。该产品基于开源Elasticsearch及商业版X-Pack插件的云托管服务&#xff0c;保证高性能、高可用&#xff0c;可弹性扩容&#xff0c;并提供企业级权限管控、安全监控告警等高级功能,适…

图书馆信息管理系统程序(c语言),C语言程序设计报告__图书馆信息管理系统.doc...

2014年课程设计成果报告项目&#xff1a; 程序设计C语言课程设计学号&#xff1a; 1304080049姓名&#xff1a;易凡班级&#xff1a;英才1301班专业&#xff1a;电气信息类设计日期&#xff1a;2014年3月至2014年5月指导教师&#xff1a; 刘立峻程序设计&#xff1a; 图书信息管…

Ivanti罗琦:IT服务管理中“拧紧螺丝”要有门道儿!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 刘晶晶Ivanti与科大讯飞的携手合作&#xff01;初听这一消息&#xff0c;阿晶惊讶不已。毕竟科大讯飞擅长语音众所周知&#xff0c;Ivanti更专攻IT服务管理&#xff0c;看似“不相关”的两家企业&#xff0c;却有了某种隐含的…

CDN价格下调25% 阿里云再次冲击国内最低价

摘要&#xff1a; 在刚刚圆满落幕的云栖大会广东分会上&#xff0c;阿里云发布了很多重磅信息&#xff0c;其中不乏很多核心产品折扣幅度调整的信息。令人惊喜的是&#xff0c;阿里云CDN价格再次下调&#xff0c;降幅高达25%。降价完成后&#xff0c;带宽单价最低只需0.54元/Mb…

SpringBoot整合Spring Cloud Alibaba

spring-cloud官方中文文档https://www.springcloud.cc/spring-cloud-dalston.htmlspring-cloud官方文档https://cloud.spring.io/spring-cloud-static/Greenwich.SR1/single/spring-cloud.html#_quick_start_6Spring Cloud Alibaba官方文档https://github.com/alibaba/spring-c…

产品经理教你玩转阿里云负载均衡SLB系列(一):快速入门--什么是负载均衡

摘要&#xff1a; 负载均衡是一种技术&#xff0c;从字面意义上理解&#xff0c;就是让负载(变得)均衡&#xff0c;负载是什么呢&#xff1f;可以理解为工作量、工作强度。用日常生活中的例子来打比方&#xff0c;一群建筑工人&#xff0c;盖一幢楼房&#xff0c;有搬砖的&…