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集群简历长连接的方式,不断从集群中拉取消息,然后对消息进行处理;同一个主题下,消费者和生产这的数量并不是对应的,
短连接,是值通讯双方在有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。

Redis、MPP、kafka 、MongDB简介的更多相关文章

  1. Redis Cluster搭建方法简介22211111

    Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼       Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅 ...

  2. kafka原理简介并且与RabbitMQ的选择

    kafka原理简介并且与RabbitMQ的选择 kafka原理简介,rabbitMQ介绍,大致说一下区别 Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和 ...

  3. redis、kafka、rabittMQ对比

    本文不对三者之间的性能进行对比,只是从三者的特性上区分他们,并指出三者的不用应用场景. 1.publish/subscribe 发布订阅模式如下图所示可以具有多个生产者和发布者,redis.kafka ...

  4. redis、kafka、rabittMQ对比 (转)

    本文不对三者之间的性能进行对比,只是从三者的特性上区分他们,并指出三者的不用应用场景. 1.publish/subscribe 发布订阅模式如下图所示可以具有多个生产者和发布者,redis.kafka ...

  5. 替代Flume——Kafka Connect简介

    我们知道过去对于Kafka的定义是分布式,分区化的,带备份机制的日志提交服务.也就是一个分布式的消息队列,这也是他最常见的用法.但是Kafka不止于此,打开最新的官网. 我们看到Kafka最新的定义是 ...

  6. 最简单流处理引擎——Kafka Streaming简介

    Kafka在0.10.0.0版本以前的定位是分布式,分区化的,带备份机制的日志提交服务.而kafka在这之前也没有提供数据处理的顾服务.大家的流处理计算主要是还是依赖于Storm,Spark Stre ...

  7. Kafka Connect简介

    Kafka Connect简介 http://colobu.com/2016/02/24/kafka-connect/#more Kafka 0.9+增加了一个新的特性Kafka Connect,可以 ...

  8. Kafka学习之路 (一)Kafka的简介

    一.简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/ng ...

  9. Kafka(一)Kafka的简介与架构

    一.简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/ng ...

随机推荐

  1. error LNK2005:"private:__thiscall编译错误

    对于这种编译错误,网上给出了很多解决办法,大部分都是忽略特定库,或者改变多线程调试DLL,但是均没有效果. 这里记录下自己的解决方法,首先按照下图,取消从父级或项目默认设置继承,避免与其他库中的定义冲 ...

  2. CSS样式汇总(转载)

    1.字体属性:(font) 大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX.PD 样式 {font-style: o ...

  3. JavaScript 的 WebAssembly

    本周发布的 Firefox 52 加入了对 WebAssembly 的支持,成为第一个支持 WebAssembly 标准的浏览器,而其它浏览器如 Chrome 57.Safari 和 Edge 也都会 ...

  4. python-web-webbrower-beautifuSoup

    webbrowser:是 Python 自带的,打开浏览器获取指定页面. requests:从因特网上下载文件和网页. Beautiful Soup:解析 HTML,即网页编写的格式. seleniu ...

  5. Leetcode448.Find All Numbers Disappeared in an Array找到所有数组中消失的数字

    给定一个范围在  1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次. 找到所有在 [1, n] 范围之间没有出现在数组中的数字. 您能在不 ...

  6. TZ_11_Spring-Boot的整合SpringMvc和MyBatis

    1.整合SpringMVC 虽然默认配置已经可以使用SpringMVC了,不过我们有时候需要进行自定义配置. 1>修改方式 通过application.yaml 此名字不需要使用@Propert ...

  7. iview 小问题笔记

    总结一下用 iview 组件期间遇到的小问题.一边做项目一边做笔记. 官方文档:iview API 按需引入: 1,iview 分页组件 <Page :total="aboutPage ...

  8. zeroclipboard复制插件兼容IE8

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. Activity、FragmentActivity和AppCompatActivity的区别

    Activity Activity是最基础的一个,是其它类的直接或间接父类. Activity中只能使用系统自带的host Fragment(API Level 11中加入),对应getFragmen ...

  10. mysql8.0 安装版没有my.ini

    这时候,打开 benchmark,看一下实际路径就好了