文档介绍:技术交流–廖诚**议题什么是NoSQL?为什么要用NoSQL?MongoDB是什么?谁在用MongoDB?MongoDB部署架构MongoDB内部数据结构MongoDB简单应用*什么是NoSQL?NoSQL是NotOnlySQL的缩写,而不是NotSQL,它不一定遵循传统数据库的一些基本要求,如SQL标准、ACID属性、表结构等。相比传统数据库,叫它分布式数据管理系统更贴切,数据存储被简化更灵活,重点被放在了分布式数据管理上。*什么是NoSQL?关系数据库的表结构(学生、地址、成绩、科目):StudentsaddressidnamestudentidAddressaddressidaddresscitystatepostalcodeScoresscoreidstudentidcourseidgradeCoursescourseidname*什么是NoSQL?NoSQL的表结构(学生、地址、成绩、科目):Students_id:007name:"Jane"address:address:"123MainSt."city:"NewYork"state:"NY"postalcode:"10014"scores:Biolgy::*什么是NoSQL?相对应表中一条文档视图:*什么是NoSQL?相对应表中一条文本视图:*为什么要用NoSQL?大数据的特征Volume-数据量巨大,对TB、PB数据级的处理,已经成为基本要求。Variety-数据多样性,能处理结构化、非结构化数据,能处理Web数据,甚至语音、图像、视频数据。Velocity-数据实时性,在客户每次浏览页面,下订单的过程中,都会对用户进行实时的产品推荐,购买决策已经变得非常实时。*为什么要用NoSQL?大数据的性能要求Highperformance-高并发读写,高并发、实时动态数据查询和修改。HugeStorage-海量数据的高效存储和访问,类似SNS网站,海量用户信息的高效、实时存储和查询。HighScalability&&HighAvailability-高可扩展性和高可用性,需要拥有快速横向扩展能力、提供7*24小时不间断服务。*为什么要用NoSQL?关系数据库处理大数据的弱势面对高并发读写的需求,数据库读写压力巨大,硬盘IO无法承受。面对海量数据,数据库能存储的记录数量有限,SQL查询效率极低。横向扩展艰难,无法通过快速增加服务器节点实现,系统升级和维护造成服务不可用。*