01Redis - NoSQL概述

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 01Redis - NoSQL概述

什么是NoSQL

NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。

为什么需要NoSQL

传统的关系数据库在应付web2.0的网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:

  • High performance - 对数据库高并发读写的需求
    web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常,往往达到每秒上万次读写请求。关系型数据库应付上万次SQL查询还勉强顶的住,但是应付上万次SQL写数据的请求,硬盘IO就已经无法承受了。其实对于普通的BBS网站,往往也存在对高并发写请求的需求,例如网站的实时统计在线用户的状态,记录热门帖子的点击次数,投票计数等,因此这是一个相当普遍的需求。
  • Huge Storage - 对海量数据的高效率存储和访问的需求
    类似于FaceBook,twitter,Friendfeed这样的SNS网站,每天用户产生海量的用户动态。以Friendfeed为例,一个月就达到了2.5亿条用户动态,对于关系型数据库来说,在一张2.5亿条记录的表里面进行SQL查询,效率是极其低下的。在例如大型web网站的用户登录系统,例如腾讯,盛大,动辄数以亿计的账号,关系型数据库也难以应付。
  • High Scalability && High Availability 对数据库的高可拓展性和高可用性的需求
    在基于web的架构当中,数据库时最难进行横向扩展的,当一个应用系统的用户量和访问量与日剧增的时候,你的数据库却没有办法像web server 和 app server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移,为什么数据库不能通过不断的添加服务器节点来扩展实现呢?

NoSQL 数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
7月前
|
存储 NoSQL 关系型数据库
什么是NoSQL?什么是redis?redis是做什么的?
什么是NoSQL?什么是redis?redis是做什么的?
99 1
|
NoSQL 关系型数据库 MySQL
【Redis 系列】redis 学习一,数据库的演进及 Nosql 的初步认知
【Redis 系列】redis 学习一,数据库的演进及 Nosql 的初步认知
|
4月前
|
SQL 存储 NoSQL
Redis6入门到实战------ 一、NoSQL数据库简介
这篇文章是关于NoSQL数据库的简介,讨论了技术发展、NoSQL数据库的概念、适用场景、不适用场景,以及常见的非关系型数据库。文章还提到了Web1.0到Web2.0时代的技术演进,以及解决CPU、内存和IO压力的方法,并对比了行式存储和列式存储数据库的特点。
Redis6入门到实战------ 一、NoSQL数据库简介
|
7月前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
490 9
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
6月前
|
NoSQL Java 关系型数据库
非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载
非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载
51 0
|
7月前
|
存储 NoSQL Redis
基于内存的分布式NoSQL数据库Redis(三)常用命令
基于内存的分布式NoSQL数据库Redis(三)常用命令
217 1
|
7月前
|
消息中间件 NoSQL 关系型数据库
在秒杀系统中redis的数据和mysql不一致了,要怎么检查出来了(概述)
在秒杀系统中redis的数据和mysql不一致了,要怎么检查出来了(概述)
94 0
|
7月前
|
消息中间件 NoSQL 关系型数据库
redis与mysql的数据一致性问题(概述)
redis与mysql的数据一致性问题(概述)
67 0
|
7月前
|
NoSQL 安全 Java
基于内存的分布式NoSQL数据库Redis(六)AOF设计
基于内存的分布式NoSQL数据库Redis(六)AOF设计
200 0
|
7月前
|
存储 分布式计算 NoSQL
基于内存的分布式NoSQL数据库Redis(五)数据存储与RDB设计
基于内存的分布式NoSQL数据库Redis(五)数据存储与RDB设计
203 0