乐趣区

关于大数据:大数据场景下常见解决方案

封面图

嗨!大家好啊,我是阿壮,一个充斥正能量的程序员。明天和大家聊一聊大数据

什么是大数据

大数据顾名思义,就是宏大的数据,这里的宏大是指数据量至多是千万级别。在这种场景下,每一行代码都有它的作用,比方咱们平时的 CRUD 在大数据场景下一不留神就会导致接口响应超时。
阿壮在工作中也会接触大数据的场景,有一次看了一下所在公司的数据量,Elasticsearch 中的数据大略有几十亿,数据库中的数据最多的一张表有七千万条。零碎的并发并不大,然而数据量比拟大。常常应为某块代码效率太低,导致接口申请超时,一般的一次查问都要应用线程池,一般优化也是无济于事。

常见的解决方案

  1. 数据库分库分表
  2. 应用音讯队列,例如 Kafka,削峰
  3. 应用搜索引擎,例如 Elasticsearch
  4. 缩小 IO 操作,能一次查完在在内存中解决数据结构的就不要屡次到数据库查
  5. SQL 优化,例如缩小子查问
  6. 应用缓存,例如 Redis
  7. 散布式微服务,例如 Spring Cloud Alibaba
  8. 应用高效的算法
  9. 长于应用线程池,例如 JUC
  10. 在适宜的场景下应用懒加载
  11. 管制接口数量,没必要的状况下就不要接口
  12. 特地留神有循环的代码,及时排坑,防止申请超时
  13. 应用云托管,缩小服务器压力,例如阿里 OSS
  14. 大数据框架,例如 Hadoop

总结

一个零碎是从简略到简单的过程,数据量必定会在软件的倒退过程中越来越大,不可避免的会接触到大数据的场景。学习好大数据是很有必要的,不仅能够晋升咱们的技术能力,也能够在工作面试中贴金。

我是阿壮,微信搜一搜: 科技猫,关注这个充斥正能量的程序员,咱们下期间

退出移动版