一、redis的学习前奏--NoSQL数据库的介绍(上)

来源:互联网 发布:空间句法软件 编辑:程序博客网 时间:2024/06/14 03:12

1、是什么:

NoSQL(NoSQL=Not Only SQL),意即“不仅仅是SQL”,泛指非关系型数据库。随着互联网web2.0网站的兴起,传统的关系型数据库再应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型数据则由于其本身的特点得到快速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据类型带来的挑战,尤其是大数据应用的难题,包括超大规模数据的存储

2、特性:

(1)、易扩展:NoSQL数据库种类繁多,但是都有一个特点就是去掉关系型数据库的关系型特性。数据之间无数据,这样就容易扩展。也无形之间,在架构层面上带来了可扩展的能力;

(2)、大数据量高性能:NoSQL数据库具有高性能的读写能力,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。一般MySQL使用Query Cache,每次表的更新Cache就失效,是一种大粒度的Cache,在针对web2.0的交互频繁的应用,Cache性能不高。而NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上来说就要性能高很多了;

(3)、多样灵活的数据模型:NoSQL无需事先为存储的数据建立字段,随时可以存储自定义的数据格式。而在关系型数据库中增删改是一件比较麻烦的事情,如果涉及非常大的数据表的时候,增加字段那真的是一个噩梦。

3、传统RDBMS VS NOSQL

RDBMS:

--高度组织化结构化数据

--结构化查询语言(SQL)

--数据和关系都单独的存储在单独的表中

--数据操纵语言,数据定义语言

--严格的一致性

--基础事物

NoSQL:

--代表着不仅仅是SQL

--没用申明式查询语言

--没有预定义的模式

4、当下的NoSQL经典应用(阿里巴巴中文网站首页)

1、商品的基本信息(名称、价格、出厂日期、厂家等):采用的是关系型数据库:mysql/oracle目前淘宝在去O(就是拿掉oracle),淘宝的Mysql是经过阿里的大牛就行改造过的;

2、商品描述、详情、评价信息(多文字类):多文字信息描述类,IO读写性能会变差,采用的MongDB进行存储;

3、商品的图片:存储在分布式的文件系统中(淘宝自己的TFS、Google的GFS、Hadoop的HDFS);

4、商品的关键字:搜索引擎,淘宝专用ISearch(淘宝大牛,尊称多隆的大神写的,有兴趣的可以百度一下他);

5、商品的波段性的热点高频信息:内存数据库(Tair、Redis、Memcache);

6、商品的交易、价格计算、积分累计:支付宝(淘宝大牛,尊称苗人凤创建的)

1 0
原创粉丝点击