我正在使用 Amazon 的 DynamoDB java SDK,想了解两者之间的区别AmazonDynamoDB客户端 https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-dynamodb/src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBClient.java and DynamoDB https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-dynamodb/src/main/java/com/amazonaws/services/dynamodbv2/document/DynamoDB.java类。我似乎找不到任何关于它们的信息,因为文档似乎很少。我有什么理由应该使用其中之一吗?它们有什么主要优点或缺点吗?
这是一个很好的问题。看起来像DynamoDB
是一个包装AmazonDynamoDBClient
,提供不同的接口。因此,这可能是显而易见的,并不是您正在寻找的答案,但让我描述一下它们之间的一些差异。
The createTable
中的方法AmazonDynamoDBClient
返回一个CreateTableResult
对象,而DynamoDB
的createTable方法返回一个Table
目的。这Table
然后可以使用对象在该表上执行 CRUD。这Table
对象开始看起来像 DynamoDB 的通用 ORM 对象。所以它并不是真的DynamoDB
类与类AmazonDynamoDBClient
,它更像是DynamoDB
& Table
类与类AmazonDynamoDBClient
.
AmazonDynamoDBClient
显然比DynamoDB
班级。DynamoDB
是相当新的,在 1.9.x 中发布。但这里还有一个类值得一提,DynamoDBMapper
. DynamoDBMapper
允许更多类似 ORM 的操作。允许开发人员注释他们的 JavaBean 数据模型,以便可以轻松地针对 DynamoDB 表进行 CRUD。您可以直接使用您的对象,并且DynamoDBMapper
将在 DynamoDB 数据库上执行 CRUD 工作。DynamoDBMapper
比DynamoDB
班级。我想也许有些开发人员不想与DynamoDBMapper
(也许不喜欢面向对象或注释?)并且需要另一种范式,但我只是假设。所以DynamoDB
and Table
创建了类。随着Table
类,您可以比AmazonDynamoDBClient
但没有创建 JavaBean 数据模型的开销DynamoDBMapper
要求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)