您好,欢迎访问三七文档
非关系型数据库NoSql传统数据库的瓶颈1云计算和大数据对数据库的要求2NoSql数据库3Redis基础4CONTENTS•传统的关系型数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题。大规模SNS网站数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。01对于关系数据库来说,数百万记录的表里查询尚可接受。在一张上亿条记录的表里面进行SQL查询,效率是极其低下乃至不可忍受的02传统数据库却没有办法像webserver那样简单的通过添加更多的服务器来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展往往需要停机维护03•海量数据处理:需要处理pb级别的数据量•大规模集群管理:更加简单的分布式部署•极速的读写响应:提高用户的使用体验•低成本的建设和运营:大量部署时,大幅降低软件授权费用•什么是NoSql数据库?•NoSql即NotOnlySQL•是与传统关系型数据库对应的,也可理解为•norelational,即非关系型数据库•NoSql数据库的特征•1、不需要预定义模式:即不需要先设计表结构。他的数据格式是松散的,数据库中的每条记录都可能有不同的属性和格式。•2、弹性可扩展:可以在不停机的情况下添加或删除节点•3、不支持标准SQL类型常见数据库优点缺点应用场景键值数据库RedisMemcacheDBDynamo快速查询存储的数据缺少结构化内容缓存,处理高负载。也可充当消息队列列存储数据库HBaseBigTable查找速度快,可扩展性强,更容易进行分布式扩展功能相对局限分布式文件系统文档型数据库MongoDBCouchDB数据结构要求不严格查询性能不高与key-value类似,不过数据库能知道value内容图形(Graph)数据库Neo4J利用图结构相关算法不易集群专注于构建关系图谱数据库类型特征优点缺点关系型数据库1、关系型数据库的最大特点就是事务的一致性;2、简单来说,关系模型指的就是二维表格模型1、容易理解:二维表结构是非常容易理解;2、使用方便:支持SQL,可用于复杂的查询;3、易于维护:丰富的完整性大大减低了数据冗余和数据不一致的概率;1、为了维护一致性所付出的巨大代价就是其读写性能比较差;2、固定的表结构;3、高并发读写需求;4、海量数据的高效率读写;非关系型数据库1、使用键值对存储数据;2、分布式;3、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。1、无需经过sql层的解析,读写性能很高;2、基于键值对,数据没有耦合性,容易扩展;1、不提供sql支持,学习和使用成本较高;2、无事务处理,附加功能bi和报表等支持也不好;•1、数据模型比较简单•2、灵活性更强的IT系统•3、对数据库性能要求较高•4、不需要高度的数据一致性•redis是将数据存放到内存中,由于内容存取速度快所以redis被广泛应用在互联网项目中,redis优点:存取速度快,官方称读取速度会达到30万次每秒,写速度在10万次每秒,具体限制于硬件。•数据类型:string,hash,list(列表),set(集合)•缺点:对持久化支持不够良好。•所以redis一般不作为数据的主数据库存储,一般配合传统的关系型数据库使用.•缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)•分布式集群架构中的session分离。•聊天室的在线好友列表。•任务队列。(秒杀、抢购、12306等等)缓冲削峰THANKYOU.
本文标题:非关系型数据库讲解
链接地址:https://www.777doc.com/doc-3094885 .html