[英]Size of couchdb documents
我在couchdb數據庫中有以下文檔:
{
"_id": "000013a7-4df6-403b-952c-ed767b61554a",
"_rev": "1-54dc1794443105e9d16ba71531dd2850",
"tags": [
"auto_import"
],
"ZZZZZZZZZZZ": "910111",
"UUUUUUUUUUUUU": "OOOOOOOOO",
"RECEIVING_OPERATOR": "073",
"type": "XXXXXXXXXXXXXXXXXXX",
"src_file": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
如果保存在我的本地文件系統中,此JSON文件只需319個字節。 我的文檔都是這樣的(給出或取幾個字節,因為一些字段有不同的長度)。
在我的數據庫中,我目前有大約600萬個文檔,它們使用15 GB。 這提供了大約2.5KBytes /文檔。 這意味着文件在CouchDB上占用的空間比在磁盤上多8倍。
這是為什么?
問題與文檔ID的使用方式有關:它不僅存儲在文檔中,還存儲在其他數據結構中。 這意味着使用標准UUID( 000013a7-4df6-403b-952c-ed767b61554a
36個字符)將占用大量磁盤空間。 如果collission是一個小問題,使用base64你可以只有4個字符,只有4個字符,超過10萬個5個字符的文檔。 字典的一個很好的選擇是有序的(在“查看整理”意義上):
-@0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
使用此方法,我將數據庫的大小從2.5Kbytes / doc減少到0.4Kbytes / doc。 我的新數據庫僅使用舊數據庫的16%的空間,我認為這是一個非常大的改進。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.