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