文档数据库MongoDB在快递物流系统上的应用

来源 :读天下 | 被引量 : 0次 | 上传用户:zzm0901
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:MongoDB是NoSQL中面向文档的数据库,是一个基于分布式文件存储的数据库系统。适用于后台具有大量读写操作的网站、使用嵌套结构等非规范化数据的应用程序。MongoDB支持GIS功能,数据结构灵活,非常适用于支撑物流业务。
  关键词:NoSQL;MongoDB;物流
  MongoDB是以高性能和可扩展性为特征的开源软件,它将数据存储为一个文档,数据结构由键值(keyValue)对组成。MongoDB的文档相当于关系数据库中的一行记录,多个文档组成一个集合相当于关系数据库的表,多个集合逻辑上组合在一起就是数据库。
  一、 MongoDB的优势与不足
  MongoDB最大的特征是无表结构,进行表结构变更时,只需要在程序进行相应的修改就可以了,不必关心表结构和程序之间的一致性。它采用的面向文档的数据模型使其可以自动在多台服务器之间分散数据,还可以平衡集群的数据和负载,自动重排文档,这样开发者就不用考虑如何扩展;当需要更大的容量时,只需在集群中添加新机器,然后让数据库来处理。
  MongoDB不支持JOIN查询与事务处理。使用MongoDB创建和更新数据的时候,数据不会实时写入到硬盘中,由于不能实时向硬盘中写入数据,所以就有可能出现数据丢失的情况。
  二、 MongoDB的原理
  (一) 索引原理
  简单地说,索引就是将文档按照某个(或某些)字段顺序组织起来,以便能根据字段高效的查询。MongoDB默认会为插入的文档生成_id字段作为文档唯一的标识,为了保证能根据文档id快速查询文档,MongoDB默认会为集合创建_id 字段的索引。MongoDB支持多种类型的索引,包括单字段索引、复合索引、多key索引、文本索引等。
  (二) 复制集
  MongoDB复制集具有故障自动切换和自动修复成员节点的功能,各个DB之间数据完全一致,大大降低了维护成本。复制集的结构非常类似一个集群,其中一个节点出现故障,其他节点马上会将业务接过来而无需停机操作。
  (三) MongoDB GIS
  MongoDB遵循是GEOJSON规范,{type:””,coordinates:}coordinates是一个[longitude,latitude]的数组类型。
  三、 MongoDB在快递物流系统的应用
  快递物流系统最常见的业务类型就是订单的查询和记录,订单的特点是随着递送过程,订单数据需要随时更新路径。物流系统用到的特性有:MongoDB的数组结构,索引,GIS功能。以下通过讲解一个Demo以供参考。
  (一) 数据操作
  物流快递的订单修改主要是查询和信息追加两种,主要介绍这两种:
  >db.order.find({_id:”1000”});∥根据订单号查询
  ∥更新物流状态
  >db.order.update({_id:”1000”},
  {$push:{details:
  {“action”:”delivering”,”operator”:”快递员王五”,”date”:ISODate(”2017-11-01-21T20:00:00 08:00”)}
  }}
  (二) 索引创建
  索引可以使任何类型的字段,_id索引默认存在,不需要再创建;当数据量较大时,可以使用sharding结构,shardkey的选择上可以使用Hash(_id)。
  ∥TTL索引,字段creat_date,180后自动清理数据
  >db.order.createIndex({”create_date”:1},”expireAfterSeconds”:15552000)
  位置和狀态索引,为了能快速处理“某地未处理订单”查询,这是一个多条件的查询,所以是一个复合索引,status字段放在前面,因为多数的查询都会依赖状态字段。
  ∥位置和状态的复合索引,多条件的查询
  >db.order.createIndex({”status”:1,”delivery.city”:1,”delivery.address”:1})
  总的来说,MongoDB有很高的可扩展性,有一个很好的 replication 模式,有很完善的Java API,存储格式是Json的,这对Java来说非常好处理,运维起来非常方便,不用专门为它安排一个管理员。但是应用经验缺乏,我们都没有相关NoSQL 产品的使用经验,项目相对来说还比较新,和以往的存储相比,数据的关系性操作不再存在。
  作者简介:
  张洁鑫,四川省成都市,武警警官学院。
其他文献
对越来越多的中国年轻职场人士而言,春节后上班的第一天也是他们辞职的日子。中国一家知名招聘网站最近公布的数据表明,在新年假期后的第一周,网上求职者和简历数量同比增长36%,而新提供的就业岗位已翻番。  随着将年终奖收入囊中,许多年轻员工都在寻求改变,但今年希望获得新机遇的人大幅增加。“过去几年,节后跳槽率一直呈上升趋势,但今年的增幅令我始料未及。”这家招聘网站招聘公关部的负责人表示。在北京某国企工作
原盛大文学CEO侯小强1月24日在微博中自爆,正式在少林寺皈依佛门,师从少林寺方丈释永信,永信大和尚为其取名延舍。  据业内人士称,侯小强已经连续数月处于休假状态,并指出“盛大网络董事长陈天桥与侯小强之间互相失望”。另外,盛大内部的工作人员透露,侯小强确实长期受抑郁症的困扰。  皈依信仰,侯小强不是第一个,也不会是最后一个。无论一个企业家是成功好事失败,很多时候,他注定是孤单的,注定和一般人不同,
摘要:莎士比亚说:“一千个读者眼中就有一千个哈姆莱特。”在解读文学作品时,我们提倡个性解读,但个性解读也要有个“度”。杨绛对《老王》的愧怍是“无辜负疚”“自延其罪”还是“无辜负疚”“自延其罪”。杨绛敢于以文学的形式,在世人面前无情地剖析自己,叩问自己的灵魂这种自省意识,这种文化人的社会责任和担当是值得我们学习的。  关键词:个性解读;老王;愧怍之情;辩证评价;自省意识  最近读了两篇解读杨绛先生《
摘 要:去年冬月,我们一行来到金昌市金川总校,参加了甘肃省小学数学陇原名师、特级教师课堂教学观摩及研讨会。短短的两天时间,收获颇多,感受颇深。其中,给我印象最深、启迪最多的还是华应龙教授的“独特课堂”,让我大开眼界,同时也为之振奋。  关键词:独特课堂;民主;巧妙;智慧  一、 民主的课堂  在他的课堂上,下课铃响了,老师示意下课,可学生意犹未尽,不想下课,为什么会出现这种情形呢?这不仅仅是因为华
摘 要:新课程实施的今天,每一位教師都在学习着很多的教育教学理念,思考着怎样在教育教学最重要的阵地——课堂上,实践着自己育人的理想,期冀着在自己的课堂上充盈着和谐的阳光,闪现着思维灵动的火花。本文通过教学实践,对提高课堂教学的有效性进行了初探。  关键词:生态课堂;教学理念;和谐  语文先辈吕叔湘先生说过:“成功的教师之所以成功,是因为他把课教活了。如果说一种教学法是一把钥匙,那么,在各种教学法之
摘要:高职铁路专业学生职业生涯规划教育面临着诸多亟待解决的问题。文章以湖南铁路科技职业技术学院为例,分析了高职铁路行业学生职业生涯规划存在的不愿非对口就业和自主创业意愿低等问题,探索高职铁路行业学生职业生涯规划教育的对策。  关键词:高职院校;铁路;职业生涯规划  近年来轨道交通产业高速发展对人才的强劲需要,轨道交通产业带动了铁路院校及铁路专业人才就业率。铁路院校就业率甚至超过本科院校,个别需求旺
摘要:根據英国教育家斯宾塞的“快乐教学”理论创造的各种课堂快乐教学法,在英国教育界普遍得到师生的欢迎。而我国在教育改革进行多年的大环境下,体育课程也应该在教学方法上推陈出新,作为一名长期从事体育课教学的教师来说,针对体育课自身的特点,以及得天独厚的教学环境,把快乐教学法引进体育课堂,努力提高学生体育学习兴趣。  关键词:快乐教育;体育;游戏  一、 前言  英国教育家斯宾塞于1845年提出了“快乐
摘要:中等职业教育是我国各级各类教育中的重要一种,提高其教育质量意义重大。思想政治教育对于提高学生思想素质至关重要,学生思想素质的加强无疑会提高教育质量。因此,关注新形势下中职学生的思想政治教育是大势所趋,本文针对当前存在的问题发表一下自己的拙见,并针对问题提出若干对策与思考。  关键词:中职生;思想政治教育;认识;思考  当今社会正处于一个各种关系不断调整、新旧观念不断更替、社会生活诸多方面发生
摘要:读写结合是一种行之有效的语文教学方法。“读写结合训练”,就是根据《语文课程标准》、教材要求和学生实际,制定科学的教学目标,把阅读与写作两个因素紧密结合起来,通过有目的、有系统、有序列的训练手段,以读带写,以写促读,达到让学生了解知识、掌握方法、运用知识,培养和提高读写综合能力的教学实践活动。  关键词:语文;教学;综合能力  当代语文教育专家崔峦同志指出:“在我们语文教学中,一方面要加强阅读
摘 要:以学生生命为本,充分挖掘学生生命的潜能,让德育的本质回归生命自然。其中一项重要的工作就是让学生自主管理,努力培养少先队员的创新精神和实践能力,为学生健康成长打下坚实的基础。如何在班级管理中让学生自主管理,让学生做班级的主人,这是我们在教育过程所要面对的。能充分发挥学生的主观能动性,这是学校德育工作中一种有效的形式。  关键词:德育;自主管理;主导  打造特色品牌,提升特色教学,我校以“以美