数据库概念介绍

第一章 数据库概念介绍

1.1 数据库概念介绍

1.什么是数据库

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

2.数据库的种类

按照早期的数据库理论,比较流行的数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。而在当今的互联网中,最常用的数据库模型主要有两种,即关系型数据库和非关系型数据库。

2.1.关系型数据库介绍

(1)关系型数据库由来

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

(2)关系型数据库介绍

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

2.2.非关系型数据库介绍

1.非关系型数据库诞生背景
  非关系型数据库也被称为NoSQL数据库,请读者注意,NoSql的本意是"Not Only SQL",指的是非关系型数据库,而不是"No SQL"的意思(没有SQL语句),因此,NoSql的产生并不是要彻底地否定关系型数据库,而是作为传统关系型数据库的有一个有效补充。NoSQL数据库在特定的场景下可以发挥出难以想象的高效率和高性能。
  传统的关系型数据库IO瓶颈、性能瓶颈都难以有效突破,于是开始出现了大批针对特定场景,以高性能和使用便利为目的功能特异化的数据库产品,NoSQL(非关系型)类的数据库就是在这样的场景中诞生并得到了非常迅速的发展。
  NoSQL是非关系型数据库的广义定义。它打破了长久以来关系型与ACID理论大一统的局面。NoSQl数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。

2.非关系型数据库种类
(1)健值(Key-Value)存储数据库。
  健值数据库就类似于传统语言中使用的哈希表。可以用过key来添加、查询或者删除数据库,因为使用key主健访问,所以会获得很高的性能及扩展性。
健值(Key-Value)数据库主要使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据库。key/value模型对于IT系统来说的优势在于简单、易部署、高并发。

典型产品:Memcached、Redis、MemachedDB、Berkeley DB
(2)列存储(Column-oriented)数据库
  列存储数据库将数据存储在列族(column family)中,一个列族存储经常被一起查询的相关数据。举个例子,如果我们有一个Person类,我们通常会一起查询他们的姓名和年龄而不是薪资。这种情况下,姓名和年龄就会被放入一个列族中,而薪资则在另一个列族中。
这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。

典型产品:Cassandra,HBase
(3)面向文档(Document-Oriented) 数据库
  文档型数据库的灵感是来自于Lotus-Notes办公软件的,而且它同第一种键值存储类相似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效更高。
  面向文档数据库会将数据以文档的形式存储。每个文档都是自包含的数据单元,是一系列数据项的集合。每个数据项都有一个名称与对应的值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。数据存储的最小单位是文档,同一个表中存储的文档属性可以使不同的,数据可以使用XML、JSON或者JSONB等多种形式存储。

典型产品:MongoDB、CouchDB
(4)图形(Graph)数据库
  图形数据库允许我们将数据以图的方式存储。实体会被作为顶点,而实体之间的关系则会被作为边。比如我们有三个实体,Steve Jobs、Apple和Next,则会有两个“Founded by”的边将Apple和Next连接到Steve Jobs。

典型产品:Neo4J、InforGrid

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

(1)Oracle数据库
大型数据库
主要应用范围:传统大企业、大公司、政府、金融、证券等等。

(2)MySQL数据库
MySQL数据库是一个中小型关系型数据库管理系统,软件开发者为瑞典MySQL AB公司。
主要应用范围:互联网领域、大中小型网站、游戏公司、电商平台等。

(3)SQL Server数据库
2.4.常用非关系型数据库产品介绍
(1)Memcached(key-value)
(2)redis(key-value)
(3)MongoDB(Document-oritened)
3.为什么选择MySQL数据库
(1)MySQL性能卓越,服务稳定,很少出现异常宕机。
(2)MySQL开放源代码且无版权制约,自主性及使用成本低。
(3)MySQL历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助。
(4)MySQL软件体积小,安装使用简单,并且易于维护,安装及维护成本低。
(5)MySQL品牌口碑效应,使得企业无需考虑就直接用之,lamp,lnmp流行架构。
(6)MySQL支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP语言有很好的支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值