简体   繁体   English

Azure表存储和缓存

[英]Azure table storage and caching

Is it worth caching data from Azure Table storage with the Azure Caching Preview? 是否值得使用Azure缓存预览从Azure Table存储缓存数据? Or is the table storage fast enough in large scale applications? 或者表存储在大规模应用程序中足够快?

Thanks 谢谢

The short answer is it depends . 简短的答案取决于它 In the application I am currently working on there is some information that we use caching for to handle both the latency of retrieving data from Table Storage and to accommodate the desired number of transactions per second. 在我目前正在处理的应用程序中,有一些信息我们使用缓存来处理从表存储中检索数据的延迟并适应每秒所需的事务数。

We started out serving the information from Table Storage and moved to caching only when our performance requirements dictated it. 我们开始提供来自Table Storage的信息,并且仅在我们的性能要求决定时才转移到缓存。 I'd recommend a similar approach: make it work, then make it fast. 我建议采用类似的方法:让它工作,然后快速完成。

In addition to what Robert said, you should also consider following points: 除了罗伯特所说的,你还应该考虑以下几点:

Windows Azure Table Storage allows to store up to 100TB in size (in chunks). Windows Azure表存储允许存储最大100TB(以块为单位)。 At first glance, that size of data may seem overwhelming. 乍一看,这个数据大小可能看起来势不可挡。 However, Table Storage can be partitioned. 但是,可以对表存储进行分区。 Each partition of Table Storage can be moved to a separate server by the Azure controller thereby reducing the load on any single server and improving performance. 可以通过Azure控制器将表存储的每个分区移动到单独的服务器,从而减少任何单个服务器上的负载并提高性能。

If you have very high load on your application, you cache with frequent inserts will approach the maximum cache size very quickly and then cache items eviction process starts. 如果应用程序的负载非常高,那么使用频繁插入进行高速缓存将非常快速地接近最大高速缓存大小,然后启动高速缓存项目驱逐过程。 In most cases frequent inserts into cache and frequent cache items eviction processes end up with performance degradation instead of improvement. 在大多数情况下,频繁插入缓存和频繁缓存项驱逐过程最终会导致性能下降而不是改进。 Then you would need to increase cache maximum size, which in turn will affect your application cost (sometimes this might be a blocker). 然后,您需要增加缓存最大大小,这反过来会影响您的应用程序成本(有时这可能是一个阻止程序)。

Last but not least, you can access Windows Azure Table Storage data using the OData protocol and LINQ queries with WCF Data Service .NET Libraries; 最后但并非最不重要的是,您可以使用OData协议和使用WCF数据服务.NET库的LINQ查询访问Windows Azure表存储数据; you do not have that ability with Azure Cache. 您没有Azure Cache的这种能力。

Please bear in mind that those points may or may not be valid in your case. 请记住,这些点在您的情况下可能有效,也可能无效。 All depends on your system architecture; 一切都取决于您的系统架构; expected load etc. 预期负荷等

I hope my answer will help you in making good system architecture decisions. 我希望我的回答可以帮助您做出良好的系统架构决策。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM