七牛的 key-value 存储系统跟 NoSQL 数据库系统有什么区别?
七牛云存储是一个 key-value 形式的数据存储系统,最近几年在数据库领域兴起的 NoSQL 也是 key-value 数据存储系统,它们之间有何差别?
从逻辑上讲,这两种存储系统是很类似的,都是一个键(key)对应一个值(value)。在七牛云存储的 key-value 系统中,可以把这个 “键(key)” 理解为文件名,把 “值(value)” 理解为文件,他们在云端单独存放。也即,七牛这样的云存储系统存放的是文件,用户要访问某个文件的时候,告诉云端它的文件名就可以了,云端就会把这个文件(的内容)返回给用户。
而 NoSQL 系统是数据库系统的一种类型,它也以 key-value 的形式存放数据,只不过它存放的一般不是文件,而是文本。比如 “名字——张山” 这样一个 key-value 数据,其键(key)就是 “名字”,其值(value)就是 “张山”。
一般而言,这两种 key-value 系统是互补的,是在一起使用的。因为,一般而言,一个产品既会有文本类型的数据,也会有文件类型的数据。七牛云存储这种系统就用来存放文件类型的数据,而 NoSQL 这种存储系统则用来存放文本类型的数据。
举例:你注册微博账号的时候,需要填写用户名、邮箱以及手机号等注册信息,还要上传头像。像用户名、邮箱以及手机号等文本,就是存放在数据库里的(比如存放在 NoSQL 类型的数据库系统中)。而头像是保存在七牛云存储这样的系统中的。你发微博的时候,如果带上了图片,那么微博中的文本和图片的地址都是存放在数据库中的,而图片本身则是存放在七牛云存储这样的系统中。
文档反馈
(如有产品使用问题,请 提交工单)