您的位置:首页 > 大数据

大数据学习笔记之三十五 NoSQL相关知识

2017-02-21 09:12 344 查看
1)

传统关系型数据的特点

  优点

      容易理解,二维结构

     使用方便,SQL语言是的操作方便

     高性能,出色的索引,高效的查询

     事务一致性,要个的强一致性支持

     易于维护,丰富的完整性降低了数据冗余和数据不一致的概率

缺点

     维护一致性会使系统的读写性能比较差

     由于固定的表结构,扩展性比较差

2)NoSQL:Not Only SQL

有良好、便捷的横向扩展性,可以满足海量数据的存储需求,NoSQL是一种无模式的存储模型,可以支持多样的数据模型

 2.1) 理论基础

    CAP理论
         对于一个分布式系统来讲,不可能同时满足一致性、可用性、分区容错性,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)不能同时满                足,所以为了高度的可用性,只能牺牲一致性,以最终一致性取而代之

   最终一致性

       过程松,结果紧,最终结果必须保持一致性

 2.2)分布式模型

    分片

       把一个数据库切分成多个部分放到不同的数据库节点中,从而缓解单一数据库的性能问题,数据库的各部分存放在不同的服务器上实现横向扩展

      类型

          水平切分

             将同一个表中的不同数据拆分到不同的数据库中,水平切分适合表不多,但是表数据特别多的情况,可以根据ID或者Hash来分

         垂直切分

             将不同的数据分片存放在独立的节点上,每个节点只负责自身数据的读取与写入操作,适合业务之间耦合度非常低、相互影响很小、业务逻辑非常清晰的系统

   复制

        主从复制

            由主节点接受更新请求操作,在事务操作完成后,在事务提交前或后讲操作通知其他从节点,从节点来处理所有的读请求

        对等复制

           节点间是对等的,可以通过多点提高事务的吞吐率

3)数据库分类

        列存储

            代表
HBase
Cassandra
Hypertable
   特点
按列存储结构,方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或某几列的查询具有I/O优势

      文档存储
代表
MongoDB
CouchDB
特点
用类似JSON的格式存储,存储的内容是文档类型的,便于对某些字段建立索引,实现关系型数据库的部分功能

     key-value存储
代表
Berkeley DB
MemcacheDB
Redis
特点
可以通过key快速查询响应value,不必考虑value的存储格式

    图数据库
代表
Neo4j

FlockDB

特点
图形关系的最佳存储,如果使用关系型数据库存储的话,性能低,而且设计复杂
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  架构 云计算 NoSQL