我正在使用DynamoDB进行存储.我需要将Java对象存储在表中的一个属性中.我看到两种方法.一个在客户端使用Jackson将对象转换为JSON,然后将JSON字符串存储在属性中.另一种方法是使用DynamoDB List/Map类型来存储我的对象.每个的优缺点是什么(在项目大小方面,Dynamo数据库查询的灵活性)?
Iva*_*tyk 10
第一种方法
这里的好处是您可以存储任意数据,而不应该关心DynamoDB是否支持它.您甚至不需要关心这是否是有效的JSON.如果要存储DynamoDB列表/映射,则所有属性都应为DynamoDB支持的类型.
您可以进一步推动这种方法并使用压缩,您的项目将占用更少的空间,并在此过程中为您节省一些RCU/WCU.
第一个缺点是使用这样的代码更难.仅仅因为您需要来回转换数据会使您的代码和操作更加复杂.
第二个缺点是,DynamoDB对您的数据一无所知,也无法访问它.例如,您将无法使用文档路径功能.
第二种方法
我认为这是一种首选方法,除非你有充分的理由坚持第一种方法(例如不寻常的数据或大小限制).
这里的好处是它更容易使用,您可以访问所有DynamoDB功能,如果您使用DynamoDBMapper,它实现起来非常容易.
| 归档时间: |
|
| 查看次数: |
14156 次 |
| 最近记录: |