MongoDB是一个开源的文档型数据库(Document-oriented database),其灵活的文档模型使得其非常适合于快速开发迭代、需求多变的业务场景,MongoDB 支持复制集(Replica Set)、分片集群(Sharded Cluster)两种部署形态,能很好的服务高可用、水平扩展的大数据应用,目前在电商、游戏、物联网等场景都着有广泛的应用。
大家一起来分享下使用 MongoDB 的业务场景,以及在使用过程中遇到的问题,集思广益,让大家都能用好 MongoDB。
[/url]
下面是云栖社区网友的热议回答:
来自云栖网友:hunter_dong
我们第一次使用,目前使用情况下,php mongodb驱动感觉有问题呢。使用的是mongodb这个驱动,大量长连接,貌似也没有其他方法close。有多少fpm进程,就有多少连接。在副本集的情况话,一个fpm会跟所有副本集机器建立长连接。。。。这样吃不消啊。。。一台web服务器,200个fpm进程,副本集是3台机器,就有600个长连接在那里呢。所以,这个是不是不太妥当呢。
来自云栖网友:lifubang
我们用mongodb已经两年了,mongo副本集和分片都用了,已经跑了快上亿的数据了,目前有2个问题:1、副本集既然支持读写分离,那么能否让主库和从库有不同的索引?因为写数据时,如果索引太多,会增加写开销,所以我想在主库上少建一点索引(只建update要使用的索引),而在从库上多建一些索引;2、有没有什么好方法实现副本集a中的一个从库作为副本集b中的主库?因为我想把a中的数据实时重放到b中去进行复杂的使用,这个复杂的使用会影响到a的效率;在b中所作的任何更改,不用体现在a中。目前我是通过写一个程序,从a中去拉取oplog.rs,在b中重放。但是由于oplog.rs无法加索引,所以每次根据时间戳ts进行查询都较慢。
来自云栖网友:天痕散华
前来支持一下帅气的友东。业务场景:1. 用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便。也是给应用练手,从外围系统开始使用MongoDB。2. 用在一些第三方信息的获取或者抓取,因为MongoDB的schema-less,所有格式灵活,不用为了各种格式不一样的信息专门设计统一的格式,极大得减少开发的工作。遇到的问题:1. 以运维的身份,很难去推动开发使用mongodb,详细的使用/开发案例比较少。也无法就API层面对开发进行指导。2. sharding的一致性备份、增量备份、恢复。实施起来还是比较麻烦的。3. 副本集的mongod或者分片的mongos上端,不知道有什么可用的均匀负载。
来自云栖网友:屋顶小黑猫
问个简单问题 就是我们现在mongo架构在云上 想迁移下来 不知道选择2.6还是3.0以上版本不明白他们之间的主要区别。还有就是迁移过程中需要注意哪些问题,后续的优化有什么需要做的,mongo主要用于读
来自云栖网友:塞尔鱼
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。