提高性能的常见技术

1.数据库层面:

  • 读写分离,对于大部分业务来说,读取操作要大于写入,同一个库,既读又写的话,负载会比较重,拆分为读库和写入库,可以降低数据库的负载,分时或延迟将写入的数据同步到读取库中
  • 分库or分表,在数仓中,每一层使用一个库,对于大表,按照区域,时间等拆分成小表,这样每次读写操作需要遍历的数据量会减少,也会提高性能,再细分的话又有垂直拆分与水平拆分
  • 缓存:这是一个应对频繁读取操作的一个常见设计,同一个查询,如果短时间再次查询,直接读数据库,负载增大,如果把经常读取的数据写入缓存,可以减少读取压力,当然这样会导致一致性问题,例如底层数据改变,缓存没更新
  • 分布式:分而治之的思想,常见的如hadoop,通过mapreduce过程,将大的任务切割成小的,分布执行,然后将结果汇总起来
相关推荐
木鬼与槐3 小时前
MySQL高阶1831-每天的最大交易
数据库·mysql
晴天qt015 小时前
[mysql]mysql排序和分页
数据库·mysql
小张同学(恩师白云)6 小时前
SpringDataJPA基础增删改查
java·数据库
Jasonakeke8 小时前
【重学 MySQL】三十四、加密与解密函数
数据库·mysql
一知半解搞开发8 小时前
Mysql系列-索引简介
java·数据库·mysql
akhfuiigabv8 小时前
使用Neo4j-Cypher-FT实现自然语言查询图数据库
数据库·python·oracle·neo4j
Aa134517650258 小时前
c#中使用sql防注入方式写入数据
数据库·sql·c#
木木ainiks9 小时前
django自用教程
数据库·django·sqlite
akhfuiigabv9 小时前
探索Timescale Vector与Postgres数据库的融合:AI应用的新选择
数据库·人工智能·python
自身就是太阳9 小时前
Maven的高级特性
java·开发语言·数据库·后端·spring·maven