大数据场景下常见解决方案
封面图
文章图片
嗨!大家好啊,我是阿壮,一个充满正能量的程序员。今天和大家聊一聊大数据
什么是大数据
大数据顾名思义,就是庞大的数据,这里的庞大是指数据量至少是千万级别。在这种场景下,每一行代码都有它的作用,比如我们平时的 CRUD 在大数据场景下一不留神就会导致接口响应超时。
阿壮在工作中也会接触大数据的场景,有一次看了一下所在公司的数据量,Elasticsearch 中的数据大概有几十亿,数据库中的数据最多的一张表有七千万条。系统的并发并不大,但是数据量比较大。经常应为某块代码效率太低,导致接口请求超时,普通的一次查询都要使用线程池,普通优化也是杯水车薪。
常见的解决方案
- 数据库分库分表
- 使用消息队列,例如 Kafka,削峰
- 使用搜索引擎,例如 Elasticsearch
- 减少 IO 操作,能一次查完在在内存中处理数据结构的就不要多次到数据库查
- SQL 优化,例如减少子查询
- 使用缓存,例如 Redis
- 分布式微服务,例如 Spring Cloud Alibaba
- 使用高效的算法
- 善于使用线程池,例如 JUC
- 在适合的场景下使用懒加载
- 控制接口数量,没必要的情况下就不要接口
- 特别注意有循环的代码,及时排坑,避免请求超时
- 使用云托管,减少服务器压力,例如阿里 OSS
- 大数据框架,例如 Hadoop
【大数据场景下常见解决方案】我是阿壮,微信搜一搜: 科技猫,关注这个充满正能量的程序员,我们下期间
推荐阅读
- 我要做大厨
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 知识
- 三十年后的广场舞大爷
- 奔向你的城市
- 村里的故事|村里的故事 --赵大头
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 华为旁!大社区、地铁新盘,佳兆业城市广场五期!
- 汇讲-勇于突破