2

我有一个基于 azure 的云原生应用程序。该应用程序使用 azure 表存储。

由于一个绝佳的机会,我决定在本地也提供该应用程序。所以我必须更换 NoSql 数据提供者......我的问题是:哪个解决方案更像 Azure 表存储?蒙哥?掠夺?你的名字!

我打算毫不费力地迁移代码,就像从 SQL Azure 迁移到 Sql Server 2012...不需要更改代码...但我知道表存储没有等价物...所以我打算找到一个将尽可能减少我的 TTM...

4

2 回答 2

2

MongoDB 和表存储并不是完全可互换的替代品。一个是键/值,另一个是文档。我在这个答案中比较了两者。

表存储是存储即服务这一事实无法回避,您只需为数据量付费(加上非常小的每次事务成本),而要使用 MongoDB,您要么必须托管它在您自己的虚拟机中(这为您提供了足够的存储空间,但以虚拟机为代价)或与托管商合作(例如 MongoLab,目前免费提供 500MB)。无论如何,您必须做一些代码更改才能在表存储上使用 MongoDB。

我不确定是否存在与可本地安装的表存储等效的键/值存储。无论您选择什么,如果您更换表存储,您将在 Azure 端解决方案上进行修改。

对于您的本地解决方案,是否有可能提供一个相对简单的 MongoDB 后端?那就是:坚持用一个索引代替rowkey,然后把你的表实体存储为文档(避免子文档)?这将使您的数据布局非常相似。那时,您可以使用诸如聚合框架之类的东西进行一些数据处理,而不会破坏数据的整体布局样式/模式。

于 2013-05-07T20:25:26.900 回答
0

MongoDB would give you a consistent storage framework that you could use in-cloud and on-premises, and has good support for Windows Azure.

于 2013-05-07T19:05:58.803 回答