一、什么是数据库?
简单来说,数据库是个存放数据的仓库,并按照一定的数据结构来组织和存储,我们可以通过数据库提供的多种方法来管理数据库中的数据
二、非关系型数据库的种类 No SQL
web2.0的兴起,海量数据、大规模并发,例如微信、sns
1、键值(Key-Value)存储数据库
典型产品:Memcached(纯内存缓存系统、快、数据易丢失)、>Redis、MemcacheDB、Berkeley DB
2、列存储(Column-oriented)数据库
典型产品:Cassandra、HBase--大企业用
3、面向文档(Document-orient)数据库
典型产品:MongoDB(介于关系非关系间,查询功能大)、CouchDB
4、图形(Graph)数据库
典型产品:Neo4J、InfoGid
三、关系型数据库的种类
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。关系模型就是指二维表格,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织,使用mysql进行数据操作。
MySql(被Oracle收购),开发者为瑞典公司,广泛应用在Internet的大中小型网站中,游戏公司,电商平台。
Oracle前身叫SDL(传统行业大企业需要,互联网公司去ioe,转型MySql)
MariaDB数据库管理系统是MySql数据库的一个分支,Mysql被收购后发展起来,直到5.5版本,均按照mysql版本发行。
其他关系型数据库:Sql Server数据库、Access、DB2、PostgreSQL、InformixSysbase
四、 MySQL数据库入门
Mysql数据库,遵循GPL
是关系型数据库管理系统,特点是将数据保存在不同的二维表中,再将这些表放入不同的数据库中,而不是将所有的数据统一放在一个大仓库里,这样设计增加了的读取速度,灵活性可管理性也得到很大提高,访问以及管理的最常用标准化语言为SQL结构化查询语言
由瑞典MySQL公司开发维护2006年被SUN收购 2008年被oracle公司收购
Mysql数据库的特点
- 性能卓越,服务稳定,很少出现宕机
- 开放源代码且无版权制约,自主性及使用成本低
- 历史悠久、社区用户活跃,遇到问题,可以寻求帮助
- 软件体积小,安装简单易维护
- 品牌口碑效应,LAMP,LEMP流行
- 支持多种操作系统,提供多种API,支持多种开发语言,特别对PHP
MYsql数据库的分类和版本升级
- 采用双授权政策,分为社区版和商业版,两个版本又各自分四个版本依次发布
- Alpha、内部运行,不对外公开
- Beta、完成功能开发和内部工作之后的产品,不存在较大的功能或性能bug
- RC、生产环境发布之前的小版本,beta完善
- GA、产品正式发布的版本
商业版和社区版区别
- 商业版本组织管理与测试环节控制更加严格,稳定性方面,会比社区版更加稳定
- MySql是成熟产品,两者在性能方面相差不大
- 商业版不遵守GPL协议
- 使用商业版可以购买相关服务,享受7*24小时技术支持及补丁服务
- 社区版本的维护服务职能靠社区提供,完全免费,社区版的服务质量与时效性等方面就无法与MysqL AB公司提供的服务相比了
MySQL在发展到5.1版本后,重新规划为三条产品线http://dev.mysql.com/downloads/mysql
- 第一条 5.0.x.x到5.1.x.x,早期的延续
- 第二条 5.4.x.x到5.7.x.x为了整合Mysql AB公司社区和第三方公司开发的新存储引擎,以及吸收新的实现算法等,从而更好的支持SMP架构。(对称多处理结构Symmetrical Multi-Processing)(mysql5.5互联网公司主流)
- 第三条 6.0.x.x到7.1.x.x MySql 集群
Mysql数据库软件名介绍
mysql-5.0.56.tar.gz <======> 主版本.发行级别.发行系列的版本号
生产场景如何选择MySQL版本(最终建议)
- 稳定版:选择开源的社区版的稳定版GA版本
- 产品线:可以选在5.1或5.5.互联网公司主流5.5,其次是5.1和5.6
- 选在MySql数据库GA版本发布6月以上的GA版本
- 选择前后几个月没有大的BUG修复的版本,而不是大量修复BUG的集中版本
- 最好向后较长时间没有更新发布的版本
- 要考虑开发人员开发程序使用的版本是否兼容你选的版本
- 作为内部开发测试数据库环境,跑大概3-6个月
- 优先企业非核心业务采用新版本的数据库GA版本软件
- 向DBA高手请教,或者在技术氛围好的群里和大家一起交流,使用真正的高手们用过的好用的GA版本
- 经过上述条件,若没有重要的功能BUG或性能瓶颈,则可以开始考虑作为任何业务数据服务的后端数据库软件