Redis基础架构搭建实验
前言
本文重点在于后面的基础架构搭建过程,前面会简单的介绍非关系型数据库与关系型数据库的不同点和Redis的运用场景,如有遗漏与错误的地方,欢迎大家指正批评。
基本理论说明
NoSQL是什么?
NoSQL,指的是非关系型的数据库。NoSQL 有时也称作 Not Only SQL(意即"不仅仅是SQL") 的缩写,其显著特点是不使用SQL作为查询语言,数据存储不需要特定的表格模式。
NoSQL(非关系型)数据库和SQL(关系型)数据库的各自主要代表
SQL
MariaDB、MySQL、SQLite、SQLServer、Oracle、PostgreSQL。
NoSQL
Redis、MongoDB、Memcache、HBASE。
NoSQL与SQL的应用场景
NoSQL适合存储非结构化数据
如发微博、文章、评论:
- 这些数据一般用于模糊处理,如全文搜索、机器学习
- 这些数据是海量的,并且增加的速度是难以预期的,
- 根据数据的特色,NoSQL数据库一般具备无限(至少接近)伸缩性
- 按key获取数据效率很高,可是对join或其余结构化查询的支持就比较差
关系型数据库适合存储结构化数据
如用户的账号、地址等:架构
-
这些数据一般须要作结构化查询,好比join,这时候,关系型数据库就要胜出一筹
-
这些数据的规模、增加的速度一般是能够预期的
-
保证数据的事务性、一致性要求。
目前许多大型互联网项目都会选用MySQL(或任何关系型数据库) + NoSQL的组合方案。
NoSQL(非关系型)数据库和SQL(关系型)数据库的区别
存储方式
- 关系型数据库是表格式的,因此存储在表的行和列中。他们之间很容易关联协作存储,提取数据很方便。
- NoSQL数据库则与其相反,它是大块的组合在一起。通常存储在数据集中,就像文档、键值对或者图结构。
存储结构
- 关系型数据库对应的是结构化数据,数据表都预先定义了结构(列的定义),结构描述了数据的形式和内容。预定义结构带来了可靠性和稳定性,但是修改这些数据比较困难。
- NoSQL数据库基于动态结构,使用与非结构化数据。由于NoSQL数据库是动态结构,可以很容易适应数据类型和结构的变化。
存储规范
- 关系型数据库的数据存储为了更高的规范性,把数据分割为最小的关系表以避免重复,获得精简的空间利用。
- NoSQL数据存储在平面数据集中,数据经常可能会重复。单个数据库很少被分隔开,而是存储成了一个整体,这样整块数据更加便于读写 。
存储扩展
- 关系型数据库数据存储在关系表中,操作的性能瓶颈可能涉及到多个表,需要通过提升计算机性能