本文目录一览:
MongoDB自动分片介绍
MongoDB的分片机制能够帮助你将你的数据库划分到多个服务器,通常在生产环境中可以将数据集划分到多个副本集中。但分片最好在数据库建立早期划分,因为一旦你的数据大于512GB那么分片划分就不是那么容易了。
MongoDB 的数据分块称为 chunk。每个 chunk 都是 Collection 中一段连续的数据记录,通常最大尺寸是 200MB,超出则生成新的数据块。
面向集合存储,容易存储对象类型的数据。在MongoDB 中数据被分组存储在集合中,集合类似RDBMS 中的表,一个集合中可以存储无限多的文档。(2)模式自由,采用无模式结构存储。
mongodb使用场景是什么?
1、MongoDB适用于需要处理大量数据,特别是无结构或半结构化数据的场景,同时需要高性能和水平扩展能力的应用场景。 处理大量数据:MongoDB是一个面向文档的数据库,采用BSON(二进制JSON)格式存储数据。
2、使用场景:(1)网站数据:MongoDB适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。(2)缓存:由于性能很高,MongoDB也适合作为信息基础设施的缓存层。
3、MongoDB使用分片技术对数据进行扩展,MongoDB能自动分片、自动转移分片里面的数据块,让每一个服务器里面存储的数据都是一样大小。
4、物联网场景:使用MongoDB存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。 ● 视频直播:使用MongoDB存储用户信息、礼物信息等。
5、◆高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。◆用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。
6、MongoDB属于内存型数据库,在需要读性能要求很高的项目中有着比较不错的表现。
Mongodb和mysql的区别
1、占用的空间很大,因为它属于典型空间换时间原则的类型。
2、memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和 ,也会有很多时候将mongodb做为辅助mysql而使用的类redis memcache 之类的缓存db来使用。
3、MongoDB是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,所以完全可以替代MySQL。与MySQL等关系型数据库相比,MongoDB的优点如下:①弱一致性,更能保证用户的访问速度。
4、MongoDB比MySQL快在它有Memory-Mapping以及它不用处理事物 MySQL适用于传统的对关联要求高的方面,MongoDB更多用于Logging、SNS等以K-V居多的需求,但是两种数据库其实都能胜任大多数需求。
5、MongoDB索引使用B树数据结构(确切的说是B-Tree,MySQL是B+Tree)MongoDB的索引可以分为:单字段索引、复合索引以及地理空间索引等。