我正在尝试使用 DynamoDB 创建一个简单的日志记录系统。使用这个简单的表结构:
{
"userName": "Billy Wotsit",
"messageLog": [
{
"date": "2022-06-08 13:17:03",
"messageId": "j2659afl32btc0feqtbqrf802th296srbka8tto0",
"status": 200
},
{
"date": "2022-06-08 16:28:37.464",
"id": "eb4oqktac8i19got1t70eec4i8rdcman6tve81o0",
"status": 200
},
{
"date": "2022-06-09 11:54:37.457",
"id": "m5is9ah4th4kl13d1aetjhjre7go0nun2lecdsg0",
"status": 200
}
]
}
消息日志中的项目数很容易达到数千个。
根据文档,“项目”的最大大小为 400kB,这严重限制了可以存储的日志元素的最大数量。
在不求助于更传统的 SQL 方法(实际上并不需要)的情况下,存储这么多数据的正确方法是什么?
有关数据用例的一些信息会有所帮助。我的主要问题是
在不了解有关数据读/写模式的更多信息的情况下,更好的布局是让每个日志条目成为数据库中的一个项目:
使用上述结构,假设您已将排序键/索引设置为适合您的用例,您可以轻松地附加日志条目并有效地检索它们。专注于了解排序键和二级索引如何优化在数据库中查找条目。您希望避免扫描整个数据库来查找您的项目。有关更多信息,请参阅Amazon DynamoDB 的核心组件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句