1、数据库概述
按照一定数据结构存放数据的仓库
2、非关系型数据库(NoSQL数据库)
非关系型数据库的诞生
非关系型数据库主要为了适对 web2.0 动态应用的大数据、高并发、高吞吐而诞生,因为关系型数据库
大部分存储在磁盘,用SQL语句读取,还要保持数据一致性,追寻ACID理论,说白了繁重。
非关系型数据库的种类
A:键值(Key-Value)存储数据库
产品:Memcached(纯内存的nosql数据库)、Redis(持久化的nosql数据库,支持内存又支持磁盘)、MemcacheDB、Berkeley DB
Memcached:百度在用,快,一重启数据就丢失。
MemcacheDB:新浪开发,通过Memcached在后边增加Berkeley DB做持久化存储
Redis:新浪也在用,所以用的人也不少。没有MemcacheDB好,因为需要学习连接,而MemcacheDB连接与Memcached相同。
数据也是写在内存中,区别是Redis周期性把更新的数据写到磁盘或者把修改操作写入追加的记录文件。
B:列(Column-oriented)存储数据库
产品:Cassandra(360、Facebook)、HBase(新浪)(小公司不用,月薪一万五以下不用玩,嘻嘻)
C:面向文档(Document-Oriented)数据库
以文档形式存储,每一个文档就是就是一个数据包源
产品:MongoDB(有潜力,灵活)、CouchDB
MongoDB:关系数据库和非关系数据库之间产品,数据结构非常松散,类似 json 的 bjson 格式,查询语言非常强大。
D:面向图像数据库
以图的方式存储
非关系型数据库的闲话
互联网公司的瓶颈在存储和数据库,因为极难扩展。
从架构解决数据库瓶颈:在数据前用Memcached减轻数据库压力,把数据内容导出做静态做成html。
3、关系型数据库
二维表格形式,使用结构化语言SQL语句来对数据进行存取
相比非关系型明确存储结构,指出存储路径
产品:MySQL、Oracle
MySQL:互联网潮流去IOE,淘宝将Oracle换成MySQL。BAT没有不用的。体积小,速度快、成本低。
Oracle:传统大企业,大公司,政府,金融,证券等。人才饱和。工资一万。
MariaDB:目的兼容MySQL防止MySQL闭源。不用,除非MySQL闭源。
SQL Server:微软平台大型关系型数据库。
Access:微机数据库,入门级小型桌面。小型程序系统,asp+access系统,留言板、校友录等。
DB2、PostgreSQL、Informix、Sybase等:不常用,互联网没有。
体系:.Net、C#、SQL Server。web服务器、IOS。Linux平台、阿帕奇、Ngix、PHP、Java、MySQL、Oracle。
4、选择MySQL数据库
A:大家选择原因 a:性能卓越,服务稳定,很少出现异常宕机。 b:开放源代码且无版权制约,自主性及使用成本低。 c:历史悠久,社区及用户非常活跃,遇到问题可以寻求帮助。 d:软件体积小,安装使用简单,并且易于维护,安装及维护成本低。 e:品牌口碑效应,使得企业无需考虑就直接使用,LAMP,LEMP流行框架。 f:支持多种操作系统,提供多种API接口,支持多种开发语言。特别对流行的PHP有很好的支持。 B:所有的通信都是通过Socket间的IO进行操作的
5、MySQL发展的三条产品线
MySQL在发展到5.1系列版本之后,重新规划为三条产品线 A:第一条 -5.0.XX 到5.1.XX 的产品线 MySQL早期产品正宗的延续系列,当前稳定发布系列。只针对漏洞进行修复和安全修复重新发布,没有增加影响稳定的新功能。 B:第二条 -5.4.XX 到5.7.XX 的产品线 MySQL AB公司社区和第三方公司开发的新存储引擎,以及吸收新的实现算法等。 大部分互联网公司使用5.5。 C:第三条 -6.0.XX 到7.1.XX 的产品线 主要是MySQL Cluster,集群。 大公司都没有用,国内发展的不好。
6、MySQL 数据库软件命名介绍
mysql-5.0.56.tar.gz 第一个数字(5)是版本号 第二个数字(0)是发行级别,与第一个一起称作发行序列号 第三四个数字(56)是发行级别小版本号 主要选择GA生产版
7、MySQL版本选择最终建议
A:稳定版:选择开源的社区版的稳定版GA版 B:产品线:可以选择5.1或5.5。互联网公司主流5.5,其次是5.1和5.6。 C:选择MySQL数据库GA版发布6个月以上的GA版 D:要选择前后几个月没有打的BUG修复的版本 E:最好向后较长时间没有更新发布的版本 F:要考虑开发人员开发程序使用的版本是否兼容你选的版本 G:作为内部开发测试数据库环境,跑大概3-6个月的时间 H:优先企业非核心业务采用最新版本的数据库GA版本软件 I:向DBA高手请教,或者在及技术氛围好的群里和大家一起交流,使用真正的高手们用过的好用的GA版本产品 J:经过上述工序后,若是没有重要的功能BUG或性能瓶颈,则可以开始考虑作为任何业务数据服务的后端数据库软件
8、MySQL数据库企业生产常用5种安装方法介绍
A:yum方式安装mysql 只要执行 yum install mysql-server即可。 应用场合:要求不高,并发不大,公司及企业内部。 大的门户把源码根据企业的需求制作成 rpm,搭建 yum仓库,yum install xxx -y。 B:常规方式编译安装MySQL 第一条最正宗的产品线5.1及以前。 C:采用 cmake 的方式 编译安装MySQL 运维都使用编译方式 D:采用二进制方式免编译安装MySQL 简单方便,是主流 最终建议:首先是mysql5.5及以上的版本,安装数量不多选择 cmake 的方式。数量多用二进制的方式