DynamoDBMapper - 性能和最佳实践

DynamoDBMapper - performance and best practice

在低级 API 上使用 DynamoDBMapper 是否会影响性能?我想性能开销会很小甚至微不足道,但我无法在网上找到任何这样的参考资料。

在线示例还显示了在 POJO 本身上使用的映射器注释。这是最佳实践还是让 POJO 保持不变并且使用一个单独的映射器来接受 POJO 来进行保存、查询、更新等会更好。我看到后者的优点是 if/when 你替换DynamoDB 与另一个数据库它将通过具有额外的抽象层来进行更清晰的重构。

第一点,您很可能不会看到任何显着的性能差异,因为它只是进行一些注释处理并缓存它们以减少对它已经看到的 classes 的进一步反射。最好的办法是实际对其进行基准测试,但我认为您会发现它可以忽略不计。

关于你的第二点,我会说 "it depends" 基于你想要如何建模你的数据访问。但是,如果您这样做,选择走抽象 POJO 的路线,您必须小心您的注释,因为映射器处理它们的方式。之前(大约一年前)我遇到了 运行 问题,其中父项 class 未使用 @Table 进行注释,而子项 class 映射器努力提取正确的注释.