在做项目的技术选型时,对于数据库我们一般是这么选择的:
一、客户指定了数据库的情况。比如某些**用户指定要用Oracle,我们当然是以客户的要求为最高优先级了。
二、项目总预算不高的情况,对于企业级应用,如各种管理系统、OA之类的项目,我们会优先选择MySQL、PostgreSQL。因为MySQL、PostgreSQL都是免费的数据库,而且第三方工具也很多,比如Sqlyog,资料、文档也非常多,社区力量强大,遇到问题很容易解决。数据库优化也不是问题,有很多技巧可以掌握。
三、项目总预算不高的情况,对于实时性要求很高的项目,我们会选择NoSQL,比如内存数据库Redis或者面向文档的数据库MongoDB,这种情况下对于团队的技术要求较高,因为NoSQL正处于迅猛发展中,文档资料相对要少一些,解决问题的难度相对要大一些。我们公司有多个团队,其中有一个团队熟悉Redis,另一个团队熟悉MongoDB。
四、项目报价较高,预算充足的情况,对于企业级应用,如各种管理系统、OA之类的项目,我们会选择SQL Server或者Oracle。因为SQL Server相对易用,项目开发速度最快。而且购买了SQL Server或者Oracle,那么技术支持会帮忙解决问题。
五、项目报价较高,预算充足的情况,对于项目主要是面向BI、数据分析之类的需求,那么我们会选择列式数据库,比如Sybase IQ。其它的列式数据库如Google的BigTable,我们的团队不够熟悉,所以不会选择。
结论:其实各种选择也并非绝对,有句俗话说“一招鲜,吃遍天”。如果项目团队把MySQL完全吃透了,能够从源码级进行改进和开发,那么99%的需求,你都可以选择MySQL来搞定它。
一、客户指定了数据库的情况。比如某些**用户指定要用Oracle,我们当然是以客户的要求为最高优先级了。
二、项目总预算不高的情况,对于企业级应用,如各种管理系统、OA之类的项目,我们会优先选择MySQL、PostgreSQL。因为MySQL、PostgreSQL都是免费的数据库,而且第三方工具也很多,比如Sqlyog,资料、文档也非常多,社区力量强大,遇到问题很容易解决。数据库优化也不是问题,有很多技巧可以掌握。
三、项目总预算不高的情况,对于实时性要求很高的项目,我们会选择NoSQL,比如内存数据库Redis或者面向文档的数据库MongoDB,这种情况下对于团队的技术要求较高,因为NoSQL正处于迅猛发展中,文档资料相对要少一些,解决问题的难度相对要大一些。我们公司有多个团队,其中有一个团队熟悉Redis,另一个团队熟悉MongoDB。
四、项目报价较高,预算充足的情况,对于企业级应用,如各种管理系统、OA之类的项目,我们会选择SQL Server或者Oracle。因为SQL Server相对易用,项目开发速度最快。而且购买了SQL Server或者Oracle,那么技术支持会帮忙解决问题。
五、项目报价较高,预算充足的情况,对于项目主要是面向BI、数据分析之类的需求,那么我们会选择列式数据库,比如Sybase IQ。其它的列式数据库如Google的BigTable,我们的团队不够熟悉,所以不会选择。
结论:其实各种选择也并非绝对,有句俗话说“一招鲜,吃遍天”。如果项目团队把MySQL完全吃透了,能够从源码级进行改进和开发,那么99%的需求,你都可以选择MySQL来搞定它。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24104518/viewspace-723413/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24104518/viewspace-723413/
本文详细探讨了在不同场景下如何选择合适的数据库技术,包括客户指定、预算限制、实时性需求、以及高预算情况下的数据库选项。通过对比MySQL、PostgreSQL、NoSQL、SQLServer、Oracle等主流数据库,提供了基于团队技能、项目需求和成本考量的选型建议。
1226

被折叠的 条评论
为什么被折叠?



