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

2020-08-21 16:09:47 浏览数 (1)

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

互联网的业务无外乎线上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之路上前行,阅读原文,福利等你。

0 人点赞