1.什么是Nosql?
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟--以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本。这里列出一些比较知名的工具,可以为大数据建立快速、可扩展的存储库。
2.NOSQL和RDBMS的区别
RDBMS --关系型数据库
-
高度组织化结构化数据。 --表结构 列 列....
-
结构化查询语言(SQL) sql语句
-
数据和关系都存储在单独的表中。
-
数据操纵语言DML,数据定义语言DDL
-
严格的一致性. ACID 原子性 隔离性 持久性 一致性
-
基于事务----都支持事务
NoSQL
-
代表着不仅仅是SQL
-
没有声明性查询语言
-
键 - 值对存储。
-
非结构化和不可预知的数据 字符串 集合 对象 队列
-
高性能,高可用性和可伸缩性。 ----便于搭建集群---挂载
3.Nosql之redis
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、==可基于内存亦可持久化的日志型==、Key-Value数据库,并提供多种语言的API .[很多语言可以连接该redis]
Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构[存放的数据类型],例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。
redis特点:
1.Redis读取的速度是110000次/s,写的速度是81000次/s。
2.原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
4.持久化,默认在内存中进行计算。可以持久化到磁盘。
5. 主从复制(集群)
5.官方不支持window系统,但是又第三方版本。 linux系统。
4.安装redis
(1)把下载好的redis软件放在Linux系统的根目录下解压
tar -zxvf redis-7.0.11.tar.gz
(2) 进入到解压目录进行编译和安装
make ##编译
make install ##安装
(3) 启动redis
redis-server 安装路径/redis.conf ##配置文件所在的路径
启动成功!
5.Redis的配置文件
vi/redis-7.0.11/redis.conf ##编辑redis配置文件
6.redis客户端连接redis服务器
redis-cli #连接本地redis服务
redis-cli -h 192.168.134.129 -p 6379
#-h: redis服务器主机的ip
#-p: redis服务器的端口号
7. 安装redis的客户端的UI软件