1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      BSON如何優(yōu)化來(lái)實(shí)現(xiàn)目標(biāo)

      這篇文章給大家分享的是有關(guān)BSON如何優(yōu)化來(lái)實(shí)現(xiàn)目標(biāo)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

      成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站建設(shè)、長(zhǎng)泰網(wǎng)絡(luò)推廣、重慶小程序開(kāi)發(fā)、長(zhǎng)泰網(wǎng)絡(luò)營(yíng)銷、長(zhǎng)泰企業(yè)策劃、長(zhǎng)泰品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供長(zhǎng)泰建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

      BSON是由10gen開(kāi)發(fā)的一個(gè)數(shù)據(jù)格式,目前主要用于MongoDB中,是MongoDB的數(shù)據(jù)存儲(chǔ)格式。BSON基于JSON格式,選擇JSON進(jìn)行改造的原因主要是JSON的通用性及JSON的schemaless的特性。

      1.更快的遍歷速度

      對(duì)JSON格式來(lái)說(shuō),太大的JSON結(jié)構(gòu)會(huì)導(dǎo)致數(shù)據(jù)遍歷非常慢。在JSON中,要跳過(guò)一個(gè)文檔進(jìn)行數(shù)據(jù)讀取,需要對(duì)此文檔進(jìn)行掃描才行,需要進(jìn)行麻煩的數(shù)據(jù)結(jié)構(gòu)匹配,比如括號(hào)的匹配,而B(niǎo)SON對(duì)JSON的一大改進(jìn)就是,它會(huì)將JSON的每一個(gè)元素的長(zhǎng)度存在元素的頭部,這樣你只需要讀取到元素長(zhǎng)度就能直接seek到指定的點(diǎn)上進(jìn)行讀取了。

      MongoDB優(yōu)化:對(duì)于MongoDB來(lái)說(shuō),由于采用了MMAP來(lái)做內(nèi)存與數(shù)據(jù)文件的映射,在更新或者獲取Document的某一個(gè)字段時(shí),如果需要先讀取其前面的所有字段,會(huì)導(dǎo)致物理內(nèi)存由于讀操作被加載到不必要的字段上,導(dǎo)致資源的不合理分配。而采用BSON只需要讀到相應(yīng)的位置然后跨過(guò)無(wú)用內(nèi)容讀取需要內(nèi)容即可。

      2.操作更簡(jiǎn)易

      對(duì)JSON來(lái)說(shuō),數(shù)據(jù)存儲(chǔ)是無(wú)類型的,比如你要修改基本一個(gè)值,從9到10,由于從一個(gè)字符變成了兩個(gè),所以可能其后面的所有內(nèi)容都需要往后移一位才可以。而使用BSON,你可以指定這個(gè)列為數(shù)字列,那么無(wú)論數(shù)字從9長(zhǎng)到10還是100,我們都只是在存儲(chǔ)數(shù)字的那一位上進(jìn)行修改,不會(huì)導(dǎo)致數(shù)據(jù)總長(zhǎng)變大。當(dāng)然,在MongoDB中,如果數(shù)字從整形增大到長(zhǎng)整型,還是會(huì)導(dǎo)致數(shù)據(jù)總長(zhǎng)變大的。

      MongoDB優(yōu)化:所以使用MongoDB的一個(gè)技巧是將長(zhǎng)度可能變化的字段盡量命名靠后(MongoDB在update操作后會(huì)將字段按key值按字母順序重排,所以靠后的意思是按a-z的順序取名)。這樣在更新的時(shí)候如果導(dǎo)致數(shù)字變長(zhǎng),不需要移動(dòng)大量數(shù)據(jù)。一個(gè)典型的例子是如果用二進(jìn)制類型存儲(chǔ)文件時(shí),如果文件名或者文件描述可能會(huì)變長(zhǎng),那么盡量將這個(gè)字段取名靠后是一個(gè)明智的選擇,否則在文件名或文件描述字段變化時(shí),會(huì)導(dǎo)致移動(dòng)很長(zhǎng)的二進(jìn)制數(shù)據(jù),造成不必要的浪費(fèi)。

      BSON怎優(yōu)化來(lái)實(shí)現(xiàn)目標(biāo)

      3.增加了額外的數(shù)據(jù)類型

      JSON是一個(gè)很方便的數(shù)據(jù)交換格式,但是其類型比較有限。BSON在其基礎(chǔ)上增加了“bytearray”數(shù)據(jù)類型。這使得二進(jìn)制的存儲(chǔ)不再需要先base64轉(zhuǎn)換后再存成JSON。大大減少了計(jì)算開(kāi)銷和數(shù)據(jù)大小。

      當(dāng)然,在有的時(shí)候,BSON相對(duì)JSON來(lái)說(shuō)也并沒(méi)有空間上的優(yōu)勢(shì),比如對(duì){“field”:7},在JSON的存儲(chǔ)上7只使用了一個(gè)字節(jié),而如果用BSON,那就是至少4個(gè)字節(jié)(32位)

      MongoDB優(yōu)化:在MongoDB中,如果你的字段是數(shù)字型,并且涉及到數(shù)據(jù)加減操作的,那么建議存在int型,但如果是一個(gè)固定不變的數(shù)字,并且在四位以下的話,可以考慮存成字符串類型。這樣會(huì)節(jié)省空間。

      目前在10gen的努力下,BSON已經(jīng)有了針對(duì)多種語(yǔ)言的編碼解碼包。并且都是Apache2license下開(kāi)源的。并且還在隨著MongoDB進(jìn)一步地發(fā)展。關(guān)于BSON,你可以在其官方網(wǎng)站bsonspec.org上獲取更多信息。

      感謝各位的閱讀!關(guān)于“BSON如何優(yōu)化來(lái)實(shí)現(xiàn)目標(biāo)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


      當(dāng)前文章:BSON如何優(yōu)化來(lái)實(shí)現(xiàn)目標(biāo)
      本文路徑:http://www.ef60e0e.cn/article/gpoohj.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        宜川县| 绥滨县| 枣庄市| 郁南县| 县级市| 西峡县| 忻州市| 博白县| 元朗区| 霞浦县| 绵竹市| 和顺县| 横山县| 砚山县| 工布江达县| 普定县| 肃宁县| 高陵县| 昌都县| 彩票| 阿城市| 龙川县| 鲜城| 沿河| 十堰市| 临颍县| 东兰县| 明星| 米易县| 涪陵区| 安达市| 东山县| 成武县| 奉化市| 专栏| 广宁县| 南江县| 蚌埠市| 大足县| 赤水市| 荣昌县|