提高性能的常见技术

1.数据库层面:

  • 读写分离,对于大部分业务来说,读取操作要大于写入,同一个库,既读又写的话,负载会比较重,拆分为读库和写入库,可以降低数据库的负载,分时或延迟将写入的数据同步到读取库中
  • 分库or分表,在数仓中,每一层使用一个库,对于大表,按照区域,时间等拆分成小表,这样每次读写操作需要遍历的数据量会减少,也会提高性能,再细分的话又有垂直拆分与水平拆分
  • 缓存:这是一个应对频繁读取操作的一个常见设计,同一个查询,如果短时间再次查询,直接读数据库,负载增大,如果把经常读取的数据写入缓存,可以减少读取压力,当然这样会导致一致性问题,例如底层数据改变,缓存没更新
  • 分布式:分而治之的思想,常见的如hadoop,通过mapreduce过程,将大的任务切割成小的,分布执行,然后将结果汇总起来
相关推荐
HardCodeV35 分钟前
NestJS
数据库·oracle
花好月圆春祺夏安1 小时前
基于odoo17的设计模式详解---备忘模式
数据库·设计模式
有想法的py工程师1 小时前
PostgreSQL 查询库中所有表占用磁盘大小、表大小
数据库·postgresql
R_AirMan3 小时前
深入浅出Redis:一文掌握Redis底层数据结构与实现原理
java·数据结构·数据库·redis
Hello.Reader3 小时前
RedisJSON 内存占用剖析与调优
数据库·redis·缓存
wkj0014 小时前
php 如何通过mysqli操作数据库?
android·数据库·php
九皇叔叔5 小时前
【9】PostgreSQL 之 vacuum 死元组清理
数据库·postgresql
风雅的远行者6 小时前
mysql互为主从失效,重新同步
数据库·mysql
宇钶宇夕7 小时前
S7-1200 系列 PLC 中 SCL 语言的 PEEK 和 POKE 指令使用详解
运维·服务器·数据库·程序人生·自动化
绿蚁新亭7 小时前
Spring的事务控制——学习历程
数据库·学习·spring