在当今的数据库市场上,主要应用较多的是mongodb和mysql,那到底选择哪一个作为主要数据库选择,下面分析下两者间区别
mongodb一种文件导向的数据库管理系统,属于一种通称为NoSQL的数据库
mysql一个开源的关系型数据库,大量应用在各大网站后台中,承担着信息存储的重要作用
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MongoDB是一个面向文档的数据库,它并不是关系型数据库,直接存取BSON,这意味着MongoDB更加灵活,因为可以在文档中直接插入数组之类的复杂数据类型,并且文档的key和value不是固定的数据类型和大小,所以开发者在使用MongoDB时无须预定义关系型数据库中的”表”等数据库对象,设计数据库将变得非常方便,可以大大地提升开发进度。
MongoDB在高可用和读负载均衡上的实现非常简洁和友好,MongoDB自带了副本集的概念,通过设计适合自己业务的副本集和驱动程序,可以非常有效和方便地实现高可用,读负载均衡。而在其他数据库产品中想实现以上功能,往往需要额外安装复杂的中间件,大大提升了系统复杂度,故障排查难度和运维成本。
总结:
相比较MySQL,MongoDB数据库更适合那些读作业较重的任务模型。自带了map-reduce运算框架的支持,方便进行数据的统计。MongoDB能充分利用机器的内存资源。如果机器的内存资源丰富的话,MongoDB的查询效率会快很多。
MySQL以开放的源代码的关系数据库适用于所有平台,支持多线程充分利用了CPU资源,价格便宜优势更适合用与企业项目开发数据管理。