zoukankan      html  css  js  c++  java
  • redis——数据库发展

    redis——数据库发展

    为什么要用nosql

    1.单机mysql年代(数据量小)

    这时候网站出现的瓶颈是什么?
    1.数据量如果太大,一个机器放不下
    2.数据的索引,一个机器内存也放不下
    3.访问量(读写混合),一个服务器承受不了
    只要你开始出现上面的情况,数据库必须要升级
    

    2.Memcached(缓存)+mysql+垂直拆分(读写分离)

    网站80%的情况都是在读,每次都要去查询数据库,很麻烦。为了减轻数据的压力,我们可以使用缓存来提高效率
    发展过程:优化数据结构和索引---->文件缓存(IO)---->Memcashed(当时热门技术)
    

    3.分库分表+水平拆分+MySql集群

    本质:数据库(读,写)

    4.现在

      2010-2020十年之间,世界已经发生了巨变。(定位,音乐,热榜)
      mysql等关系型数据库不够用!数据量很大,变化很快!
      mysql有的使用它来存储一些比较大的文件,博客,图片!数据库表很大,效率很低!如果有一种数据库来专门处理这种数据
      mysql压力就变得十分小(研究这些问题)
    

    为什么用nosql

      用户个人信息,社交网络,地理位置,用户自己产生的数据,用户日志等等爆发式增长
      这时候我们需要使用NoSql数据库。
    

    什么是NoSql

      NoSQl=Not Only Sql (不仅仅是sql)
      关系型数据库:表格,行,列
      泛指非关系型数据库。超大规模的高并发。
    

    NoSql特点

    解耦
    1.方便扩展(数据之间没有关系,很好扩展)
    2.大数据量高性能(redis一秒钟写8万次,读11万次,缓存记录级,是一种细粒度的缓存,高性能)
    3.数据类型是多样的!(不用设计数据库,随取随用)
    4.传统RDBMS和NoSQL

    3V+3高

    3V      1.海量Velume
            2.多样Variety
            3.实时Velocity
    
    3高     1.高并发
            2.高可扩
            3.高性能 
    

    公司实践,RDBMS+nosql一起使用的。

      阿里架构发展史
    

    ![](https://img2020.cnblogs.com/blog/2298258/202102/2298258-20210213185305460-1843793906.png

    架构师:没有什么加一层是解决不了的

    1.商品的基本信息
    名称、价格、商家信息
    关系型数据库可以解决  MySql/Oracle 
    2.商品的描述、评论(文字比较多)
    文档型的数据库,MongDB
    3.图片
         分布式文件系统 FastDFS
          淘宝自己的 TFS
          Gooale的 GFS
          Hadoop HDFS
          阿里云的  oss
    4、商品的关键字(搜索)
          -搜索引擎 solr elasticsearch
          -Isearch 多隆
          所有牛逼的人都有一段苦逼的岁月!但你只要像SB一样的去坚持,终将牛逼
    ##大型互联网应用问题
    * 数据类型太多了
    * 数据源繁多,经常重构
    * 数据要改造,大面积改造
    

    解决问题

    NoSQL的四大分类

    kv键值对:
      新浪:Redis
      美团:Redis+Tair
      阿里、百度:Redis+memecache
    文档型数据库(bson格式和json一样)
      1.MongoDB(一般必须要掌握)
          #MongoDB是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档
          #MongoDB是一个介于关系型数据库和非关系型数据库中间产品,MongoDB是菲关系数据库中功能最丰富的,是最像关系型数据库的。
      2.ConthDB
    列存储数据库
       1.HBase
       2.分布式文件系统
    
    图形关系数据库
      1.他不是存图形,放的是关系
      2.Neo4j,infoGrid;
    

    区别

  • 相关阅读:
    清理计算机硬盘
    DIY-组装
    go函数类型的使用
    go同步互斥锁
    Go读写文件
    go mod
    go html
    channel
    arp和rarp协议
    自己实现的反射
  • 原文地址:https://www.cnblogs.com/lvshuizhicheng/p/14400813.html
Copyright © 2011-2022 走看看