【发布时间】:2013-06-20 03:13:23
【问题描述】:
我是memcached 的新手,但对数据库内部和系统编程相当熟悉,所以这对我来说似乎很奇怪。很明显,基于内存的解决方案比基于磁盘的解决方案要快,但是由于任何支持缓存的数据库都会更多地了解数据的结构,所以它不应该更好地了解如何有效地缓存它吗?
我看到了三种可能性:
- “使用
memcached部署的机器比数据库服务器通常拥有更多的RAM。”添加相同数量的内存会使解决方案的性能相似吗? - “确保数据库中的 ACID 事务属性使这种加速难以匹配。”是否可以通过放宽数据库的事务保证以匹配缓存的保证来获得类似规模的加速?
- “将数据库查询平均分布在多台缓存机器上可以加快速度。”分片数据库会做同样的事情吗?
如果不是这些的组合,那么添加缓存层还能为表带来什么数据库无法实现的功能,为什么数据库供应商不/不能自己实现更好的缓存层?
【问题讨论】:
标签: database performance memcached