他们的Java SDK中的AmazonDynamoDBClient和DynamoDB类之间的区别?

时间:2015-06-11 06:45:16

标签: java amazon-web-services amazon-dynamodb

我正在使用亚马逊的DynamoDB java SDK,并希望了解AmazonDynamoDBClientDynamoDB类之间的区别。我似乎无法找到任何内容,因为文档似乎很少。有什么理由我应该使用其中一个吗?他们有什么主要的好处或缺点吗?

1 个答案:

答案 0 :(得分:18)

这是一个很好的问题。看起来DynamoDBAmazonDynamoDBClient的包装器,提供了不同的界面。所以这可能是显而易见的,而不是您正在寻找的答案,但让我描述它们之间的一些差异。

createTable中的AmazonDynamoDBClient方法返回CreateTableResult个对象,而DynamoDB的createTable方法返回Table个对象。然后可以使用此Table对象在该表上执行CRUD。 Table对象开始看起来像DynamoDB的通用ORM对象。所以它不是DynamoDB类vs AmazonDynamoDBClient,更像是DynamoDB& Table课程与AmazonDynamoDBClient

AmazonDynamoDBClient显然比DynamoDB类旧。 DynamoDB很新,出现在1.9.x.但是这里有另一个值得提及的课程,DynamoDBMapperDynamoDBMapper允许更多类似ORM的操作。允许开发人员注释他们的JavaBean数据模型,以便他们可以轻松地对DynamoDB表进行CRUD。您可以直接使用对象,DynamoDBMapper将在DynamoDB数据库上执行CRUD工作。 DynamoDBMapper早于DynamoDB类。我想也许有些开发人员不想使用DynamoDBMapper(可能不是OO或注释的粉丝?)并且需要另外的范例,但我只是假设。因此创建了DynamoDBTable类。使用Table类,您可以比AmazonDynamoDBClient更轻松地与表交互,但不会产生DynamoDBMapper所需的创建JavaBean数据模型的开销。