码迷,mamicode.com
首页 > 数据库 > 详细

数据库介绍与分类

时间:2014-11-15 14:00:40      阅读:40333      评论:1      收藏:0      [点我收藏+]

标签:blog   http   io   ar   os   使用   sp   java   for   

目录

数据库介绍与分类... 1

1.1 数据库介绍... 2

1.1.1什么是数据库... 2

1.2数据库的种类... 2

1.2.1关系型数据库介绍... 2

1.2.2非关系型数据库介绍... 3

1.3 常用关系型数据库产品介绍... 4

1.3.1 Oracle数据库... 4

1.3.2 MySQL数据库... 5

1.3.3 MariaDB数据库... 5

1.3.4 SqlServer数据库... 6

1.3.5 Access数据库... 6

1.3.6 其他不常用数据库... 6

1.4 常用非关系型数据库产品介绍... 6

1.4.1 Memcached(key-value)... 6

1.4.2 Redis(key-value)... 7

1.4.3 MongoDB(Document-oriented)... 8

1.4.4 Cassandra(Column-oriented)... 8

1.4.5 其他不常用非关系型数据库... 8

1.5 数据库相关知识... 9

1.5.1数据库软件企业应用排名参考... 9

 

 

1.1      数据库介绍

1.1.1什么是数据库

简单的说,数据库(database)就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据提供的多种方法来管理数据库里的数据。

当人们收集了大量的数据后,应该把它们保存起来进入近一步的处理,进一步的抽取有用的信息。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。

1.2数据库的种类

    数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。而在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库。

1.2.1关系型数据库介绍

(1)、关系型数据库的由来

    虽然网状数据库和层次数据库已经很好的解决了数据的集中和共享问题,但是在数据库独立性和抽象级别上扔有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而关系型数据库就可以较好的解决这些问题。

(2)、关系型数据库介绍

  关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。

  关系型数据库诞生40多年了,从理论产生发展到现实产品,例如:Oracle和MySQL,Oracle在数据库领域上升到霸主地位,形成每年高达数百亿美元的庞大产业市场。

(3)、关系型数据库表格之间的关系举例

 

学生表

学号

姓名

年龄

S001

张三

24

S002

李四

25

S003

王二麻子

26

 

 

课程表

课程号

课程名

学分

C001

Linux

25

C002

Python

25

C003

MySQL

25

 

选课表

学号

课程号

成绩

S001

C001

90

S002

C001

97

S003

C001

94

 

1.2.2非关系型数据库介绍

1.2.2.1 非关系型数据库诞生背景

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSql数据库在特定的场景下可以发挥出难以想象的高效率和高性能,它是作为对传统关系型数据库的一个有效的补充。

   NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

 

1.2.2.2 非关系型数据库种类

(1)、键值存储数据库(key-value)

 键值数据库就类似传统语言中使用的哈希表。可以通过key来添加、查询或者删除数据库,因为使用key主键访问,所以会获得很高的性能及扩展性。

键值数据库主要使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署、高并发。

典型产品:Memcached、Redis、MemcacheDB

(2)、列存储(Column-oriented)数据库

列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,比如人类,我们经常会查询某个人的姓名和年龄,而不是薪资。这种情况下姓名和年龄会被放到一个列族中,薪资会被放到另一个列族中。

这种数据库通常用来应对分布式存储海量数据。

典型产品:Cassandra、HBase

(3)、面向文档(Document-Oriented)数据库

文档型数据库的灵感是来自于Lotus Notes办公软件,而且它同第一种键值数据库类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。

面向文档数据库会将数据以文档形式存储。每个文档都是自包含的数据单元,是一系列数据项的集合。每个数据项都有一个名词与对应值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。数据存储的最小单位是