数据库:按照一定的数据结构来组织和存储数据的仓库
非关系型数据库种类
1.键值(key-value)存储数据库,如memcached、redis、memcachedb、berkeley db
主要是使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据
memcached为纯内存软件,一旦重启所有数据都会丢失
redis的数据都是缓存在内存中,与memcached的区别是redis会周期性把更新的数据写入磁盘或者把修改操作写入追加的记录文件
2.列存储(column-oriented)数据库 Cassandra(360)、hbase(新浪)
一个列族存储经常被一起查询的相关数据,通常用来存储分布式的海量数据
3.面向文档(document-oriented)数据库 mongodb、couchdb
将数据以文档的形式存储,每个文档都是自包含的数据单元,是一系列数据项的集合,数据可以使用xml、json或者jsonb等多种形式
![](/qrcode.jpg)
Mongodb介于关系型和非关系型数据库之间,数据结构非常松散
4.图形(graph)数据库 neo4J、infogrid
将数据以图的方式存储,实体作为顶点,实体之间的关系作为边
常用关系型数据库
1.oracle
主要适用于传统大企业、大公司、政府、金融、证券等
2.mysql
主要适用于互联网领域、大中小型网站、游戏公司、电商平台等
3.mariaDB数据库
Mysql数据库的一个分支
4.sqlserver数据库
只能在windows系统下运行
5.access数据库
入门级桌面数据库
其他不常用的如DB2、PostgreSQL、informix、sybase
Mysql数据库优点
1.性能卓越、服务稳定,很少出现异常宕机情况
2.开放源代码且无版权制约,自主性强,使用成本低
3.历史悠久,社区及用户非常活跃,遇到问题可以寻求帮助
4.体积小,安装使用简单并且易于维护,安装及维护成本低
5.支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP有较好的支持
6.品牌口碑效应
mysql数据库分为商业版和社区版,这两个版本又各自分四个版本依次发布
alpha版:公司内部运行测试,不对外公开
beta:完成功能开发和测试之后的产品,不会存在较大功能或性能bug,可能会提供给用户体验与测试以便更全面收集产品不足之处进行修改
RC版:对beta版本进行bug或缺陷修复之后的版本
GA版:正式发布的版本
mysql三条产品线
第一条5.0.xx到5.1.xx产品线
第二条5.4.xx到5.7.xx产品线
第三条6.0.xx到7.1.xx产品线
mysqll软件命名,如mysql-5.0.56.tar.gz
第一个数字5是主版本号,描述了文件格式,主版本号相同的具有相同的文件格式
第二个数字0是发行级别,主版本号和发行级别组合构成发行序列号
第三个数字56是发行序列的版本号
如果相对于前一个版本增加了新功能或者有微小的不兼容性,字符串的第二个数字递增,如果文件格式改变则第一个数字递增