MySql+Memcached架构的局限性
许多公司采用MySQL存储海量数据,并利用Memcached缓存热点数据以提升访问速度。然而,随着数据量和访问量的激增,这种架构逐渐暴露出一些问题:
- 数据库与缓存扩容压力: MySQL需要频繁拆库拆表,Memcached也需要不断扩容,占据大量开发时间。
- 数据一致性: Memcached和MySQL之间的数据一致性难以保证。
- 缓存失效: 缓存命中率降低或Memcached宕机时,大量请求直接穿透到数据库,MySQL难以承受。
- 跨机房同步: 跨机房缓存同步存在挑战。
NoSQL 的崛起
近年来,NoSQL数据库蓬勃发展,为解决上述问题提供了新的思路。