MYSQL运维管理-mysql数据库介绍1
1常用关系型数据库
1.1 Oracle数据库
主要应用范围:传统企业,大公司,政府,金融,证券等等。
版本升级:Oracle8i,Oracle9i,Oracle10q,Oracle11g
1.2 Mysql数据库
目前MySQL被广泛地应用在Internet上的大中小型网站中,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多大中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL数据库主要应用范围:互联网领域,大中小型网站,游戏公司,电商平台等等。
1.3 MariaDB数据库
MariaDB数据库管理系统是MySQL数据库的一个分支,主要由开源社区维护,采用GPL授权许可。开发这个MariaDB数据库分支的可能原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的风险,因此MySQL开源社区采用分支的方式来避开这个风险。MariaDB数据库的名称来自MySQL的创始人Michael Widenius的女儿Maria的名字。
MariaDB基于事务的Maria存储引擎,替换了MySQL的InnoDB存储引擎,它使用了Percona的XtraDB(InnoDB的变体)。这个版本还包括了PrimeBase XT(PBXT)和Federated X存储引擎。
1.4 SQL server
Microsoft SQL Server 是微软公司开发的大型关系型数据库。
主要应用范围:部分企业电商,使用windows服务平台的企业。
1.5 Access数据库
Access数据库是美国Microsoft公司于1994年推出的微机数据库管理系统,它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面关系型数据库管理系统。它是Microsoft Office的成员之一。
Access是入门级小型桌面数据库,性能安全性都很一般,可供个人管理或小型网站使用。它主要适用于中小型应用系统,或作为客户机/服务器系统中的客户端数据库。
早期应用领域:小型程序系统asp+access系统,留言板、校友录等。
2 常用非关系型数据库
2.1 Memcached(key-value)
Memcached是一个开源的、高性能的、具有分布式内存对象的缓存系统。通过它可以减轻数据库负担,加载动态的web应用。缓存一般用来保存一些经常被存取的对象或数据,通过缓存来存取对象或数据要比在磁盘上存取快很多。Memcached是一种纯内存缓存系统,把经常存取的对象或数据缓存在Memcached的内存中,这些缓存的数据被程序通过API的方式被存取Memcached 里面的数据就像一张巨大的HASH表,数据以key-value的方式存在。Memcached通过缓存经常被存取的对象或数据,从而减轻频繁读取数据库的压力、提高网站的响应速度,构建出速度更快的可扩展的web应用,官方:http://memcached.org/。
由于Memcached为纯内存缓存软件,一旦重启所有数据都会丢失,因此,新浪网基于Memcached开发了一个开源项目Memcachedb.通过Memcached增加Berkeley DB的持久化存储机制和异步主铺复制机制,使Memcached具备了事务恢复能力,持久化数据存储能力和分布式复制能力,Memcached非常适合需要超高性能读写速度、持久化保存的应用场景,但是近几年逐渐被持久化产品取代例如:redis。
2.2 Redis(key-value)
和Memcached类似,redis也是一个key-value型的存储系统,单redis支持的存储value类型相对更多,包括string(字符串)、set(集合)和zset(有序集合)等。Redis的数据都是缓存在内存中,区别是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
官方:http://www.redis.io/documentation
Redis特点:
(1)支持内容缓存,这个功能相当于memcached。
(2)支持持久化,这个功能相当于memcachedb,ttserver。
(3)数据库类型更丰富,比其他key-value库功能更强。
(4)支持集群,分布式。
(5)支持队列等特殊功能。
2.3 MongoDB(Document-oriented)
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongodb最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言。
Mongodb更详细文档:http://www.mongodb.org/display/DOCS/Manual
2.4 Cassandra(Column-oriented)
Apache Cassandra是一套开源分布式Key-Value存储系统。
主要特性:
(1)分布式
(2)基于column的结构化
(3)高伸展性
Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构造的一个分布式网络服务。
3.为什么选择MySQL数据库
MySQL数据库的到底有哪些优势和特点呢,让大家都选择它?
原因可能有以下几点:
(1)MySQL性能卓越,服务稳定,很少出现异常宕机。
(2)MySQL开放源代码且无版权制约,自主性及使用成本低。
(3)MySQL历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助。
(4)MySQL 软件体积小,安装使用简单,并且易于维护,安装及维护成本低。
(5)MySQL品牌口碑效应,使得企业无需考虑就直接用之 ,LAMP, LNMP(LEMP)流行架构。
(6)MySQL支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP语言有很好的支持。
4.
Mysql 数据库分类与版本升级
MySQL数据库的官方网站为http://www.mysql.com。
分为社区版和商业版而这两个版本又各自分为四个版本一次发布,这四个版本为:Alpha、Beta、RC和GA版本。
这四种发布版本之间的说明及区别,如下:
(1) Alpha版
Alpha版一般只在开发的公司内部运行,不对外公开。主要是开发者对自己的产品进行测试。
(2) Beta版
Beta版一般是完成功能的开发和所有的测试工作之后的产品,不会存在较大的功能或性能BUG,邀请或提供给用户体验与测试,以便更全面的测试软件的不足之处或存在的问题。
(3) RC版
RC版属于生产环境发布之前的一个小版本或候选版,是Beta版本的测试结果收集到的BUG或缺陷之处等收集到的信息,进行修复和完善之后的产品。
(4) GA版:
GA 版属于软件产品正式发布的版本,也称生产版本的产品,一般情况下企业的生产环境都会选择GA版本的MySQL软件。