• NoSQL简介


    1.1 什么是NoSQL?
      NoSQL = Not Only SQL(不仅仅是SQL),也解释为非关系型数据库
      RDBMS(relationship database management ayatem)==>关系型数据库管理系统
       *互联网应用              传统应用
      1.用户量大,访问量大          用户少,访问量少,要求低
      2.高并发
      3.高可用(持续稳定运行->一部分异常后马上可以替换执行)
      4.海量数据
    ·不同应用的特征-->需要处理的问题-->对应解决办法对应的技术

    1.2 为什么使用NoSQL?
      关系型数据库的瓶颈
        1)无法处理大量集中的高并发操作
          RDBMS是IO密集型应用,硬盘IO与CPU之间冲突成为了性能瓶颈
          且其中有为保证数据准确性而有的锁机制限制
        2)表的存储记录数量有限
          横向处理能力有限
          纵向数据可承受能力有限,而且读写性能会随之下降
          解决性能问题==>每张表数据量进行限制=>分表-->又需要进行数据的位置判定(复杂)
        3)无法简单地通过增加硬件、服务节点来提高性能
        4)软硬件成本高
          DBMS大多会收费,对硬件要求较高
      所以-->解决互联网应用(RDBMS)存在的问题-->NoSQL出现

    1.3 NoSQL的优势
      1)大数据量,高并发
      2)灵活的数据模型
        没有表列字段的限制,且没有关系
      3)高可用
        可方便实现高可用的架构
       4)低成本
        开源免费,无特定硬件要求

    1.4NoSQL的劣势
      1)无关系,数据之间是无联系的
        所以-->数据冗余,修改操作多
      2)不支持标准的SQL,没有公认的NoSQL标准
        各厂家开发的库操作不同,学习难度加大
      3)没有数据的约束,大多数也也没有索引
      4)没有事务,需要依靠RDB实现事务
        没有事务-->没有锁,也就性能提高
      5)没有丰富的数据类型,只有文本类型

    处理了问题-->将不重要的影响性能的去掉-->成为了劣势,但性能提高了

    所以,两者进行搭配使用

  • 相关阅读:
    在Objective-C声明Block的几种方式
    属性初始化
    OC协议
    堆排序的OC实现
    iOS 应用性能测试的相关方法、工具及技巧
    墙裂推荐 iOS 资源大全
    剖析@weakify 和 @strongify
    iOS开发大神必备的Xcode插件
    聊聊 KVC 和 KVO 的高阶应用
    TableView的优化
  • 原文地址:https://www.cnblogs.com/ying-dong/p/12273652.html
Copyright © 2020-2023  润新知