我正在使用Amazon的DynamoDB Java SDK,并想知道AmazonDynamoDBClientDynamoDB类之间的区别。我似乎找不到任何关于它们的东西,因为似乎文件很少。我有任何理由应该使用其中一个吗?它们有什么主要的优点或缺点吗?

最佳答案

这是一个很好的问题。看来DynamoDBAmazonDynamoDBClient的包装,提供了一个不同的接口(interface)。因此,这可能很明显,而不是您正在寻找的答案,但让我描述一下它们之间的一些区别。
createTable中的AmazonDynamoDBClient方法返回一个CreateTableResult对象,而DynamoDB的createTable方法返回一个Table对象。然后可以使用此Table对象对该表进行CRUD。 Table对象开始看起来像DynamoDB的通用ORM对象。因此,它实际上不是DynamoDB类与AmazonDynamoDBClient,更像是DynamoDBTable类与AmazonDynamoDBClient
AmazonDynamoDBClient显然比DynamoDB类老。 DynamoDB是相当新的,在1.9.x中发布。但是这里还有另一个值得一提的类DynamoDBMapperDynamoDBMapper允许更多类似ORM的操作。允许开发人员注释其JavaBean数据模型,以便可以轻松地对DynamoDB表进行CRUD。您可以直接使用对象,并且DynamoDBMapper将在DynamoDB数据库上执行CRUD工作。 DynamoDBMapperDynamoDB类旧。我认为也许有些开发人员不想使用DynamoDBMapper(也许不是OO或批注的粉丝?),并且需要另一个范式,但是我只是在做假设。因此,创建了DynamoDBTable类。使用Table类,您可以比AmazonDynamoDBClient更加轻松地与表进行交互,而无需创建DynamoDBMapper所需的JavaBean数据模型。

关于java - Java SDK中的AmazonDynamoDBClient和DynamoDB类之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30773525/

10-11 22:20