不使用MySQL数据库的五个给力理由解析

在我们实际工作中,往往会能听到很多关于不使用MySQL数据库的理由,当然也有一些是对MySQL(和PHP搭配之最佳组合)的误解,下面我将讲述的是5个不使用MySQL(和PHP搭配之最佳组合)的响亮理由。

首先我们要知道,或许有一项技术存在很多理由让我们可以选择使用它,但是让我们不使用它往往只要有一个理由就足够了。选择一个软件产品同样也是如此。 MySQL数据库虽然应用很广泛,受到大家的青睐,但MySQL数据库也有负面的作用,下面就介绍五个不适用 MySQL数据库的给力理由。

1、MySQL(和PHP搭配之最佳组合)的授权方式

MySQL(和PHP搭配之最佳组合)采用双重授权(Dual Licensed),它们是GPL和MySQL(和PHP搭配之最佳组合) AB制定的商业许可协议。

如果你在一个遵循GPL的自由(开源)项目中使用MySQL(和PHP搭配之最佳组合),那么你可以遵循GPL协议使用MySQL(和PHP搭配之最佳组合)。然而,如果你的项目不是在GPL协议下的话,你必须为使用MySQL(和PHP搭配之最佳组合)来支付许可费用,或者你可能因为这个因素而将你的项目改为遵循GPL,那么你需要处理因此带来的更多的支持工作,这有可能会带来成本上的提高。在这种情况下,一些软件发行商可能倾向于选择别的开源数据库,例如遵循BSD授权的PostgreSQL。

2、产品成熟性

到2009年,甲骨文的数据库Oracle(大型网站数据库平台)已经诞生了30周年,而MySQL(和PHP搭配之最佳组合)却连它的一半时间都没有。微软的sql server(WINDOWS平台上强大的数据库平台)仅仅比MySQL(和PHP搭配之最佳组合)大两年,但是sql server(WINDOWS平台上强大的数据库平台)的发布是建立在Sybase的基础上,那时候Sybase已经诞生了6年的时间。至于其他值得关注的开源数据库,PostgreSQL将在2009年达到20岁的生日。虽然MySQL(和PHP搭配之最佳组合)并不是市场上最年轻的数据库,但是却有更多成熟的数据库可供我们选择。

当然,或许这并不是我们拒绝MySQL(和PHP搭配之最佳组合)的一个有说服力的理由,但是对于一些比较守旧的IT经理来说,在为一些关键业务选择平台的时候,平台的成熟性却是必须要考虑的一个因素,在这一点上,MySQL(和PHP搭配之最佳组合)无疑毫无优势。

3、功能设置成熟性

要想在MySQL(和PHP搭配之最佳组合)与其他数据库之间进行一个面面俱到的功能设置对比,并不是一件容易的事情。随着新软件版本的发布或一些补丁的推出,曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。

有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL(和PHP搭配之最佳组合) 4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL(和PHP搭配之最佳组合) 5.0中,大多数关系型数据库所要求的功能已经都具备,但是我们却有理由怀疑这些功能在MySQL(和PHP搭配之最佳组合) 5.0中的成熟性。充其量它们在MySQL(和PHP搭配之最佳组合)中被支持的时间也就一年左右,而在其他关系型数据库中则已经存在了近10年的时间。

4、认证的作用

尽管MySQL(和PHP搭配之最佳组合)也有一个认证培训项目,但是它的培训却要比Oracle(大型网站数据库平台)或MS-SQL相差很远。尽管有的使用MySQL(和PHP搭配之最佳组合)的用户表示,MySQL(和PHP搭配之最佳组合)很容易上手,但是对于具有企业级数据库需求的用户来说,无疑希望员工得到系统、有深度的培训,显然MySQL(和PHP搭配之最佳组合)在这一点上还做得很不够。

一个相关的问题是第三方支持的资格问题,尽管直接来自厂商的支持和服务可以一定程度上减缓这个问题,但是,对于有的企业来说,通过强有力的本地化支持显然更有吸引力。

5、关于可扩展的看法

关于这个理由我把它放在最后一位。在很多业界专家中有一个相当一致的观点:MySQL(和PHP搭配之最佳组合)不能很好的扩展。关于这点可能有很大的分歧,争论的焦点主要集中于水平可扩展性和垂直可扩展性上。MySQL(和PHP搭配之最佳组合)则更倾向于垂直可扩展性。

据我的观察,现在有一个趋势,那些经过正式培训的数据库管理员DBA更倾向于选择一个专有关系数据库,例如Oracle(大型网站数据库平台)。对于一些具有专门数据库管理员的比较大的环境来说,MySQL(和PHP搭配之最佳组合)很难得到宠爱,这时候,关于MySQL(和PHP搭配之最佳组合)是否真的具有良好的可扩展性的争论已经没有意义。

不可否认,MySQL(和PHP搭配之最佳组合)也是一个很好的关系型数据库,或许在技术上它与其他领先的关系数据库相差并不大,或不具有劣势。但是,对于一些企业环境来说,MySQL(和PHP搭配之最佳组合)显然不具有优势。 所以不要盲目随大流,也要根据其功能性能的好坏去选择,对MySQL数据库的选用也不是说一定不好,只是在上面这五点上做的不是很好,其他方面还是值得肯定的。

(0)

相关推荐

  • 不使用MySQL数据库的五个给力理由解析

    在我们实际工作中,往往会能听到很多关于不使用MySQL数据库的理由,当然也有一些是对MySQL(和PHP搭配之最佳组合)的误解,下面我将讲述的是5个不使用MySQL(和PHP搭配之最佳组合)的响亮理由. 首先我们要知道,或许有一项技术存在很多理由让我们可以选择使用它,但是让我们不使用它往往只要有一个理由就足够了.选择一个软件产品同样也是如此. MySQL数据库虽然应用很广泛,受到大家的青睐,但MySQL数据库也有负面的作用,下面就介绍五个不适用 MySQL数据库的给力理由. 1.MySQL(和P

  • 详解java连接mysql数据库的五种方式

    第一种方式:将用户名和密码封装在Properties类中 首先,导入数据库连接包这个是毋庸置疑的.创建一个jdbc驱动dirver.将数据库(以MySQL为例)的url保存在所创建的字符串url中.如果mysql版本低于8.0,则url保存形式应该为: String url = "jdbc:mysql://localhost:3306/test" 如果mysql版本为8.0版本或以上,url保存形式为: String url = "jdbc:mysql://localhost

  • MySQL数据库基础篇SQL窗口函数示例解析教程

    目录 本文简介 正文介绍 聚合函数 + over() 排序函数 + over() ntile()函数 + over() 偏移函数 + over() 本文简介 前段时间,黄同学写了一篇<MySQL窗口实战>文章(文章如下),但是里面大多数是以实战练习为主,没有做详细的解释. 传送门:MySQL实战窗口函数SQL分析班级学生考试成绩及生活消费 于是,私信了月牙美女,看看她能否写一篇<窗口函数基础篇>,正好和之前那篇文章配套.这不,很快她就写好了,今天就给大家做一个分享,旨在和大家交流学

  • Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置的详细方法

    如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装,如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk.tomcat.eclipse我们就已经能进行我们的程序开发了,但是如果要做一个项目,哪怕是小的不能再小的项目都离不开数据的存储呀!!!没错,咱们还差一个最重要的软件没有装,也就是数据库!!!如果没有了数据库,咱们做项目简直是空想

  • MySQL学习第五天 MySQL数据库基本操作

    本文针对MySQL数据库基本操作进行学习研究,需要了解的朋友不要错过这篇文章. 以下均是在Windows 64位操作系统下的命令行使用. 学习之前我们先来解释一下MySQL语法格式中的一些符号代表的含义: (1)中括号([])表示存在或者不存在都可以,是可选参数.比如:SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr];此语法格式中的[]括起来的内容是可以不加的. (2)大括号({})表示命令中必须出现,是必选参数.  比如:CREA

  • 从零学习node.js之mysql数据库的操作(五)

    准备工作 在使用node操作mysql数据库时,需要先下载mysql模块: npm install mysql --save-dev 在引入mysql模块后,就可以进行数据库的连接和其他的操作了. // test.js var mysql = require('mysql'); 一.连接数据库 首先保证本地已经安装数据库,并已正常启动,然后开始进行连接: // test.js var mysql = require('mysql'); // 创建连接 var conn = mysql.creat

  • java jdbc连接mysql数据库实现增删改查操作

    jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的时候才能更好的去理解这些成熟的框架是如何去实现增删改查

  • 用命令创建MySQL数据库(de1)的方法

    一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1. 连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户 名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2.连接到远程主机上的MYSQL.假设远程主机的IP为

  • MySQL数据库修复方法(MyISAM/InnoDB)

    在网上找了篇MySQL的技术文章,感觉不错,把它翻译过来共享下.   原文作者:Mike Peters   我整理了7条修复MySQL数据库的方法,当简单的重启对数据库不起作用,或者有表崩溃时.   简单的MySQL重启:   /usr/local/mysql/bin/mysqladmin -uUSERNAME -pPASSWORD shutdown /usr/local/mysql/bin/mysqld_safe &    1.MyISAM表崩溃    MySQL数据库允许不同的表使用不同的存

  • Mysql数据库锁定机制详细介绍

    前言 为了保证数据的一致完整性,任何一个数据库都存在锁定机制.锁定机制的优劣直接应想到一个数据库系统的并发处理能力和性能,所以锁定机制的实现也就成为了各种数据库的核心技术之一.本章将对MySQL中两种使用最为频繁的存储引擎MyISAM和Innodb各自的锁定机制进行较为详细的分析. MySQL锁定机制简介 数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问访问变得有序所设计的一种规则.对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外.MyS

随机推荐