1.2.3 MongoDB缺点:
1. 不支持事务。
2. MongoDB占用空间过大 。
3. MongoDB没有成熟的维护工具。
??
1.2.4 MongoDB应用场景
1. 适用于实时的插入、更新与查询的需求,并具备应用程序实时数据存储所需的复制及高度伸缩性;
2. 非常适合文档化格式的存储及查询;
3. 高伸缩性的场景:MongoDB 非常适合由数十或者数百台服务器组成的数据库。
4. 对性能的关注超过对功能的要求。
??
1.3 HBase
HBase 是 Apache Hadoop 中的一个子项目,属于 bigtable 的开源版本,所实现的语言为Java(故依赖 Java SDK)。HBase 依托于 Hadoop 的 HDFS(分布式文件系统)作为最基本存储基础单元。
??
1.3.1.HBase 特点:
所用语言: Java
特点:支持数十亿行X上百万列
使用许可: Apache
协议:HTTP/REST (支持 Thrift,见编注4)
在 BigTable之后建模
采用分布式架构 Map/reduce
对实时查询进行优化
高性能 Thrift网关
通过在server端扫描及过滤实现对查询操作预判
支持 XML, Protobuf, 和binary的HTTP
Cascading, hive, and pig source and sink modules
基于 Jruby( JIRB)的shell
对配置改变和较小的升级都会重新回滚
不会出现单点故障
堪比MySQL的随机访问性能
??
1.3.2 HBase 优点
1. 存储容量大,一个表可以容纳上亿行,上百万列;
2. 可通过版本进行检索,能搜到所需的历史版本数据;
3. 负载高时,可通过简单的添加机器来实现水平切分扩展,跟Hadoop的无缝集成保障了其数据可靠性(HDFS)和海量数据分析的高性能(MapReduce);
4. 在第3点的基础上可有效避免单点故障的发生。
? ?
1.3.3 HBase 缺点
1. 基于Java语言实现及Hadoop架构意味着其API更适用于Java项目;
2. node开发环境下所需依赖项较多、配置麻烦(或不知如何配置,如持久化配置),缺乏文档;
3. 占用内存很大,且鉴于建立在为批量分析而优化的HDFS上,导致读取性能不高;
4. API相比其它 NoSql 的相对笨拙。
??
1.3.4 HBase 适用场景
1. bigtable类型的数据存储;
2. 对数据有版本查询需求;
3. 应对超大数据量要求扩展简单的需求。
??
1.4 Redis
Redis 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的API。目前由VMware主持开发工作。
??
1.4.1 Redis 特点:
所用语言:C/C++
特点:运行异常快
使用许可: BSD
协议:类 Telnet
有硬盘存储支持的内存数据库,
但自2.0版本以后可以将数据交换到硬盘(注意, 2.4以后版本不支持该特性!)
Master-slave复制(见编注3)
虽然采用简单数据或以键值索引的哈希表,但也支持复杂操作,例如 ZREVRANGEBYSCORE。
INCR & co (适合计算极限值或统计数据)
支持 sets(同时也支持 union/diff/inter)
支持列表(同时也支持队列;阻塞式 pop操作)
支持哈希表(带有多个域的对象)
支持排序 sets(高得分表,适用于范围查询)
Redis支持事务
支持将数据设置成过期数据(类似快速缓冲区设计)
Pub/Sub允许用户实现消息机制
??
1.4.2 Redis 优势
1. 非常丰富的数据结构;
2. Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断;
3. 数据存在内存中,读写非常的高速,可以达到10w/s的频率。
??
1.4.3 Redis 缺点
1. Redis3.0后才出来官方的集群方案,但仍存在一些架构上的问题;
2. 持久化功能体验不佳——通过快照方法实现的话,需要每隔一段时间将整个数据库的数据写到磁盘上,代价非常高;而aof方法只追踪变化的数据,类似于mysql的binlog方法,但追加log可能过
大,同时所有操作均要重新执行一遍,恢复速度慢;
3. 由于是内存数据库,所以,单台机器,存储的数据量,跟机器本身的内存大小。虽然redis本身有key过期策略,但是还是需要提前预估和节约内存。如果内存增长过快,需要定期删除数据。
??
1.4.4 Redis 应用场景:
最佳应用场景:适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序。
例如:微博、数据分析、实时数据搜集、实时通讯等。
?
2.Redis的介绍
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构。
??
3.Redis安装
??
3.1 安装软件下载
通过wget命令下载,将软件下载到/opt目录下
http://download.redis.io/releases/redis-4.0.14.tar.gz
??
??
3.2 解压缩
[root@bobo01 opt]# tar -zxvf redis-4.0.14.tar.gz
??
删除源文件就重命名文件夹。
??
3.3 编译安装
因为Redis是C语音编写的,所以我们需要编译安装,首先进入redis目录,然后安装依赖环境。
yum install -y wget gcc make tcl
??
然后执行
make MALLOC=libc
? ??
??
进入src目录下执行编译安装命令
make install
??
??
表示安装成功!
??
3.4 启动Redis服务
./src/redis-server
??
??
通过客户端程序连接接口。
./src/redis-cli
??
??
表示客户端连接成功。
??
3.5 启动配置
如果我们直接通过redis-server来启动,会以一个单独的会话进程来启动,当我们关闭该会话的时候,Redis服务也被关闭了,这时我们可以通过修改src同级目录下redis.conf文件来配置Redis守护进程启动。
??
启动Redis服务
文章来源:https://blog.csdn.net/m0_52514893/article/details/135395652
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!