摘要: 在Web应用的发展初期,“关系型数据库”得到了广泛的关注和应用,原因是因为当时的Web站点基本上访问量和并发量都不高。后来,随着访问量的不断攀升,使用关系型数据库的Web
在Web应用的发展初期,“关系型数据库”得到了广泛的关注和应用,原因是因为当时的Web站点基本上访问量和并发量都不高。后来,随着访问量的不断攀升,使用关系型数据库的Web站点或多或少都开始在性能上出现了一些瓶颈,而瓶颈的源头一般来自于磁盘的I/O(即输入和输出)上。随着互联网技术的进一步发展,尤其是移动互联网的出现,各种类型的应用层出不穷,这导致了在当今“云计算、大数据”盛行的时代,对性能有了更高的需求,主要体现在以下四个方面:
1、低延迟的读写速度:手机应用的快速反应,能极大地提升用户的满意度;
2、支撑海量的数据和流量:对于“搜索”这样高并发量的大型应用而言,需要利用PB级别的数据和能应对百万级的流量;
3、大规模集群的管理:系统管理员希望分布式应用,能进行更简单的部署和管理;
4、庞大运营成本的考量:企业的IT部门希望在“硬件成本、软件成本和人力成本”上能够有大幅度的降低;
为了解决应用对更高性能需求的问题,NoSQL(非关系型数据库)应运而生,它同时具备了“高性能、高可用性、可扩展性强”等优势和特点,因此广泛地受到了开发人员和系统管理员们的青睐。
一、Redis是一种什么样的数据库?
Redis是目前最受欢迎的NoSQL(非关系型数据库)之一,是一种使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的“键值对存储数据库”,其具有如下4种特性:
❶基于内存运行,性能高效;
❷支持分布式,理论上可以无限扩展;
❸key-value存储系统;
❹开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API(应用编程接口)。
Redis是一种什么样的数据库?
相比于其他数据库类型,Redis具备的特点是:
❶C/S(客户机/服务器)通讯模型;
❷单进程单线程模型;
❸丰富的数据类型;
❹持久化;
❺高并发读写;
❻支持lua脚本。
二、Redis的应用场景有哪些?
Redis 的应用场景,主要包括:缓存系统(“热点”数据:高频读、低频写)、计数器、消息队列系统、排行榜、社交网络和实时系统。
三、Redis提供的数据类型
Redis不仅仅只支持简单的“K-V形式”的数据存储,还支持“Hash 、list、set、zset”等集合类数据存储。Redis提供的数据类型,主要分为5种自有类型和一种自定义类型,这5种自有类型包括:String类型、哈希(Hash)类型、列表(List)类型、集合(Set)类型和顺序集合(ZSet)类型。
四、除了Redis,还有什么NoSQL(非关系)型数据库?
市面上类似于Redis,同样是NoSQL(非关系)型的数据库有很多,如下图所示,除了Redis,还有“MemCache、Cassadra和Mongo”。下面,我们分别对这几个数据库做一下简要的介绍:
1、 Memcache:这是一个和Redis非常相似的数据库,但是它的数据类型没有Redis丰富。Memcache由LiveJournal的Brad Fitzpatrick开发,作为一套分布式的高速缓存系统,被许多网站使用以提升网站的访问速度。Memcache对于一些大型的、需要频繁访问数据库的网站提升访问速度,效果十分显著。
2、 Apache Cassandra:(社区内一般简称为C*)这是一套开源分布式的NoSQL数据库系统。它最初由Facebook (脸书)开发,用于存储“收件箱”等简单格式的数据,集Google BigTable(谷歌设计的一种非关系型数据库)的数据模型与Amazon Dynamo(亚马逊研发的一套基于KV存储模型的数据库)的完全分布式架构于一身。Facebook(脸书)于2008年将 Cassandra 开源,由于其良好的可扩展性和性能,被 Apple(苹果)、Comcast(康卡斯特)、Instagram(照片墙)、Spotify(声田)、eBay(易贝)、Rackspace、Netflix(奈飞)等知名网站和企业所采用,成为了一种流行的分布式结构化数据存储方案。
3、 MongoDB:是一个基于分布式文件存储、面向文档的NoSQL数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,它是非关系数据库当中功能最丰富、最像关系型数据库的,支持的数据结构非常松散,是一种类似json的BSON格式。
声明:文章来自网络转载,若无意中有侵犯您权益的信息,请联系我们,我们会在第一时间删除!
相关文章推荐
智能手机建站的优点是什么?网站页面布局有哪些关键点? 2022-01-10
2022年中国云计算面临的问题及发展前景预测分析2021-12-28
绿色智能基础设施连接可持续未来-IDCC2021万国数据第一代Smart DC发布会议程揭晓2021-12-27
阿里云:早期未意识到Apache log4j2漏洞情况的严重性 将强化漏洞管理2021-12-27
云计算开发:Python3-replace()方法详解2021-12-27