【问题标题】:Orleans - Persisting grains into 'traditional' tables & columns奥尔良 - 将谷物持久化到“传统”表格和列中
【发布时间】:2018-04-03 15:33:51
【问题描述】:

我正在为我们的组织了解奥尔良。

我发现的基线以及所有“官方”文档都是使用 Orleans 内置的能力将颗粒作为 blob 保存到表中。

我发现了一些关于使用 StateMapFactory 使颗粒持久保存到“常规”表和列的能力的快照(我从Using SQL Server as Orleans storage 得到这个)

是否有一个完整的例子来说明如何做到这一点(任何使用 SQL Server 的简单例子都可以)。我在 github 项目站点上没有找到任何这样的示例。

还有另一种更内置的持久化到表中的能力吗?例如。使用 JSON/XML 序列化到表中?

【问题讨论】:

  • 我的理解是,您可以编写自己的存储提供程序来处理插入/更新/查询。
  • 我希望不要重新发明轮子。这似乎是一个基本的事情......我们是从头开始编写存储提供程序还是从内置的 mssql 扩展/继承?
  • 您无法使用 Microsoft.Orleans.OrleansSqlUtils (ADO.NET) 中的任何内容吗?
  • 最终编写了存储提供程序,使用任何现有的提供程序。
  • 对不起,伙计。似乎奥尔良在过去 9 个月左右的炒作少了很多。

标签: sql-server persistent-storage orleans


【解决方案1】:

还有另一种更内置的持久化到表中的能力吗?例如。使用 JSON/XML 序列化到表中?

序列化是 StorageProvider 的工作。实际上,您永远不应该修改任何谷物存储,除非通过 Grains 使用存储提供程序。

所以 - 回答 orleans 1.x 和 2.x,我们应该仍然有相同的答案(至少对于 sql server 存储)。

使用其中之一

  • Microsoft.Orleans.OrleansSqlUtils(一些旧版本,试图扁平化 json,不确定该版本是否存在)
  • Orleans.StorageProviders.SimpleSQLServerStorage

这两个存储提供程序都会将粒度状态作为 json 对象保存到 ntext 或 nvarchar(max) 列,或 XML 列,具体取决于您的集群方式。

【讨论】:

    猜你喜欢
    • 2021-06-10
    • 1970-01-01
    • 2021-10-21
    • 2019-01-05
    • 2020-12-15
    • 1970-01-01
    • 2016-02-28
    • 2017-05-18
    • 2020-11-10
    相关资源
    最近更新 更多