我们为什么选择使用mongodb?-阿里云开发者社区

开发者社区> 数据库> 正文

我们为什么选择使用mongodb?

简介: 定义:MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。

定义:
MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。
特性:
MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性。
• 模式自由,支持动态查询、完全索引,可轻易查询文档中内嵌的对象及数组。
• 面向集合存储,易存储对象类型的数据 , 包括文档内嵌对象及数组 。
• 高效的数据存储 , 支持二进制数据及大型对象 ( 如照片和视频 ) 。
• 支持复制和故障恢复;提供了主 - 从、主 - 主模式的数据复制及服务器之间的数据复制。
• 自动分片以支持云级别的伸缩性,支持水平的数据库集群,可动态添加额外的服务器。
使用场景:
1、日志系统,查找起来灵活,导出方便。因为MongoDB的schema-less,所有格式灵活,不用为了各种格式不一样的信息专门设计统一的格式,极大的减少开发的工作。
2、存储监控数据,No schema 对开发人员来说,真的很方便,增加字段不用改表结构,而且学习成本极低。
3、使用MongoDB做了O2O快递应用,将送快递骑手、快递商家的信息(包含位置信息)存储在 MongoDB,然后通过 MongoDB 的地理位置查询,这样很方便的实现了查找附近的商家、骑手等功能,使得快递骑手能就近接单,目前在使用MongoDB 上没遇到啥大的问题,官网的文档比较详细,很给力。
image
应用场景:
image

image
如果上述有1个 Yes,可以考虑 MongoDB,2个及以上的 Yes,选择MongoDB绝不会后悔。

image

MongoDB不能胜任的场景:
1、要求高度事务性的系统
2、传统的商业智能应用
3、复杂的跨文档(表)级联查询

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章