2015-01-20 36 views
1

在使用低级别API的DynamoDBMapper时是否有任何性能命中?我可以想象会有微不足道的性能开销,但我无法在网上找到任何说明这一点的参考资料。DynamoDBMapper - 性能和最佳实践

在线示例还显示了POJO本身使用的映射器注释。这是最好的做法,还是最好让POJO不变,并且一个单独的映射器用于接受POJO来执行保存,查询,更新等。我认为后者的优点是,如果/当您将DynamoDB替换为另一个数据库,它将通过具有额外的抽象层而成为更清晰的重构。

回答

1

第一点,您很可能不会看到任何显着的性能差异,因为它只是执行一些注释处理并缓存它们以减少对已经看到的类的进一步反思。最好的做法是以实际为基准,但我认为你会发现它可以忽略不计。对于你的第二点,我想说,“这取决于”你想如何建模你的数据访问。但是,如果你这样做,选择去抽象POJO的路线,你必须注意你的注释,因为映射器处理它们的方式。我在之前(大约一年前)遇到过问题,那里的父类没有用@Table进行注释,而且子类正在努力提取正确的注释。

+0

谢谢迈克。我同意你的第二点。多想了一会儿,我认为这将取决于POJO和用于映射器的新类的差异。我所做的一个项目实际上有很多不同之处,所以我们继续进行额外的抽象层,因此它在那里有意义。否则,我认为使用带注释的POJO是很好的。 – n00b 2015-01-21 10:21:49