技术话题:MYSQL与WEB2.0开发

互联网 | 编辑: 江海明 2006-11-23 12:00:00转载

       自己以后应该会做许多LAMP架构的东西,所以增加了一个MYSQL的分类,以后会在数据库方面多写一些。

  WEB2.0已经被人们说到滥了,但它的确让网站遍地开花,谁想去做就做了(几个穷学生凑点钱那种估计还是希望不大……)。这种低成本运做的方式,可能就是几个开发人员,几台主机,就可以支持几百万PV的站点。所以个人感觉总有些白手起家的味道,适合创业。
  
       MYSQL是WEB2.0的主力DBMS,发展到目前的5.0系列,具有免费的Licence,功能和性能也基本适应需求,又有LAMP架构的经典组合,这一两年在WEB开发中的使用已经非常普遍了。在几个方面说说自己的理解。

  功能方面,5.0开始,MYSQL支持存储过程、视图、事务、外键等必备的功能,Aria和InnoDB两种引擎基本可以覆盖非事务和事务方式的绝大部分操作了。不过还有许多新的功能需求点,现在5.1系列一直在beta中很久了(5.1.12),支持行级别replication、拆表和Cluster的不少新特性,而5.0系列的版本号已经出到了5.0.27。
  
       性能方面,我没有具体做过压力测试,而且与存储引擎关系很大,事务型的InnoDB会比非事务的Aria慢一点。性能调优是一个很大的主题,今后会写一些具体的内容。
  
       扩展性方面,主要有replication和cluster两种。replication是基于主从机制的多机服务,典型的一个主库多个从库的配置,适合写入不太频繁的系统,主库负责写操作,从库负责从主库同步数据并负责读操作。当读请求压力增加时,只需要增加从库就可以实现扩展。cluster是集群的概念,据说eBay和YAHOO都用的很多,完全不同的存储引擎,这方面性能参数不太了解,听说会吃掉很多的内存,适合高配置服务器。毕竟 replication会增加配置和运营的复杂度(如果有链式或类似多播的体系结构,维护就更复杂了,一致性也不好保证),扩展性还是有上限的,大概 cluster就是为了做这些。

为什么不用ORACLE/DB2/SQLSERVER?
  
       SQLSERVER先排除掉,它不适合白手起家的WEB2.0,需要正版Windows Server平台和正版SQL Server来避免纠纷。ORACLE/DB2其实自己都不太了解,(真正的DBA大牛们一般都是做这些的吧……)感觉它们现在都在往XML等信息整合的方向去做(做了这么多年,基本功能早做的没的做了吧),而且动不动就Pure Java来吃内存,配置不是太好的机器跑起来很吃力。用于商业的话,也一样要购买Licence,不是一般的贵……

  站在一个学生的角度,我会建议大二大三正在学习或打算学习数据库的同学去学习MYSQL,跳过SQLSERVER(而且还是D版的?)图形界面的屏蔽,动手敲一敲SQL语句,结合PHP或者JSP试着写一些简单的小系统。并且,建议希望今后做WEB方向的同学可以在校园里把MYSQL做好,基本目前所有的WEB公司在面WEB开发人员时都会要求MYSQL(BAIDU/YAHOO/DOUBAN)
  
       站在即将步入办公室(再次?)的开发人员的角度,我感觉其实需要了解和掌握的知识好有很多。运营几个几万访问量的站点与几百万访问量的站点,在技术要求上有天壤之别,从某种意义上说做WEB做大以后,想运营好还是需要比较高的门槛的(虽然开始步入这个圈子很容易)。

  MYSQL是属WEB的,在今后的WEB开发中也一定会继续扮演最重要的角色。后面关于MYSQL方面,我还会分主题写一些内容到这个新建的分类中。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑