# 数据库:海量数据业务有哪些方案
作者:Tom哥
公众号:微观技术
博客:https://offercome.cn (opens new window)
人生理念:知道的越多,不知道的越多,努力去学
互联网时代,亿级用户各种网络行为产生大量数据,如何解决海量数据存储?如何高性能读写?解决思路有哪些,本文列举了常用的解决方案:
- 缓存加速
- 读写分离
- 垂直拆分
- 分库分表
- 冷热数据分离
- ES 助力复杂搜索
- NoSQL
- NewSQL
# 一、缓存加速
缓存就是为了弥补存储系统在这些复杂业务场景下的不足,其基本原理是将可能重复使用的数据放到内存中,一次生成、多次使用,避免每次使用都去访问存储系统。
缓存能够带来性能的大幅提升,以 Memcache 为例,单台 Memcache 服务器简单的 key-value 查询能够达到 TPS 50000 以上;Redis性能数据是10W+ QPS
为什么缓存的速度那么快?
从上图中发现,同机房两台服务器跑个来回,再从内存中顺序读取 1M 数据,共耗时 0.75 ms。如果从硬盘读取,做一次磁盘寻址需要 10ms,再从磁盘里顺序读取 1M 数据需要 30ms。可见,使用内存缓存性能上提高多个数量级,同时也能支持更高的并发量。