Apache Storm源码阅读笔记&OLAP在大数据时代的挑战

简介: 自从建了Spark交流的QQ群之后,热情加入的同学不少,大家不仅对Spark很热衷对于Storm也是充满好奇。大家都提到一个问题就是有关storm内部实现机理的资料比较少,理解起来非常费劲,下文分享Apache Storm源码阅读笔记 &OLAP在大数据时代的挑战。

 <一>Apache Storm源码阅读笔记

楔子

自从建了Spark交流的QQ群之后,热情加入的同学不少,大家不仅对Spark很热衷对于Storm也是充满好奇。大家都提到一个问题就是有关storm内部实现机理的资料比较少,理解起来非常费劲。

尽管自己也陆续对storm的源码走读发表了一些博文,当时写的时候比较匆忙,有时候衔接的不是太好,此番做了一些整理,主要是针对TridentTopology部分,修改过的内容采用pdf格式发布,方便打印。

文章中有些内容的理解得益于徐明明和fxjwind两位的指点,非常感谢。

storm.pd...[许鹏].1473672493.pdf 

<二>OLAP在大数据时代的挑战

数据的价值

在涉及具体的技术前,先想一想为什么需要OLAP这样的系统,它有什么价值或者说在公司或部门这是不可取代的么? 可以带来哪些价值,是直接变现还是间接变现。 如果不能回答或回答不了,那么就是一个很大的问题,这其实意味着数据的质量存在问题。没有质量的数据,体量再大也毫无价值。

数据存储

假设已经有很好的oltp系统,那么oltp系统在数据量不大的情况下,继续扮演olap角色也还可以。一旦业务红火,那么oltp中的analyze部分势必会分离出来,也就是olap和oltp相互单独存在。

olap中存储大量历史数据,数据存储成了olap中要解决的第一个也是首要问题,这个需求的解决方案有多种,可以是HDFS,也可以是NoSQL数据库,也可以是Distributed RDBMS,当中的取舍要视具体情况而定。后面会涉及具体的考虑维度。

数据同步和ETL

如何将数据从oltp迁移到olap,这个同步机制需要考虑数据一致性,zero data-loss, 实时性要求等等。

数据查询

在大量甚至是海量的历史数据中如何快速定位到所要符合条件的记录? 数据量如果在TB级以上,就需要考虑使用solr或是elasticsearch

数据分析

花了好多代价保存下来的海量数据,只是用了做简单明细查询,任何老板都不能容忍,一定要在历史的数据进行复杂的分析才行。这时候有一个好的分布式计算引擎就很有必要了。如spark/presto/impala

数据挖掘

数据挖掘是一种比数据分析更为复杂的数据分析,呵呵,个人理解,有些绕。这个时候什么算法啦,什么机器学习啦,可以上场了。

big data or fast data

数据分析中还需要考虑到另一个重要约束就是时间,如果希望分析结果愈快愈好,那么就需要采用如druid这样的系统。

结果

如果数据规模在10TB以下,数据包含结构化和半结构化数据,明细查询中条件比较固定,不存在全文搜索。需要在比较短的时间内如秒级得到复杂分析结果,可以考虑使用distributed rdbms.

如果数据规模远远超过10TB,那么就需要将数据存储/数据查询/数据分析交由不同的系统来处理,这个时候就需要组成一个技术栈来解决总量。如HDFS/solr or elasticsearch/Spark or Presto or Impala. 为了提升分析的效率,除了从distributed computing engine侧进行优化之外,还需要从存储侧进行优化,采用先进的存储格式如parquet/orc/carbondata将会极大的提升分析性能。

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
3月前
|
监控 数据可视化 安全
Spring Cloud可视化智慧工地大数据云平台源码(人、机、料、法、环五大维度)
智慧工地平台是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实现全面高效的工程管理需求,满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效,为监管平台提供数据支撑。
57 2
|
3月前
|
机器学习/深度学习 SQL 分布式计算
Apache Spark 的基本概念和在大数据分析中的应用
介绍 Apache Spark 的基本概念和在大数据分析中的应用
157 0
|
28天前
|
存储 缓存 负载均衡
【Apache ShenYu源码】如何实现负载均衡模块设计
整个模块为ShenYu提供了什么功能。我们可以看下上文我们提到的工厂对象。/***/核心方法很清晰,我们传入Upsteam列表,通过这个模块的负载均衡算法,负载均衡地返回其中一个对象。这也就是这个模块提供的功能。
17 1
|
30天前
|
Java API Apache
【Apache ShenYu源码】看看贡献者如何实现支持提醒通知设计
在阅读中,还发现了有个html文件忘记加了开源协议,我们提下PR修复下,又收获了一次开源贡献!!PR提交戳这。
22 1
【Apache ShenYu源码】看看贡献者如何实现支持提醒通知设计
|
1月前
|
分布式计算 大数据 Apache
大数据技术变革正当时,Apache Hudi了解下?
大数据技术变革正当时,Apache Hudi了解下?
25 0
|
1月前
|
存储 数据处理 Apache
万字长文 | 泰康人寿基于 Apache Hudi 构建湖仓一体平台的应用实践
万字长文 | 泰康人寿基于 Apache Hudi 构建湖仓一体平台的应用实践
69 0
|
1月前
|
安全 Java 大数据
基于大数据的旅游系统的设计与实现(论文+源码)_kaic
基于大数据的旅游系统的设计与实现(论文+源码)_kaic
|
1月前
|
传感器 供应链 数据可视化
智慧物流大数据的设计与实现(论文+源码)_kaic
智慧物流大数据的设计与实现(论文+源码)_kaic
|
2月前
|
Java
apache-incubator-streampark源码编译本地运行(七)
apache-incubator-streampark源码编译本地运行(七)
37 1
|
2月前
|
SQL 并行计算 大数据
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)
关于Flink服务的搭建与部署,由于其涉及诸多实战操作而理论部分相对较少,小编打算采用一个独立的版本和环境来进行详尽的实战讲解。考虑到文字描述可能无法充分展现操作的细节和流程,我们决定以视频的形式进行分析和介绍。因此,在本文中,我们将暂时不涉及具体的搭建和部署步骤。
494 3
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)

推荐镜像

更多