mysl基础

1.数据库介绍

1.1什么是数据库

数据库就是一个春芳计算机数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或者数据之间的联系)来对数据进行组织和存储的,可以通过数据库提供的多种方法来管理其中的数据。

1.2数据库的种类

最常用得数据库模式主要有两种,即关系型数据库和非关系型数据库。

1.3生产环境常用的数据库

生产环境主流的关系型数据库有Oracle,Microsoft SQL Server,MySQL/MariaDB等;

生产环境主流的非关系型数据库有MongDB,Memcached,Redis

1.4关系型数据库

1.4.1关系型数据库介绍

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

关系型数据库可以很好地存储一些关系模型的数据比如一个老师应对多个学生的数据(”一对多“),一本书对应多个作者(”一对多“),一本书对应一个出版日期(”一对一“)

1.4.2关系型数据库小结

1.关系型数据库在存储数据时实际就是采用的一张二维表(和word和Excell里表格几乎一样)

2.市场上占有量较大的事MySQL和Oracle数据库,而互联网场景最常用的事MySQL数据库

3.通过SQL结构化查询语言来存取,管理关系型数据库的数据

4.关系型数据库在保持数据安全和数据一致性方面很强,遵循ACID理论ACID指的事物的四大特性

1.5非关系型数据库

1.5.1非关系型数据库产生的背景

  • 非关系型数据库也被称为 NoSQL 数据库,NoSQL 的本意是 “Not Only SQL”,指的是非关系型数据库,而不是“NO SQL”的意思,NoSQL 的产生并不是要彻底否定关系型数据库,而是作为传统数据库的一个有效补充。NoSQL 数据库在特定的场景下可以发挥难以想象的高效率和高性能。特别是对于规模日益扩大的海量数据,超大规模和高并发的微博、微信、SNS 类型的纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:传统的关系型数据库IO瓶颈、性能瓶颈都难以有效突破,于是开始出现了大批针对特定场景,以高性能和使用便利为目的功能特异化的数据库产品。NoSQL(非关系型)类的数据库就是这样的情景中诞生并得到了非常迅速的发展。

  • NoSQL 是非关系型数据库的广义定义。它打破了长久以来关系型数据库与ACID理论大一统的局面。NoSQL数据存储不需要固定的表结构,通常也不存在连续操作

1.5.2非关系型数据库的种类

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

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

3、面向文档(Document-Oriented)的数据库
- 面向文档数据库会将数据以文档的形式存储,数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON等多种形式存储。
- 典型产品:MongDB、CouchDB

4、图形(Graph)数据库
- 图形数据库允许我们将数据以图的方式存储。图形结构的数据库同其他行列以及刚性结构的 SQL 数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。
- 典型产品:Neo4J、InfoGr id

1.5.3非关系型数据库小结

1.NoSQL数据库不是否定关系型数据库,而是作为关系型数据库的一个重要补充

2.NoSQL数据库为了灵活及高性能,高并发而生

3.在NoSQL数据库领域,当今最典型的产品为Redis(持续化缓存),MongoDB,Mencached(纯内存)等。

4。NoSQL数据库没有标准的查询语言(SQL),通常使用数据接口或者查询API

1.6关系型数据库与非关系型数据库的区别

关系型数据库:

优点:

1.易于维护:都是使用表结构,格式一致;

2.方便使用:SQL语言通用,可用于复杂的查询;

3.复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

缺点:

1.读写性能较差,尤其是海量数据的高效率读写;

2.固定的表结构,灵活性欠缺;

3.高并发读写需求传统关系型数据库来说,硬盘I/O是个很大的瓶颈。

非关系型数据库:

1.格式灵活:存储数据的格式可以是key,value形式,文档形式,图片形式等,使用灵活,应用场景广泛;

2.速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;

3.高扩展性;

4.低成本:nosql数据库部署简单,基本都是开源软件。

缺点:

1.不提供sql支持;

2.无事务处理;

3.数据结构相对负载,负载查询方面欠缺。

2.MySQL数据库

2.1MySQL类型

1、MySQL Community Server

- MySQL Community Server是社区版本,开源免费,但不提供官方技术支持。MySQL Community Server也是我们通常用的MySQL的版本。根据不同的操作系统平台细分为多个版本。

 2、MySQL Enterprise Edition

- MySQL Enterprise Edition企业版本,需付费,可以试用30天。

3、MySQL Cluster

- MySQL Cluster集群版,开源免费。可将几个MySQL Server封装成一个Server。MySQL Cluster CGE 高级集群版,需付费。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值