非关系型数据库
(1)键值(key-value)存储数据库 (Memcached,redis…)
(2)列存储(Column-oriented)数据库 (Cassandra,HBase..)大型企业会用到
(3)面向文档(Document-oriented)数据库 (MongoDB,CouchDB…)
(4)图形(Graph)数据库 (Neo4J,InfoGr id…)
什么是数据库?
数据库(Databases),存放数据的仓库
数据库种类
1. 早期数据库理论比较流行的数据库模型:层次式数据库、网络式数据库、关系型数据库
2. 当今互联网中嘴常用的数据库模型:非关系型数据库(NoSQL)、关系型数据库
关系型数据库的介绍
1. 关系型数据库的由来
2. 关系型数据库介绍
类似于excel表格这种二维表格,使用结构化查询语言SQL语句进行操作
非关系型数据库介绍(NoSQL:Not Only SQL)
1. 关系型数据库的由来
非关系型数据库是关系型数据库的一种补充,就是为了解决Web2.0时代高并发高吞吐量的需求
2. 关系型数据库产品介绍:
1. ORACLE
2. 主要应用范围:传统大企业,大公司,政府,金融,证券等等
3. 版本升级:Oracle8i,Oracle9i,Oracle10g,Oracle11g
4. 缺点:代码繁重,臃肿,使用成本高
5. MySQL
1. 主要应用范围:互联网领域,大中小型网站,游戏公司,电商平台等等
2. 2008年1月16号被Sun公司收购,后Sun公司又被Oracle收购
3. 特点:体积小,速度快,使用成本低,代码开源
6. MariaDB
MaridDB是MySQL数据库的一个分支,主要由开源社区维护
7. SQL Server
微软公司的大型关系型数据库系统
8. Access数据库
微机数据库管理系统
非关系型数据库产品介绍
- Memcached
特点:快,数据存储在内存中
延伸产品:Memcachedb 进行持久化保存,超高性能读写速度 - Redis
- MongoDB
介于关系型数据库和非关系型数据库之间的产品
MySQL数据库产品
- MySQL数据库介绍
特点:不是把数据同一存放在一个大仓库里,而是把数据保存在不用的表中,再将这些表放入不同的数据库中,这样设计增加了MySQL的读取速度,灵活性可管理型也得到了很大提高。访问以及管理MySQL数据库的最常用标准化语言为SQL结构化查询语言 为什么选择MySQL数据库
BAT:百度、阿里、腾讯
优势特点:- 性能卓越、服务稳定,很少出现异常宕机
- 开放源代码且无版权制约,自主性及使用成本低
- 历史悠久,社区及用户非常活跃,遇到问题可以非常方便的寻求帮助
- 软件体积小,安装使用简单,并且易于维护,安装及维护成本低
- 品牌口碑效应,使得企业无需考虑就直接用,LAMP,LNMP(LEMP)流行架构
- 支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP语言有很好的支持
双授权:商业版(收费)、社区版(开源免费)
产品路线:在发展到5.1系列版本之后重新规划为三条产品线
企业生产场景选择MySQL数据库建议:- 稳定版:选择开源的社区版的稳定版GA版本
- 产品线:可以选择5.1或5.5.互联网公司主流5.5,其次是5.1和5.6
- 选择MySQL数据库GA版发布后6个月以上的GA版本
- 要选择前后几个月没有大的BUG修复的版本,而不是大量修复BUG的集中版本
- 最好向后较长时间没有更新发布的版本
- 要考虑开发人员开发程序使用的版本是否兼容你选的版本
- 作为内部开发测试数据库环境,跑大概3-6个月的时间
- 优先企业非核心业务采用新版本的数据库GA版本软件
- 向DBA高手请教,或者在技术氛围好的群里和大家一起交流,使用真正的高手们用过的好用的GA版本产品
- 经过上述工序之后,若是没有重要的功能BUG或性能瓶颈,则可以开始考虑作为任何业务数据服务的后端数据库软件
MySQL数据库企业生产常用安装方法
- yum/rpm安装
- yum install mysql-server
- 应用场景:
- 适合对数据库要求不太高的场合,例如并发不大,公司内部,企业内部的一些应用场景
- 大的门户网站把源码根据企业的需求制作成rpm,自己搭建yum仓库,再用yum install xxx -y进行安装
- 常规方式编译安装MySQL
- 采用cmake方式编译安装MySQL
- 采用二进制方式免编译安装MySQL
如何正确选择MySQL的安装方式