如何减少数据库操作?出了SQL优化、NoSQL还有什么办法?

蚂蚁课堂创始人 发布于 2017/01/19 10:55
阅读 453
收藏 0
如何减少数据库操作?出了SQL优化、NoSQL还有什么办法?
加载中
2
大賢者
大賢者

数据几百m以内  可以直接内存db


1
Tuesday
Tuesday

1: 增加企业SSD, mysql 安装在SSD上.

2: 使用yac.

3: 优化架构. 

eechen
eechen
PHP跨进程共享数据,除了使用基于文件的session机制和鸟哥开发的无锁共享内存缓存扩展Yac. Linux上还可以使用内存文件系统(tmpfs)上的SQLite(如/dev/shm/data.sqlite3).
0
紅顏為君笑
紅顏為君笑
计算的工作尽量不要让数据库来做 数据库只负责存储和查询数据
0
二两棉
二两棉

数据量不大的话,服务启动时直接cache到内存中,只有update/delete/insert的时候会涉及到操作db,其他查询和与查询有关的计算全部在内存中完成,

数据量有点大的话,内存放不下的话,靠一些kv存储做上述cache,

数据量很大的话,一般就要分库分表,然后再用上述2种方法解决

数据量海量的话,没接触过,不评论了~

0
魔力猫
魔力猫
脱离具体业务分析,没有办法给出方案,而且为什么要减少数据库呢?已经确认过度频繁访问数据库是瓶颈了吗?
0
一碗粥
一碗粥

给你们说了不要人优化, 你们还优化.

不用DB不就用不着优化了吗.

直接用文件存储吧, 不用优化DB的.

0
天际线
天际线
异步批量提交
0
eechen
eechen
限流排队,AliSQL就用这招来应对高并发秒杀场景。
秒杀场景是一个比较特殊的场景,AliSQL有专门的定制patch针对这种场景的优化, 如果没有限流和排队,大并发的请求下,系统很容易产生雪崩效应,导致吞吐量急剧下降,而非线性关系。 所以,秒杀场景下,在不可预知的业务请求量的时候,类似减库存这样的场景,性能下跌非常厉害, 而AliSQL的秒杀解决方案能够保证这类场景维持高性能。
0
苍耳道人
苍耳道人
在内存中虚拟硬盘,然后把数据库建在虚拟盘上。然后对数据库建一个同步,作为备份。
返回顶部
顶部