提高性能的常见技术

1.数据库层面:

  • 读写分离,对于大部分业务来说,读取操作要大于写入,同一个库,既读又写的话,负载会比较重,拆分为读库和写入库,可以降低数据库的负载,分时或延迟将写入的数据同步到读取库中
  • 分库or分表,在数仓中,每一层使用一个库,对于大表,按照区域,时间等拆分成小表,这样每次读写操作需要遍历的数据量会减少,也会提高性能,再细分的话又有垂直拆分与水平拆分
  • 缓存:这是一个应对频繁读取操作的一个常见设计,同一个查询,如果短时间再次查询,直接读数据库,负载增大,如果把经常读取的数据写入缓存,可以减少读取压力,当然这样会导致一致性问题,例如底层数据改变,缓存没更新
  • 分布式:分而治之的思想,常见的如hadoop,通过mapreduce过程,将大的任务切割成小的,分布执行,然后将结果汇总起来
相关推荐
廿一夏35 分钟前
MySql存储引擎与索引
数据库·sql·mysql
lzhdim2 小时前
SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题
数据库·sql
瀚高PG实验室3 小时前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)3 小时前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
YOU OU4 小时前
Spring IoC&DI
java·数据库·spring
Muscleheng5 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿6 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-6 小时前
Redis 命令
数据库·redis·缓存
小江的记录本6 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
June`7 小时前
多线程redis下如何解决aof重写和rdb持久化的数据一致性问题
数据库·redis·缓存