您好,匿名用户
随意问技术百科期待您的加入

Key-Value Store 一般用来存储什么样的数据?

0 投票

最近要开始做毕业设计了,虽然自己比较熟悉iOS和Mac开发,但还是想借此机会来学习一些新的技术。

决定利用SAE搭建一套包括服务端、网页、手机客户端的应用。

这个应用中有个聊天模块,类似于微博中的“私信”功能。

对于“私信”数据的存储,是不是使用NoSQL相比传统关系数据库(MySQL)更有优势?
SAE中似乎只提供了一个KVDB供使用(http://sae.sina.com.cn/?m=devcenter&a...;),关系数据库提供了MySQL。

那么我可不可以使用这个KVDB来存储“私信”数据,来避免“私信”数量增多时带来的查询性能问题?
如果可行,私信应该以怎样的方式存储到KVDB中?
如果不可行,KVDB可以用来存储什么样的数据呢?

用户头像 提问 2012年 12月1日 @ Miss Fortune 上等兵 (418 威望)
分享到:

1个回答

0 投票
 
最佳答案

首先NoSQL包括了很多类型,不过就你在问题中提到的KVDB似乎并不完全适合你的应用场景,如果你硬要用也没什么不可以,只不过把简单的事情搞复杂了。

单一的key-value型数据库,比较适用于索引输出加速(比如搜索结果的输出),随机数据多处复用(比如SNS消息发送,内容就存在缓存里,只需要发送id就行了),或者简单的数据共享(比如session信息,或者配置信息)等等。

像你这种单点对单点的用KV型数据库并不能完全解决问题,因为它只能存储随机数据,数据之间没有顺序关系,所以你还得配合关系型数据库做索引,不过我建议你先完全用mysql实现一个版本,把流程走通,然后在按情况将存储换为更加强大的redis或者mongodb都可以。

用户头像 回复 2012年 12月1日 @ Anivia 上等兵 (276 威望)
选中 2012年 12月1日 @Miss Fortune
提一个问题:

相关问题

0 投票
1 回复 55 阅读
用户头像 提问 2012年 12月1日 @ Hades 上等兵 (152 威望)
0 投票
1 回复 36 阅读
用户头像 提问 2012年 12月1日 @ Caitlyn 上等兵 (452 威望)
0 投票
1 回复 32 阅读
用户头像 提问 2012年 12月1日 @ Rengar 上等兵 (236 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...