首页 / NOSQL / 这个场景更适合使用NoSQL
这个场景更适合使用NoSQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了这个场景更适合使用NoSQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1679字,纯文字阅读大概需要3分钟。
内容图文
![这个场景更适合使用NoSQL](/upload/InfoBanner/zyjiaocheng/859/0dd51ac7cab24fa8b852e5e4a1e6277b.jpg)
NoSQL的一个主要类型就是文档型NoSQL,例如 MongoDB,使用 json 结构存储数据,不需要事先定义好记录结构,自由添加删除记录中的某项,非常灵活
通过下面的这个场景,可以很好的看到NoSQL的便利性
场景 联系人列表
sql 的实现方式
我们要先定义好联系人的表结构,如
id (主键ID)
title (标题)
firstname (姓)
lastname (名)
gender (性别)
telephone (电话)
email (邮箱)
address1 (地址1)
address2 (地址2)
city (城市)
现在出现了新问题,很多人都有多个电话号码,例如 2个手机号,1个工作电话,或者其他,这时,为了可扩展性,我们需要单独建立一张电话表,就不关心联系人有多少个电话了
contact_id(联系人ID)
name (例如座机号,工作手机等)
number (电话号码)
同样的,邮箱、地址 也有这个问题,还按照上面的方式,新建 email表 和 address表
但很快,新问题又出现了,我们需要记录联系人的社交账号、他的喜好……,我们只好新建各种表来对应
这就造成了数据库管理员和开发人员都有点麻烦了,需要经常修改数据库结构,需要很多表的关联查询等
用sql来记录这种碎片化的数据就稍显费力了
NoSQL 的实现方式
每个联系人信息都是一个 json 数据,联系人列表就是一个 json 数据的集合,存储在一个文档里
例如
{
name: [ "Billy", "Bob" ],
company: "Corp",
jobtitle: "Data Management",
telephone: {
mobile: "9876543210",
work: "2244668800"
},
email: {
personal: "bob@mail.net",
work: "bob@mail.com"
},
address: {
home: {
line: "10 Non-Existent Street",
city: "Nowhere",
country: "Australia"
}
},
twitter: '@bobsfakeaccount',
note: "Don't trust this guy"
}
例如这个联系人多了一个电话号,直接在 telephone 中添加一个新数据项就好,例如
telephone: {
home: "0123456789",
mobile: "9876543210",
work: "2244668800"
}
又例如,现在需要记录用户的微信号了,直接在联系人的 json 中新加一个微信号的数据项即可
通个这个场景,可以看到在某些场景使用 NoSQL 会更便利一些,NoSQL已经比较成熟,可以在实际操作中多考虑下如何应用
内容总结
以上是互联网集市为您收集整理的这个场景更适合使用NoSQL全部内容,希望文章能够帮你解决这个场景更适合使用NoSQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。