繁体   English   中英

使用键值存储构建应用程序的设计策略

[英]Design strategies for building applications using Key-value store

键值存储,NoSQL的一种,怎么可以用来构建常用的应用功能呢?

  • 存储用户信息(登录信息)
  • 存储与用户或其他实体相关的文档和/或“实体”

使用键值存储而不是典型文档 NoSQL 的建模应用程序的一般策略是什么?

例如,如果您只有这个 API 来连接数据存储:

put(String bucketName, String, byte[] value);
byte[] get(String bucketName, String key);
List<String> getKeys(String bucketName, String prefix, int maxKeys);
delete(String bucketName, String key); 

here所述,此问题的一个答案。

是这样的model信息:

[key]           [value]
artist:1:name   AC/DC
artist:1:genre  Hard Rock
artist:2:name   Slim Dusty
artist:2:genre  Country

这里的问题是,如果底层数据存储不支持事务,那么可能会出现一组数据丢失的情况。 然而,一个好的最终用户应用程序设计理解存储的每个数据,例如,艺术家实体实际上存储了多个值,那么这将不是问题。 这里的关键是应用程序必须“理解”正在使用的数据库是一个键值存储,就像 DNS 注册的设计方式一样,每条记录都是单独保存而不是批量保存,这将是通常的情况,因为大多数 KV 存储都可以'不处理批处理操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM