DynamoDb和Azure表抽象层可能存在问题?

时间:2012-04-13 14:48:45

标签: c# nosql azure-table-storage amazon-dynamodb

关于为NoSQL数据库创建一个抽象层有questions in the past,但是它们之间存在很大差异,以至于在不错过它们提供的大多数功能的情况下实际上是不可能的。

最近随着亚马逊的DynamoDb的推出而改变,这看起来几乎与微软的Azure Table Storage相同,所以我正在寻找一个开源抽象层。每个人都喜欢抽象,因为它在试图说服雇主接受这些“新”技术时为我们提供了更多的杠杆作用。

据我所知

AzureTable.RowKey == DynamoDB.HashKey
AzureTable.PartitionKey == DynamoDB.RangeKey

通过创建这个抽象层,任何人都可以看到可能出现的问题和可能失去的功能吗?

两者似乎都以相同的方式对数据进行分区,并且它们的查询看起来很相似。

我注意到的第一件事是Microsoft的c#SDK要求您的类派生自TableServiceEntity而Amazon的c#对象持久性框架使用HashKeyRangeKey属性上的属性。 / p>

1 个答案:

答案 0 :(得分:1)

在回顾这里的比较时:Comparing Windows Azure Table Storage and Amazon DynamoDB,我问自己你究竟想要抽象出什么 你需要问自己,然后提出你在创建课程和限制时所选择的权衡,以便社区很好地了解你想要实现的目标,并希望能帮助你完善它。
说完之后我会提出一些你应该弄清楚的问题:
1.你如何强制对象大小的差异? (1MB / 64KB)
2.您将如何抽象DynamoDB的预配置吞吐量? 3.您如何强制Azure表存储具有256属性限制?

祝你好运