远离云的Windows Azure表的替代方案

问题描述 投票:2回答:2

我正在开发一个.NET应用程序,它需要在Azure和常规Windows服务器上运行(2003)。它需要存储几GB的数据,而SQL Azure对我来说太贵了,所以我将在云版本中使用Azure表。您能否推荐一种存储解决方案,该解决方案将在独立服务器上运行,并具有与Azure表类似的API和行为?从我所看到的Server AppFabric不包括表。

azure azure-table-storage persistent-storage
2个回答
4
投票

如果您认为Windows Azure表存储是什么,它是基于键值对的非关系数据库,可通过REST API访问。请下载有关Windows Azure和NoSQL数据库详细信息的this文档。

如果我在你的情况下,我的方法是找到类似于Azure表存储的东西,我可以通过REST访问它并具有类似的可访问性API。因此,如果您试图找到在机器上运行的类似数据库,您真的需要寻找:

  1. 键值对DB
  2. 支持基本操作,即添加,删除,插入,修改实体
  3. 基于分区键和行键的辅助功能
  4. RESTful接口连接

如果你想尝试一些你肯定会看到的东西:

  • DBreeze(基于C#的键值对NoSQL DB)我刚刚看到它并且看起来令人兴奋
  • 谷歌LevelDB(键值对数据库,开源并在Windows上可用)我不知道API
  • Redis(Great Key-Value Pair DB但不确定Windows兼容性和API)

以下是没有其他索引功能的键/值数据库列表:

  • 伯克利DB
  • HBase的
  • MemcacheDB
  • Redis的
  • SimpleDB的
  • 东京内阁/暴君
  • 伏地魔
  • 波纹

如果没有,您确定可以获得任何开源数据库并进行修改以满足您的需求,然后将其作为您对社区的贡献提供给其他人。

添加

现在,您可以使用Windows Azure虚拟机在Linux或Windows计算机上运行任何类型的键值对DB,并与您的应用程序建立连接。


3
投票

我不确定要推荐哪种存储解决方案,但只要您编写一个接口来抽象所有数据存储代码,几乎任何数据库解决方案都可以工作。然后为Azure Table存储编写该接口的实现,以及要在非云服务器上使用的任何其他数据库

无论如何,您应该这样做,以便您的代码与Azure Table Storage API不紧密耦合。

如果将该接口的编码与IoC容器相结合,那么单行代码或单个配置设置将使您能够根据运行代码的平台在数据实现之间切换。

© www.soinside.com 2019 - 2024. All rights reserved.