gpt4 book ai didi

azure - 高性能读取模型(数据库)之上的缓存层的优势

转载 作者:IT王子 更新时间:2023-10-29 06:05:28 26 4
gpt4 key购买 nike

我目前正在观察和研究几种现有的软件架构技术,您在开发超大规模应用程序时可以考虑这些技术。正如他们所说,网络规模架构。

我现在了解到您可以拆分读写模型/数据库。因此,现在我在应用程序中构建一个数据层,该数据层写入 RDBMS (SQL SERVER),但从 Azure 表存储读取(正确分区后速度非常快)。

问题是,当读取模型已经非常快时,为什么要或应该在读取模型之上添加一层缓存(例如分布式 Redis 缓存)?可以获得什么性能/优势?如果我理解正确的话,它只会增加另一层复杂性,因为您必须处理过时的数据。

最佳答案

在其他条件相同的情况下,缓存层总是比 RDBMS 更快并且能够处理更高的吞吐量。

基本上,您可以对 RDBMS 执行更复杂但更慢的查询,然后将它们存储在缓存层中,这基本上只是一个用于 O(1) 访问的键值存储。相比之下,基本上没有针对 RDBMS 的查询会那么快。如果有很多人重复点击相同的查询,那么这是一个既可以扩展规模又可以为用户提供更快体验的好方法。

是的,代价是它增加了额外的复杂性。如果您的数据库足够强大且足够快来处理当前的负载+,则不必担心缓存。另一方面,如果您试图扩展或为用户提供更快的体验,则缓存比数据库分片或集群复杂得多,并且对于许多应用程序来说,缓存会走得更远,并且需要更少的实现和维护工作。

关于azure - 高性能读取模型(数据库)之上的缓存层的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33289250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com