1、什么是数据库
通俗来讲,数据库就是用于存储数据的仓库。很多人可能会问,存储数据用文件不就行了吗?为什么还要弄数据库?
文件存储数据具有以下几个缺点:
- 文件的安全性问题
- 文件不利于查询和数据库管理
- 文件不利于存放海量数据
- 文件在程序中控制不方便
为了解决上面这些问题,专家们设计了更加有利于我们管理数据的工具——数据库。数据库的使用方便了我们对数据的操作、管理和控制,数据库的操作水平也是衡量一个程序员能力的重要指标。
2、MySQL数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。
MySQL是最流行的RDBMS(关系型数据库管理系统)之一,关系型数据库将数据保存在不同的表中,而不是把所有数据放在一个大仓库内,这样就提高了数据库的速度和灵活性。
MySQL所使用的sql语言是用于访问数据库的最常用的标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,为多种编程语言提供了API,尤其是开放源码这一特点,一般的中小型网站的开发都使用MySQL作为网站数据库。
3、关系型数据库和非关系型数据库的比较
(1)关系型数据库
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。
优点:
- 易于维护:使用的都是表结构,格式一致;
- 使用方便:sql语言通用,可用于复杂查询;
缺点:
- 读写性能较差,尤其是海量数据的高效率读写;
- 固定的表结构,灵活度稍欠;
- 高并发读写需求对于传统的关系型数据库来说,硬盘I/O是一个很大的瓶颈;
(2)非关系型数据库
Nosql(Not only sql,非关系型数据库)严格上不是一种数据库,应该是一种数据结构化存储的集合,可以使文档或者键值对等
优点:
- 格式灵活:存储数据的格式可以是键值对形式、文档形式、图片形式等等,使用灵活,应用场景广泛;
- 速度快;
- 高扩展性;
缺点:
- 不提供sql支持
- 无事务处理
- 数据结构相对复杂,复杂查询方面稍欠