Rai*_*lle 5 azure-service-fabric
在Azure Service Fabric中查询数据的最佳方法是什么?Reliable Dictionary上有什么东西吗?例如:map/reduce?
示例:客户对象存储在可靠的集合中.关键是CustomerID.现在我想找到所有姓氏以"A"开头的客户,这些客户来自"悉尼"并在上个月内订购了一些东西.
在Azure Service Fabric中实现此查询的最佳方法是什么?性能如何?让我们假设列表中有数十万客户.
Reliable Collections是IEnumerable(或支持创建枚举器),类似于单机.NET集合,这意味着您可以使用LINQ查询它们.例如:
IReliableDictionary<int, Customer> myDictionary =
await this.StateManager.GetOrAddAsync<IReliableDictionary<int, Customer>>("mydictionary");
return from item in myDictionary
where item.Value.Name.StartsWith("A")
orderby item.Key
select new ResultView(...);
Run Code Online (Sandbox Code Playgroud)
性能取决于您正在进行的查询类型,但Reliable Collections的一个主要优点是它们是执行查询的代码的本地,这意味着您直接从内存中读取而不是向外部存储发出网络请求.
使用非常大的数据集,您最终将对包含字典的服务(Service Fabric中的内置功能)进行分区.在这种情况下,您将在每个分区中具有相同的查询,但随后您将需要聚合结果.通常在这种情况下,设置另一个可以充当常见查询索引的字典是很好的.
归档时间: |
|
查看次数: |
1660 次 |
最近记录: |