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集群简历长连接的方式,不断从集群中拉取消息,然后对消息进行处理;同一个主题下,消费者和生产这的数量并不是对应的,
短连接,是值通讯双方在有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
Redis、MPP、kafka 、MongDB简介的更多相关文章
- Redis Cluster搭建方法简介22211111
Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼ Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅 ...
- kafka原理简介并且与RabbitMQ的选择
kafka原理简介并且与RabbitMQ的选择 kafka原理简介,rabbitMQ介绍,大致说一下区别 Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和 ...
- redis、kafka、rabittMQ对比
本文不对三者之间的性能进行对比,只是从三者的特性上区分他们,并指出三者的不用应用场景. 1.publish/subscribe 发布订阅模式如下图所示可以具有多个生产者和发布者,redis.kafka ...
- redis、kafka、rabittMQ对比 (转)
本文不对三者之间的性能进行对比,只是从三者的特性上区分他们,并指出三者的不用应用场景. 1.publish/subscribe 发布订阅模式如下图所示可以具有多个生产者和发布者,redis.kafka ...
- 替代Flume——Kafka Connect简介
我们知道过去对于Kafka的定义是分布式,分区化的,带备份机制的日志提交服务.也就是一个分布式的消息队列,这也是他最常见的用法.但是Kafka不止于此,打开最新的官网. 我们看到Kafka最新的定义是 ...
- 最简单流处理引擎——Kafka Streaming简介
Kafka在0.10.0.0版本以前的定位是分布式,分区化的,带备份机制的日志提交服务.而kafka在这之前也没有提供数据处理的顾服务.大家的流处理计算主要是还是依赖于Storm,Spark Stre ...
- Kafka Connect简介
Kafka Connect简介 http://colobu.com/2016/02/24/kafka-connect/#more Kafka 0.9+增加了一个新的特性Kafka Connect,可以 ...
- Kafka学习之路 (一)Kafka的简介
一.简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/ng ...
- Kafka(一)Kafka的简介与架构
一.简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/ng ...
随机推荐
- Angular本地数据存储LocalStorage
//本地存储数据===================================.factory('locals',['$window',function($window){ return{ / ...
- C++和G++手工开栈的=_=
微软的编译器(C++) #pragma comment(linker, "/STACK:102400000,102400000") G++ << ; // 256MB ...
- NSIS语法解析
注释.!define.变量.!include.常量 ; Script generated by the HM NIS Edit Script Wizard. ; HM NIS Edit Wizard ...
- DVWA 之medium级别sql注入
中级注入的提交方式从get请求改为post请求,可以用burp抓包注入或抓注入点 1 . 判断是否有注入 sqlmap -u "http://192.168.242.1/dvw/vulne ...
- 转载 Python 安装setuptools和pip工具操作方法(必看)
本文章转载自 脚本之家 http://www.jb51.net 感谢! setuptools模块和pip模块是python进行第三方库扩展的极重要工具,例如我们在需要安装一些爬虫或者数据分析的包时就 ...
- Django--csrf跨站请求伪造、Auth认证模块
form表单中使用跨站请求伪造 { % csrf_token % } 会动态生成一个input框,内部的value是随机刷新的 如果不想校验csrf from django.views.decorat ...
- leetcode 847. Shortest Path Visiting All Nodes 无向连通图遍历最短路径
设计最短路径 用bfs 天然带最短路径 每一个状态是 当前的阶段 和已经访问过的节点 下面是正确但是超时的代码 class Solution: def shortestPathLength(self, ...
- js中的自执行匿名函数 (function(){})()
JS函数有两种命名方式 1.声明式 声明式会导致函数提升,function会被解释器优先编译.即我们用声明式写函数,可以在任何区域声明,不会影响我们调用. function XXX(){} 2.函数表 ...
- DAO设计模式总结
1.DAO(Data Access Object,数据访问对象),主要的功能是用于进行数据操作的,在程序的标准开发框架中属于数据层的操作. 数据开发结构流程: 资源层是数据库的操作层,里面可以进行各种 ...
- HDFS体系结构概述