zoukankan      html  css  js  c++  java
  • Redis、MPP、kafka 、MongDB简介

    Redis :间值数据库,适合缓存用户Session会话与经常需要查的数据
    1.Redis集群,为什么在项目中使用集群
      1.持久化,持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要左右是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失;
    2、复制:主从复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可用的。复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。
    3、哨兵:在复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;存储能力受到单机的限制。
    4、集群:通过集群,Redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。

    MongDB:是一个高性能,开源,无模式的文档型数据库,京东用它保存商品数据。
    MongDB可以通过副本集、分片来扩展数据库性能;传统的关系型数据库一般是与数据库、表、记录三个层次概念组成,MongDB是由数据库、集合、文档对象三个层次组成。数据库对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。
    MongDB主要解决的是海量数据的访问效率问题。因为MongDB主要支持海量数据存储的,所以MongDB自带了了一个出色的分布式文件系统GridFS,可以支持海量数据的存储。
    但是它不支持事务,没有SQL系统

    MPP架构分布式数据库,主机、操作系统、内存、存储都是自我控制的,不存在共享。也就是每个节点都是一个独立的数据库。节点之间的信息交互是通过节点互联网络实现。
    通过将数据分布到多个节点上来实现规模数据的存储,通过并行查询处理来提高查询性能。把小数据库组织起来形成一个大数据库。各个节点不共享资源,每个executor可以独自完成数据的读取和计算。
    (这里,我看到一个“木桶短板”原理,我们这边应用场景是抽取各业务系统的数据,那是不是能够把各个业务系统理解为每个节点;但是木桶短板原理,如果出现一个业务系统出现问题,是不是全盘崩溃)
    底层的实例是postgresql;实际用的是greenplum (Greenplum是一种基于PostgreSQL的分布式数据库)
    MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到的最终的结果。
    MPP架构特征:
     任务并行执行;
     数据分布式存储(本地化)
     分布式计算
     私有资源:每个节点只能访问自己本地的资源
     横向扩展
     Shared Nothing架构 (无共享结构)


    kafka  是一个分布式流媒体平台:
        发布和订阅消息流,这个功能类似于消息队列;
        以容错的方式记录消息流,kafka以文件的方式来存储消息流
        可以在消息发布的时候进行处理
    主要应用场景:
      在系统或应用程序之间构建可靠的用于传输实时数据的管道,消息队列功能
      构建实时的流数据处理程序来变换或处理数据流,数据处理功能
     通过对消息指定主题可以将消息分类,消费者可以只关注自己需要的topic中的消息
    消费者是通过与kafka集群简历长连接的方式,不断从集群中拉取消息,然后对消息进行处理;同一个主题下,消费者和生产这的数量并不是对应的,
    短连接,是值通讯双方在有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。

  • 相关阅读:
    二分题目
    求最小公倍数的最简模板
    用 vue 脚手架 vue-cli 初始化(新建)项目
    电脑没有声音
    node.js 安装步骤
    phpStrom编辑器 通过 git 提交代码到 gitlab
    jq 实现头像(气泡式浮动)
    微信网页授权 、获取用户昵称 头像等信息
    秒格式化 “秒” 为 天 时 分 秒
    改变swiper 按钮swiper-button-next 颜色
  • 原文地址:https://www.cnblogs.com/llywy/p/10103187.html
Copyright © 2011-2022 走看看