我有一个基于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/