绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
快速,实时处理大量数据,架构如何解?
2020-08-18 10:14:25

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


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


OLTP

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

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

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

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

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

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

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

OLAP

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


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

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

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


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


分享好友

分享这个小栈给你的朋友们,一起进步吧。

架构师之路
创建时间:2019-12-19 10:54:22
架构师之路,沈剑和他的朋友们,聊聊职场,聊聊互联网,聊聊管理,聊聊架构,聊聊人生
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 58沈剑
    栈主
  • hwayw
    嘉宾
  • 唐川ITPUB
    嘉宾
  • 渔人
    嘉宾

小栈成员

查看更多
  • ?
  • 山中老狐狸
  • gaokeke123
  • 栈栈
戳我,来吐槽~