zoukankan      html  css  js  c++  java
  • NoSQL(Redis、Menchche、MongoDB)

    Not Only Sql 非关系型数据库

    关系型数据库在超大规模数据、高并发环境中性能低、数据表扩展难。

    关系型数据库和非关系型数据库

    (1)存储

      关系型数据库,表中的行和列,满足范式,表之间的关系明确,表结构事先定义、修改表结构困难

      NoSQL,以键值对存储数据、图;动态结构,很容易适应表结构的变化

    (2)事务

      关系型:ACID(原子性、一致性、隔离性、持久性)、事务回滚

      NoSQL:BASE(基本可用+柔性事务+最终一致性);ACP中的两个(可用性、一致性、分区容忍性)

    (3)性能

      NoSQL存取快

    NoSQL

    1.容易扩展
        数据之间无关系,容易扩展,这样,在架构层面上带来了可扩展的能力。
    2.大数据量、高性能
        数据库的结构简单,非常高的读写性能(一秒钟写8万次,读10万次)
        NoSQL的cache是记录级的,是一种细粒度的cache,而MySQL使用query cache,每次表的更新cache就会失效,是一种大粒度的cache。
    3.多样灵活的数据模型
        传统的关系型数据库:事先为要存储的数据建立字段,增删字段非常麻烦
        NoSQL:不需要事先建立字段,随时存储自定义的数据格式,增删字段容易
     
    1.Redis
      支持多种数据结构(String List Set Sortset  hash),但是在处理String类型的数据会耗费较多内存
      支持持久化(aof、rdb)将内存中的数据保存在磁盘中,重启可再次加载使用
      支持数据备份(主从配置)
      单线程,所有命令串行执行,在并发情况下不用考虑一致性问题,但是单线程对CPU的性能要求高
      对事务的支持不成熟
    2.Memcache
      支持的数据类型少
      无法持久化、不能数据备份、只能用作缓存、重启后数据丢失
    3.MongDb
      更高的插入优势
      当数据表的规模较大时,可以很容易分割表
      可以快速、安全、自动地实现节点故障转移
      不支持事务
  • 相关阅读:
    ThinkPhp框架分页查询和部分框架知识
    tp框架增删改
    WAMP中mysql服务突然无法启动 解决方法
    thinkphp框架 的 链接数据库和操作数据
    php 全局使用laravel的dd和dump
    给centos装图形界面 widowsx
    marquee标签的使用
    微信公众号开发入门教程
    laravel admin引入css js报错 https
    利用Croppie裁剪图片并后台保存
  • 原文地址:https://www.cnblogs.com/duanjiapingjy/p/9409013.html
Copyright © 2011-2022 走看看