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、需要大量的地理位置查询、文本查询;
如果满足上述一个及以上就是用吧。
浙公网安备 33010602011771号