概述
redis–非关系型数据库
1.NOSQL
概念:NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。是对所有非关系型数据库的一种统称。出去关系型数据库之外的都是非关系型数据库。
在现代的计算系统上每天网络上都会产生庞大的数据量。
这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。 1970年 E.F.Codd’s提出的关系模型的论文 “A relational model of data for large shared data banks”,这使得数据建模和应用程序编程更加简单。
通过应用实践证明,关系模型是非常适合于客户服务器编程,远远超出预期的利益,今天它是结构化数据存储在网络和商务应用的主导技术。
NoSQL 是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
2.NOSQL和RDBMS的区别
RDBMS
- 高度组织化结构化数据。 user—userid username age sex …
- 结构化查询语言(SQL) sql语句
- 数据和关系都存储在单独的表中。
- 数据操纵语言DML,数据定义语言DDL
- 严格的一致性. 事务
- 基于事务
NOSQL
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 键 - 值对存储。
- 最终一致性,而非ACID【原子,一致,隔离,持久】属性
- 非结构化和不可预知的数据 字符串 对象 队列 集合
- 高性能,高可用性和可伸缩性。 适合搭建集群。 mysql搭建集群。非常复杂。主从模式
3.常见的NOSQL数据库类型
类型:
1.文档数据库——这些数据库通常将每个键与称为文档的复杂数据结构配对。文档可以包含键数组对、键值对甚至嵌套文档。示例:MongoDB
、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
2. 键值存储——每个单独的项都存储为键值对。键值存储是所有NoSQL数据库中最简单的数据库。示例:Redis
, Memcached, Apache Ignite, Riak。
3. 宽列存储——这些类型的数据库针对大型数据集上的查询进行了优化,它们将数据列存储在一起,而不是行。示例:Cassandra,Hbase,Scylla。
4. 图形存储——这些存储关于图形、网络的信息,例如社会关系、路线图、交通链接。示例:Neo4j,AllegroGraph。
4.redis与mongdb区别
REDIS就属于非关系型数据库
MONGDB也属于非关系型数据库----接近mysql数据库
MongoDB是最著名的NoSQL数据库。它是一个面向文档的开源数据库。MongoDB是一个可伸缩和可访问的数据库。它在c++中。MongoDB同样可以用作文件系统。在MongoDB中,JavaScript可以作为查询语言使用。通过使用sharding MongoDB水平伸缩。它在流行的JavaScript框架中非常有用。人们真的很享受分片、高级文本搜索、gridFS和map-reduce功能。惊人的性能和新特性使这个NoSQL数据库在我们的列表中名列第一。
特点:
- 提供高性能;
- 自动分片;
- 运行在多个服务器上;
- 支持主从复制;
- 数据以JSON样式文档的形式存储;
- 索引文档中的任何字段;
- 由于数据被放置在碎片中,所以它具有自动负载平衡配置;
- 支持正则表达式搜索;在失败的情况下易于管理。
优点:
- 易于安装MongoDB;
- MongoDB Inc.为客户提供专业支持;
- 支持临时查询;
- 高速数据库;
- 无模式数据库;
- 横向扩展数据库;
- 性能非常高。
缺点:
- 不支持连接;
- 数据量大;
- 嵌套文档是有限的;
- 增加不必要的内存使用
5.redis非关系数据库
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(set)和有序集合(sorted set)等类型。
6.为什么使用redis
1.Redis读取的速度是110000次/s,写的速度是81000次/s
2.原子 Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
4.持久化–磁盘,主从复制(集群)
5.官方不支持window系统,但是又第三方版本。 linux系统。
最后
以上就是炙热太阳为你收集整理的redis--非关系型数据库redis–非关系型数据库的全部内容,希望文章能够帮你解决redis--非关系型数据库redis–非关系型数据库所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复