快速,实时处理大量数据,架构如何解?

架构师之路

共 1476字,需浏览 3分钟

 ·

2020-08-17 22:58

随着业务越来越大,数据也是越来越多,怎么能让业务在数据大的时候还能保证快呢。


互联网的业务无外乎线上OLTP场景和线下OLAP场景,这两种场景,数据量增大后,我们应该分别怎么应对呢。


OLTP

在业务初期,单库单表,就能满足绝大部分业务需求,其典型的架构为:

(1)DAS:数据访问层
(2)DB:数据库

当数据量越来越大,例如达到1亿注册量时,我们必然遇到性能和存储瓶颈,这时我们应该怎么做?

此时需要对数据库进行水平切分。

常见的水平切分算法有“范围法”和“哈希法”。

范围切分,一般就是按主键划分,采用区间的方式,将数据水平切分到多个数据库实例上去。
哈希法,一般我们会选定某个业务主键,采用哈希的方式,将数据水平切分到两个数据库实例上去。

通过对比,我们可以发现:
(1)范围切分,实现足够简单,但是存在后续负载不均衡的问题,不同的区间用户活跃度不一样。
(2)哈希法,通过hash随机,能实现数据和负载的均衡,但是扩容后存在hash数据迁移问题。 
画外音:互联网通过水平扩展来应对大流量。

OLAP

在数据量上来后,我们一般都会采用大数据平台进行数据分析。MapReduce 能很好的解决大数据的计算问题,但是我们怎么能让数据更快呢?此时需要对数据进行实时计算了,比如Flink


大数据实时分析主要基于流式数据,也就是数据源源不断的产生,并被计算。Flink 主要处理有界流和无界流两种形式。

(1)有界流,就是通常的批处理,Flink专为固定大小数据集特殊设计的算法,让批处理有出色的性能

(2)无界流的数据必须持续处理,因为输入是无限的,在任何时候输入都不会完成。Flink擅长精确的时间控制和状态化,使得运行时能够推断事件结果的完整性,从而运行任何处理无界流的应用。


Flink以及大数据各种计算引擎,到底怎么实现更大数据、更快处理的呢?相信大家一定愿意更加深入的了解。


福利来了!!!

免费直播,带你走进大数据计算引擎设计精华。


事件:三天突破大数据四大分布式计算引擎

人物:凤凰金融大数据一把手,王端阳老师

时间:8.18-8.20,20:00(先领资料预习,学习效果更好)


DAY1 (8.18)

(1)离线计算和实时计算的应用场景

(2)大数据离线计算框架MapReduce的编程模型

(3)MapReduce实现共同好友推荐的编程思路

(4)共同好友推荐的编程实现案例

(5)如何解决计算过程中遇到的数据倾斜


DAY2 (8.19)

(1)基于内存的大数据计算引擎Spark特性详解
(2)Spark最核心概念弹性分布式数据集RDD
(3)使用Scala编程语言实现网页浏览量统计
(4)理解数据处理系统的分类和特征
(5)从MR到Spark看大数据计算框架的演变


DAY3 (8.20)

(1)大数据实时计算框架Storm的体系架构
(2)Storm编程拓扑图与编程案例
(3)Mapreduce和Spark有哪些不足
(4)Flink的体系架构和编程案例
(5)从零开始到大数据架构师的成长之路



有技术资料预习么(以下所有课程,免费)?

《实现MapReduce》
Kafka高性能的消息封装流程架构设计源码剖析》
手写简单实现Hadoop
如何参加免费训练营,领取课程资料?

扫码获取直播地址,免费领资料


祝大家在P8之路上前行,阅读原文,福利等你。
浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报