【问题标题】:How is data in Reliable Dictionary in Azure Service Fabric persisted to diskAzure Service Fabric 中 Reliable Dictionary 中的数据如何保存到磁盘
【发布时间】:2018-12-08 05:22:21
【问题描述】:

Azure Reliable Dictionary 如何实际处理数据持久性。是像 SQL 一样将除索引(即我们的例子中的键)以外的所有数据都保存在磁盘上,还是像 hashmap 一样将所有内容都保存在内存中(即键和值),并且只在磁盘上保留备份

【问题讨论】:

标签: azure azure-service-fabric service-fabric-stateful


【解决方案1】:

Reliable Collections 的当前实现将整个数据集存储在内存中,并在磁盘中序列化一个副本。

需要保留在内存中,因为存储在磁盘中的数据是序列化的,并且查找此数据需要很长时间才能反序列化以检索数据。

从他们提到的一个问答环节中,他们计划有一个替代解决方案,其中热数据将在内存中,冷数据在磁盘中,但当时只是积压中的一个项目,不确定他们是否将很快实施。

以下链接还将提供有关集合存储的一些额外见解:

Capacity Limit of Reliable Collections in Stateful services

Azure Service Fabric reliable collections and memory

How data serialization affects an application upgrade

Downsides of CommitAsync() w/o any changes to collection

【讨论】:

  • 还有一个补充——根据this,数据在复制过程中被持久化到磁盘上。据我了解,当前实现将所有数据保存在内存中,但同时将数据保存到磁盘,以便能够从某种灾难中恢复。
猜你喜欢
  • 2017-03-26
  • 2018-04-05
  • 2018-03-07
  • 2017-05-08
  • 2017-05-13
  • 2020-12-25
  • 2016-06-28
  • 2020-03-14
  • 2016-11-13
相关资源
最近更新 更多