亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        文檔數(shù)據(jù)庫MongoDB在快遞物流系統(tǒng)上的應(yīng)用

        2018-04-25 09:39:44張潔鑫
        讀天下 2017年17期
        關(guān)鍵詞:物流

        摘 要:MongoDB是NoSQL中面向文檔的數(shù)據(jù)庫,是一個基于分布式文件存儲的數(shù)據(jù)庫系統(tǒng)。適用于后臺具有大量讀寫操作的網(wǎng)站、使用嵌套結(jié)構(gòu)等非規(guī)范化數(shù)據(jù)的應(yīng)用程序。MongoDB支持GIS功能,數(shù)據(jù)結(jié)構(gòu)靈活,非常適用于支撐物流業(yè)務(wù)。

        關(guān)鍵詞:NoSQL;MongoDB;物流

        MongoDB是以高性能和可擴展性為特征的開源軟件,它將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(keyValue)對組成。MongoDB的文檔相當(dāng)于關(guān)系數(shù)據(jù)庫中的一行記錄,多個文檔組成一個集合相當(dāng)于關(guān)系數(shù)據(jù)庫的表,多個集合邏輯上組合在一起就是數(shù)據(jù)庫。

        一、 MongoDB的優(yōu)勢與不足

        MongoDB最大的特征是無表結(jié)構(gòu),進行表結(jié)構(gòu)變更時,只需要在程序進行相應(yīng)的修改就可以了,不必關(guān)心表結(jié)構(gòu)和程序之間的一致性。它采用的面向文檔的數(shù)據(jù)模型使其可以自動在多臺服務(wù)器之間分散數(shù)據(jù),還可以平衡集群的數(shù)據(jù)和負(fù)載,自動重排文檔,這樣開發(fā)者就不用考慮如何擴展;當(dāng)需要更大的容量時,只需在集群中添加新機器,然后讓數(shù)據(jù)庫來處理。

        MongoDB不支持JOIN查詢與事務(wù)處理。使用MongoDB創(chuàng)建和更新數(shù)據(jù)的時候,數(shù)據(jù)不會實時寫入到硬盤中,由于不能實時向硬盤中寫入數(shù)據(jù),所以就有可能出現(xiàn)數(shù)據(jù)丟失的情況。

        二、 MongoDB的原理

        (一) 索引原理

        簡單地說,索引就是將文檔按照某個(或某些)字段順序組織起來,以便能根據(jù)字段高效的查詢。MongoDB默認(rèn)會為插入的文檔生成_id字段作為文檔唯一的標(biāo)識,為了保證能根據(jù)文檔id快速查詢文檔,MongoDB默認(rèn)會為集合創(chuàng)建_id 字段的索引。MongoDB支持多種類型的索引,包括單字段索引、復(fù)合索引、多key索引、文本索引等。

        (二) 復(fù)制集

        MongoDB復(fù)制集具有故障自動切換和自動修復(fù)成員節(jié)點的功能,各個DB之間數(shù)據(jù)完全一致,大大降低了維護成本。復(fù)制集的結(jié)構(gòu)非常類似一個集群,其中一個節(jié)點出現(xiàn)故障,其他節(jié)點馬上會將業(yè)務(wù)接過來而無需停機操作。

        (三) MongoDB GIS

        MongoDB遵循是GEOJSON規(guī)范,{type:””,coordinates:}coordinates是一個[longitude,latitude]的數(shù)組類型。

        三、 MongoDB在快遞物流系統(tǒng)的應(yīng)用

        快遞物流系統(tǒng)最常見的業(yè)務(wù)類型就是訂單的查詢和記錄,訂單的特點是隨著遞送過程,訂單數(shù)據(jù)需要隨時更新路徑。物流系統(tǒng)用到的特性有:MongoDB的數(shù)組結(jié)構(gòu),索引,GIS功能。以下通過講解一個Demo以供參考。

        (一) 數(shù)據(jù)操作

        物流快遞的訂單修改主要是查詢和信息追加兩種,主要介紹這兩種:

        >db.order.find({_id:”1000”});∥根據(jù)訂單號查詢

        ∥更新物流狀態(tài)

        >db.order.update({_id:”1000”},

        {$push:{details:

        {“action”:”delivering”,”operator”:”快遞員王五”,”date”:ISODate(”2017-11-01-21T20:00:00+08:00”)}

        }}

        (二) 索引創(chuàng)建

        索引可以使任何類型的字段,_id索引默認(rèn)存在,不需要再創(chuàng)建;當(dāng)數(shù)據(jù)量較大時,可以使用sharding結(jié)構(gòu),shardkey的選擇上可以使用Hash(_id)。

        ∥TTL索引,字段creat_date,180后自動清理數(shù)據(jù)

        >db.order.createIndex({”create_date”:1},”expireAfterSeconds”:15552000)

        位置和狀態(tài)索引,為了能快速處理“某地未處理訂單”查詢,這是一個多條件的查詢,所以是一個復(fù)合索引,status字段放在前面,因為多數(shù)的查詢都會依賴狀態(tài)字段。

        ∥位置和狀態(tài)的復(fù)合索引,多條件的查詢

        >db.order.createIndex({”status”:1,”delivery.city”:1,”delivery.address”:1})

        總的來說,MongoDB有很高的可擴展性,有一個很好的 replication 模式,有很完善的Java API,存儲格式是Json的,這對Java來說非常好處理,運維起來非常方便,不用專門為它安排一個管理員。但是應(yīng)用經(jīng)驗缺乏,我們都沒有相關(guān)NoSQL 產(chǎn)品的使用經(jīng)驗,項目相對來說還比較新,和以往的存儲相比,數(shù)據(jù)的關(guān)系性操作不再存在。

        作者簡介:

        張潔鑫,四川省成都市,武警警官學(xué)院。

        猜你喜歡
        物流
        展會
        本刊重點關(guān)注的物流展會
        本刊重點關(guān)注的物流展會
        本刊重點關(guān)注的物流展會
        “智”造更長物流生態(tài)鏈
        汽車觀察(2018年12期)2018-12-26 01:05:44
        科技改變物流,物流改變生活
        企業(yè)該怎么選擇物流
        關(guān)于物流大通道你需要知道這些
        中國公路(2017年6期)2017-07-25 09:13:58
        跨境電商物流與物流前沿
        基于低碳物流的公路運輸優(yōu)化
        丰满人妻一区二区三区免费| 国产精品美女一区二区三区| 久久精品亚洲牛牛影视| 一区二区三区四区亚洲综合 | 日韩欧美第一区二区三区| 一区二区三区国产大片| 色婷婷色丁香久久婷婷| 性色av闺蜜一区二区三区| 亚洲av日韩aⅴ永久无码| 手机在线看片在线日韩av| 中文字幕在线乱码一区| 午夜内射中出视频| 日本中文字幕不卡在线一区二区| 91国内偷拍一区二区三区 | 无码人妻少妇久久中文字幕蜜桃| 亚洲最大中文字幕无码网站| 北岛玲精品一区二区三区| 区一区二区三区四视频在线观看 | 日韩av东京社区男人的天堂| 免费一区在线观看| 亚洲天堂色婷婷一区二区 | 亚洲综合网在线观看首页| 狼人av在线免费观看| 人妻少妇被猛烈进入中文字幕| 无码一区二区三区在线| 亚洲a级片在线观看| 日韩女优一区二区在线观看| 久久性爱视频| 久久亚洲国产精品成人av秋霞 | 免费在线视频一区| 精品国产3p一区二区三区| 亚洲国产精品久久艾草| 无码少妇一区二区三区芒果| 国产亚洲高清在线精品不卡| 久草福利国产精品资源| 米奇777四色精品人人爽| 在线精品日韩一区二区三区| 久久综合亚洲鲁鲁五月天| 人妻无码一区二区三区免费| 免费看操片| 女同欲望一区二区三区|