所以 simpledb 有一种电子表格数据模型。
我有一个应用程序,只需要根据值存储键。除了一个键可以有多个值。
会有多个客户。每个客户端都有一个带有自己的密钥集的 id。如果可以的话,我想在这个阶段坚持使用单个域。
如何将其映射到 simpleDB?
我在想 domain = mydomain item = clientid attribute.n.name = key_1 ... key_n attribute.n.value = val1 ... valn
这将满足为同一个键存储多个值的能力。但后来我发现我需要在我的选择中获取所有属性,或者知道我有多少属性。我不会事先知道这一点。我还允许从键(或属性)中删除特定值。我将不得不先搜索它。似乎在 select 中没有 attributeName() 函数,只有 itemName() 函数。
将项目名称设为 id + key + _n 的组合会更好吗?例如,如果 id 是“myid”并且键是“boots”,那么项目名称将是“myidboots_1”
然后每个项目都有一个属性,称为“keyval”。
我可以选择 'keyval' where itemName like 'myidboots_%' ?
与普通的 sql 数据库相比,仍然有点麻烦。
也许我应该尝试将值编码为逗号分隔列表?除了它可能更麻烦而且我已经读到有 1000 个字符的限制。
还有其他建议吗?