2009/03/26

Web项目开发与架构杂谈 (二)

数据库

    选择一个优秀的数据库对应用来说至关重要,简单的可以分为两类:收费和免费,当然免费也可以说不是绝对的。比较著名的数据库有:Oracle、DB2、SQL Server、MySQL、PostgreSQL等,还有很多优秀的数据库就不一一列举了。前面三个相对来说都比较庞大,不管是体系还是本身功能,购买相关许可都需要不菲的价格。由于自己比较贫困 :-)一直没有机会尝试,也就不提相关内容了。这里重点介绍下MySQL。对大部分应用来说可以认为MySQL是个免费的产品,不会为此付出相关费用。安装MySQL非常简单,支持大部分平台,推荐使用对应的平台的安装包进行安装当然也可以从源码安装,只要有个标准的C/C++编译器即可。MySQL非常小巧快速,很适合做互联网应用的后端数据库。兼容SQL标准,对于大部分用SQL能解决的应用绝对是利器。在5.0以后版本中也相继添加了其他商业数据库流行的功能:视图、存储过程和触发器等,不过这些相对来说还不如商业的成熟与稳定,喜欢尝鲜的朋友可以试试,当然这些新功能也不会太搓的拉。MySQL现在应用比较广泛的版本大致有两个:4.1和5.0。不需要太多功能的话使用4.1就足够了。另外在以后版本和Max版中MySQL也提供了一些更强劲的功能,比如:Cluster(有翻译叫簇)、表分区、其他数据库存储引擎等等。在实际应用中的的数据库划分以及业务上的切割这里就不多说,本文最后会有简单描述。开源数据库中还有个PostgreSQL也很不错,出自大名鼎鼎的伯克利大学的产品。在许可范围上更加广泛,可以应用于商业、教育等等方面。在8.x版本之前在速度和安全性上不是很理想,不过之后版本更改了许多。几乎支持大部分商业数据库的功能,有些地方还更为先进。听Yahoo中国的agentzh说过好像在内部部署的就是PostgreSQL集群哦。不过在国内Web开发公司好像应用这个的并不多,可能大部分都用来研究了把。

    最后还是推荐一把MySQL,可以应付大部分互联网的应用。当然如果对安全性以及功能性需求很强的推荐购买Oracle等商业数据库。

开发工具

    本来并不想把开发工具列入本文的讨论范围,所谓各有喜好。不过一个好的开发工具确实可以收到事半功倍的效果,加快开发速度以及简化相应的调试。这里推荐下Eclipse。相信大部分写Java的人都知道它的大名,在过去的几年中可谓名噪一时。好像是哪天还获得了开源社区的大奖。该工具出自IBM,后来捐献给了开源社区。第一优点是速度快,占用内存相对来说比较少,各自平台都有版本。它并没有采用Java的SWING或者AWT界面开发,而是自己的SWT。界面效果很不错。其次它的架构设想非常不错,基于插件机制。通过安装不同的插件可以很简单的支持其他语言的开发,比如有CDT,PDT等单独版本,还有PyDEv等第三方插件。其实对开发者来说IDE最基础的功能应该有:语法着色、代码提示这些就已足矣,毕竟只是工具而已。要是觉得经常开着IDE繁琐,而且耗费太多资源的话可以尝试下Vim,Vi的扩展版。同样也是基于插件机制,通过装不同的插件支持的功能也足够强大。尤其是修改单个文件或者简单的程序,Vim确实是居家必备啊。喜欢其他编辑器的人表拍我哦 :)

2 replys:

Anonymous said...

讲讲MySQL 6呢

anny raul said...

6还没装过,看官方文档貌似在LOAD和LOCK表方面,还有数据库存储添加不少功能。还是静候正式版把。希望Sun别把MySQL卖给IBM了

Post a Comment