mongodb - 迁移 Azure 表存储

标签 mongodb azure ravendb azure-table-storage nosql

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

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

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

最佳答案

MongoDB 和表存储并不是完全可以互换的替代品。一是键/值,二是文档。我在 this answer 中比较了两者.

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

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

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

关于mongodb - 迁移 Azure 表存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16426479/

相关文章:

mongodb puppet 模块安装失败

c# - 未知鉴别器值 MongoDB

Azure 服务器磁盘容量在/var/opt/microsoft/mdtap/signatures.noindex 处自动填满是什么原因造成的?

windows - 关于 WCF 服务总线

c# - 模拟 IRavenQueryable 并附加 Where() 表达式

mapreduce - 使用 RavenDB 索引按小时计数

java - 如何从mongo中的子文档中获取特定值

mongodb - 从 Go 访问 MongoDB

powershell - 无法从 Visual Studio 2012 登录 Azure

.net - RavenDb MapReduce 索引包含 Map 中案例中的三个