# 数据库:海量数据业务有哪些方案

作者: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。可见,使用内存缓存性能上提高多个数量级,同时也能支持更高的并发量。

上次更新: 2023/3/4