首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据库的缓存层之上,缓存层有什么额外的好处?

在数据库的缓存层之上,缓存层有什么额外的好处?
EN

Software Engineering用户
提问于 2020-04-09 08:35:31
回答 1查看 68关注 0票数 0

我正在看dropbox的艾地托雷的设计。它管理数千个MySql实例,其中所有dropbox的元数据都驻留在其中(用户、文件名等)。我理解为什么切分是必要的,我也理解为什么让客户端与一个将请求路由到正确的edgestore core ( MySql shard,edgestore engine)的D2进行对话非常有用。我不明白的是,增加以下复杂性有什么好处:

由于我们的工作负载很重,核心使用缓存层来加快查找速度.为了实现高可用性,还对缓存进行分区和复制。Edgestore在默认情况下提供了强一致性,这要求在写时使缓存无效。如果工作负载可以容忍陈旧的读取,客户端可以请求最终的一致性。

默认情况下,只依赖每个MySql提供的LRU缓存有什么问题?应用程序缓存效率高得多吗?多么?向我说明如何更有效地维持这样一个复杂的机制是有道理的。

EN

回答 1

Software Engineering用户

发布于 2020-04-09 11:40:25

我能想到的几件事

  • 如果数据是相对静态的(考虑每天或每小时的ETL),则缓存可以节省在数据更改之间重复缓慢查询的成本。
  • 数据库服务器是昂贵的。高端内核,快速磁盘,大量的RAM和超大容量许可证。将工作移出这些盒子可以防止(或至少延迟)一个非常昂贵的升级。
  • 在具有接近用户的数据的分布式系统中,可以减少延迟。缓存可以接近用户,而数据库系统的记录是集中和酸。
票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/408569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档