MogoDB

实际案例

案例1、记录应用服务器的日志。方便查找和导出。

案例2、用于存储监控数据,增加字段不用修改表结构。

案例3、快递和外卖行业,将快递骑手、商家的信息(包含位置信息)存储在MongoDB,然后通过MongoDB的地址位置查询,这样方便实现查找附近的商家、骑手等功能,使得快递骑手能够就近接单。

MongoDB特性、优势

1、事务支持:目前只支持单文档数据,复杂的事务场景还不支持(如果需要复杂事务就使用关系型数据库吧);

2、灵活的文档模型:数据以BSON文档的形式存储在磁盘上,BSON是一种二进制形式的存储格式,简称Binary JSON。BSON和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。BSON中除了基本的String、integer、boolean、double、null、array和object,MongoDB还支持一些特殊的数据类型,date、object id、binary data、regular expression和code。

3、高可用:满足数据高可靠、服务高可用,故障自动切换;

4、可扩展分片集群:海量数据存储,服务能力水平扩展;

5、强大的索引支持:地理位置索引、文本索引解决搜索需求、TTL索引解决历史数据过期需求;

使用场景

1、游戏场景,使用MongoDB存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新;

2、物流场景,使用MongoDB存储订单信息,订单状态在运输过程中会不断更新,以内嵌数组的形式存储,一次查询就能将订单的所有变更状态查询出来;

3、社交场景:存储用户信息,已经用户朋友圈发表的信息,通过地理位置索引实现附近的人、地点等功能;

4、物联网场景:存储接入智能设备的信息,已经设备的日志信息;

5、视频直播:存储用户信息、礼物信息;

啥时候可以使用MongoDB呢?

1、应用不需要复杂的事务支持;

2、新应用,需求反复的变化,数据模型无法确定,想快速迭代;

3、应用需要2000~3000以上的读写QPS(更高也可以)

4、应用需要TB设置PB级别数据存储;

5、快速水平扩展需求;

6、要求存储数据不丢失;

7、应用99%的高可用;

8、需要大量的地理位置查询、文本查询;

如果满足上述一个及以上就是用吧。

posted @ 2022-12-04 12:08  拿着蜡笔找小新  阅读(70)  评论(0)    收藏  举报