У нас есть кластер MongoDB с использованием GridFS. Таблица fs.chunks gridfs окутана двумя репликасами. Использование дискового пространства очень велико. Для 90 ГБ данных требуется более 130 ГБ дискового пространства.Накладные расходы на хранение GridFS
Кажется, что таблице fs.chunks требуется пространство. Я обобщил поле «длина» fs.files, показывающее 90 ГБ пространства. Сумма поля «размер» обоих осколков составляет 130 ГБ. Это реальный размер данных полезной нагрузки, содержащихся в коллекции, не так ли?
Это значит, что накладные расходы 40ГБ? Это верно? Откуда он? это BSON-кодирование? Есть ли способ уменьшить накладные расходы?
mongos> db.fs.chunks.stats()
{
"sharded" : true,
"ns" : "ub_datastore_preview.fs.chunks",
"count" : 1012180,
"numExtents" : 106,
"size" : 140515231376,
"storageSize" : 144448592944,
"totalIndexSize" : 99869840,
"indexSizes" : {
"_id_" : 43103872,
"files_id_1_n_1" : 56765968
},
"avgObjSize" : 138824.35078345748,
"nindexes" : 2,
"nchunks" : 2400,
"shards" : {
"ub_datastore_qa_group1" : {
"ns" : "ub_datastore_preview.fs.chunks",
"count" : 554087,
"size" : 69448405120,
"avgObjSize" : 125338.44887174758,
"storageSize" : 71364832800,
"numExtents" : 52,
"nindexes" : 2,
"lastExtentSize" : 2146426864,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 55269760,
"indexSizes" : {
"_id_" : 23808512,
"files_id_1_n_1" : 31461248
},
"ok" : 1
},
"ub_datastore_qa_group2" : {
"ns" : "ub_datastore_preview.fs.chunks",
"count" : 458093,
"size" : 71066826256,
"avgObjSize" : 155136.2414531547,
"storageSize" : 73083760144,
"numExtents" : 54,
"nindexes" : 2,
"lastExtentSize" : 2146426864,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 44600080,
"indexSizes" : {
"_id_" : 19295360,
"files_id_1_n_1" : 25304720
},
"ok" : 1
}
},
"ok" : 1
}