所以simpledb有一种电子表格数据模型。
我有一个只需要根据值存储密钥的应用程序。除了单个键可以有多个值。
将有多个客户。每个客户端都有一个id,它有自己的一组密钥。 如果我能在这个阶段,我想坚持使用一个域名。
如何将其映射到simpleDB?
我在想 domain = mydomain item = clientid attribute.n.name = key_1 ... key_n attribute.n.value = val1 ... valn
这将满足为同一个密钥存储多个值的能力。 但后来我发现我需要在select或know示例中获取所有属性 我有多少属性。我不会事先知道这件事。 我也允许从键(或属性)中删除特定值。我将首先搜索它。似乎在select中没有attributeName()函数,只有itemName()函数。
将项目名称组合为id + key + _n可能更好吗? 例如如果id是'myid'而密钥是'boots'那么项目名称就是 'myidboots_1'
然后每个项目都有一个名为'keyval'的属性。
我可以做一个 选择'keyval',其中itemName就像'myidboots_%'?
与普通的sql数据库相比仍然很麻烦。
也许我应该尝试将值编码为逗号分隔列表? 除了它可能更麻烦,我还读到有1000个字符的限制。
还有其他建议吗?
答案 0 :(得分:0)
我不确定我是否完全按照你的问题,但我认为指出SimpleDB允许你做经典的SQL样式查询可能会有所帮助:
select * from foo where bar = '1'
这将返回结果记录的所有属性/值。