由于我们在开发的过程中难免会遇到数据库选型的问题,那么数据库的选型那我们必须通过结合我们的业务场景还有他们的设计初衷,及各自在各个方面的优势。现在我们就在业务开发中遇到了选择 mongoDB还时MYsql。之前没有怎么了解过mongoDB,那今天就开始我的mongoDB第一步。
建立一种灵活,高效,易于扩展,功能完备的数据库。
mongo的主要目标是卓越的性能,使用的传输协议是自己的传输协议作为服务器间交互的主要方式,他对文档进行动态填充,将内存管理工作交给操作系统去处理动态查询优化器会记住执行查询最高效的方式,也将类似于关系型数据库中的一部分业务交给了客户端去处理。
MonogDB尽量让服务器自治来简化数据库的管理。除了启动就再也没有什,么需要管理的地方了。如果有节点挂掉,mongo会自动去切换到从节点的机器上。 mongo的管理理念是尽可能的让服务器进行自动配置,让用户在需要时候调整设置。
所有新事物的产生,都会有产生的原因,mongo也不列外,硬件水平提升,大数据时代的到来,关系型数据库出现暴露出了自己的性能瓶颈,如:全文检索导致数据响应时间慢,数据模型的固定导致业务修改成本高等等。mongo通过牺牲关系型数据库中部分功能(事物,join关联)来提高数据库的灵活性和高效性。及支持自动分区,提高数据库的扩展性