亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5422 | 回復(fù): 1
打印 上一主題 下一主題

[MongoDB] MongoSpy, MongoWatch及MongoDB數(shù)據(jù)壓縮 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-02-22 19:34 |只看該作者 |倒序瀏覽
MongoSpy, MongoWatch及MongoDB數(shù)據(jù)壓縮

、

本文源自openmymind博客的一篇文章,文中作者介紹了兩個自己用Node.JS寫的MongoDB監(jiān)控小工具,MongoSpy和MongoWatch,然后提出了在對MongoDB進行文本存儲時使用壓縮以節(jié)約空間的設(shè)想。

這兩上小工具功能并不怎么強大,實現(xiàn)也簡單,如果你會用任何一種語言操作MongoDB的話,相信你都能寫一個類似的東西。

MongoSpy:一個對MongoDB慢查詢進行監(jiān)控的小工具,使用node.js從MongoDB的system.profile這個Collection中不停讀出最新的數(shù)據(jù)并顯示在Web頁面,這樣你就能實時的看到MongoDB的慢查詢了。當(dāng)然,前提是你得配置好對應(yīng)DB的profile級別。具體可見:《Mongo Database Profiler》
MongoWatch:這個腳本是定時獲取MongoDB的狀態(tài)信息,并將其按時間順序排列顯示在Web頁面上,讓你可以直接看到隨著時間推移你MongoDB的各項狀態(tài)指標(biāo)的變化。
上面說完兩個小工具,有興趣的話你可以自己去看一看具體的用法,下面部分提出了使用壓縮方法對MongoDB文本數(shù)據(jù)進行壓縮的想法。

MongoDB是一個文檔型數(shù)據(jù)庫,其數(shù)據(jù)使用BSON結(jié)構(gòu)存儲,BSON支持文本型數(shù)據(jù)存儲的同時也支持二進制數(shù)據(jù)存儲。試想如果BSON結(jié)構(gòu)會將字符串做某種壓縮然后以二進制的形式存儲,那將會節(jié)約很大的空間。

但是這有一個前提,那就是你不會對壓縮過的字段建立索引做查詢。實際上這一點在很多情況下是可以保證的,比如我們使用MongoDB存儲博客的博文信息,是不會對博文做查詢操作的。

但是很遺憾,MongoDB并沒有提供這樣的功能,雖然這個功能已經(jīng)早就有人提出(SERVER-164)。

既然MongoDB不支持,那么我們可以考慮在客戶端實現(xiàn),目前壓縮算法數(shù)不勝數(shù),這主要取決于你使用語言的支持。比如Google’s Snappy或者是MessagePack等等。實際上這一想法并不新鮮,在一些不提供二級索引的存儲,比如Memcached上,我們早就使用了類似的做法來節(jié)約內(nèi)存。

比如你可以把一些純文本的數(shù)據(jù)壓縮后存成二進制,再保存一個壓縮類型的字段做標(biāo)識,如下:

{account: 1231232, server: 'linode1', latest: 'Sep 23 2011', data: [
  {type: 1, data: BinData(0,"iad42ZXJzaW9upTEuOC4wpnVwdGltZc4Ae3z")},
  {type: 1, data: BinData(0,"iad42ZXJzaW9upTEuOC4wpnVwdGltZc4Ae3z")},
  {type: 1, data: BinData(0,"iad42ZXJzaW9upTEuOC4wpnVwdGltZc4Ae3z")},
  {type: 0, data: {virtual: 1889, mapped: 852, uptime: 7920098, hit: 99, date: 'Sep 23 2011' }}
]}上面數(shù)據(jù)前三條用了類型為1的壓縮算法對數(shù)據(jù)進行壓縮并存在二進制數(shù)據(jù),第四條沒有壓縮。具體情況可以通過壓縮算法在不同長度數(shù)據(jù)下的壓縮率來調(diào)整,比如只有兩個字符的value值,可能你就不需要壓縮了,這時候你設(shè)置type為0表示未做壓縮即可。

參考文章:openmymind.net


論壇徽章:
0
2 [報告]
發(fā)表于 2012-02-24 17:12 |只看該作者
謝謝分享
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP