Nosql简介
关系型数据库遵循ACID规则
1、A (Atomicity) 原子性
原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。
2、C (Consistency) 一致性
一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
3、I (Isolation) 独立性
所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。
4、D (Durability) 持久性
持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。
分布式计算的优点
1.可靠性(容错) :
分布式计算系统中的一个重要的优点是可靠性。一台服务器的系统崩溃并不影响到其余的服务器。
2.可扩展性:
在分布式计算系统可以根据需要增加更多的机器。
3.资源共享:
共享数据是必不可少的应用,如银行,预订系统。
4.灵活性:
由于该系统是非常灵活的,它很容易安装,实施和调试新的服务。
5.更快的速度:
分布式计算系统可以有多台计算机的计算能力,使得它比其他系统有更快的处理速度。
6.开放系统:
由于它是开放的系统,本地或者远程都可以访问到该服务。
7.更高的性能:
相较于集中式计算机网络集群可以提供更高的性能(及更好的性价比)。
什么是NoSQL?
1.NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
2.NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
NoSQL的优点/缺点
- 优点:
高可扩展性
分布式计算
低成本
架构的灵活性,半结构化数据
没有复杂的关系
- 缺点:
没有标准化
有限的查询功能(到目前为止)
最终一致是不直观的程序
Mongodb的安装
- 1.下载安装包,并解压 tgz
[root@zzsu srv]# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-
3.0.6.tgz
[root@zzsu srv]# tar xf mongodb-linux-x86_64-3.0.6.tgz
# 将解压包拷贝到指定目录
[root@zzsu srv]# mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb
- 2.命令行中运行 MongoDB 服务
# 数据库目录
[root@zzsu srv]# mkdir /data/db -p
[root@zzsu srv]# cd /usr/local/mongodb/
[root@zzsu mongodb]# cd bin/
[root@zzsu bin]# ./mongod
.....
port 27017 # mongodb的默认端口是27017
- 3.在后台运行
[root@zzsu bin]# ./mongod > /var/log/mongo.log &
[root@zzsu bin]# ps -ef | grep mongod
root 1862 1126 0 14:55 pts/2 00:00:00 ./mongod
[root@zzsu bin]# ss -lnpt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:27017 *:* users:(("mongod",pid=1862,fd=5))
- 4.MongoDB后台管理 Shell
[root@zzsu bin]# ./mongo
MongoDB shell version: 3.0.6
connecting to: test
....
# 由于它是一个JavaScript shell,您可以运行一些简单的算术运算:
> 3*3
9
> 10/4
2.5
- MongoDB安装完成
redis的安装
1.简介
三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
2.优势
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
3.安装
- 1.下载安装包、解压、安装
[root@zzsu srv]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz
[root@zzsu srv]# tar xf redis-2.8.17.tar.gz
[root@zzsu srv]# cd redis-2.8.17/
[root@zzsu redis-2.8.17]# make
- 2.启动redis服务
[root@zzsu redis-2.8.17]# cd src/
[root@zzsu src]# ./redis-server
#这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。
- 3.后台启动服务
#在配置文件redis.conf把daemonize no 改成daemonize yes
[root@zzsu redis-2.8.17]# cp redis.conf redis1.conf
[root@zzsu redis-2.8.17]# vim redis1.conf
#daemonize no
daemonize yes
#启动
[root@zzsu src]# ./redis-server ../redis1.conf
- 4.查看是否启动
[root@zzsu src]# ss -lnpt
LISTEN 0 128 *:6379 *:* users:(("redis-server",pid=6784,fd=5))
[root@zzsu src]# ps -ef | grep redis
root 6784 1 0 15:20 ? 00:00:00 ./redis-server *:6379
- 5.进入数据库
[root@zzsu src]# ./redis-cli
127.0.0.1:6379>
# 测试客户端程序redis-cli和redis服务交互
127.0.0.1:6379> set name xiefei
OK
127.0.0.1:6379> get name
"xiefei"
- redis安装成功