Учитывая структуру данных следующим образом, вы можете видеть, что каждая запись в одном файле имеет одинаковые значения для ATT1 и ATT2.
// Store in fileD001.txt
ATT1 | ATT2 | ATT3 | ATT4 ... | ATT200
D001 | 10102011 | x13 | x14 ... | x1200
D001 | 10102011 | x23 | x24 ... | x2200
...
D001 | 10102011 | xN3 | xN4 ... | xN200
// Store in fileD002.txt
ATT1 | ATT2 | ATT3 | ATT4 ... | ATT200
D002 | 10112011 | x13 | x14 ... | x1200
D002 | 10112011 | x23 | x24 ... | x2200
...
D002 | 10112011 | xN3 | xN4 ... | xN200
// Store in fileD003.txt
ATT1 | ATT2 | ATT3 | ATT4 ... | ATT200
D003 | 10132011 | x13 | x14 ... | x1200
D003 | 10132011 | x23 | x24 ... | x2200
...
D003 | 10132011 | xN3 | xN4 ... | xN200
Method One: Assume I use the following structure to store the data.
doc = { “ATT1" : "D001",
"ATT2" : "10102011",
"ATT3" : "x13",
"ATT4" : "x14",
...
"ATT200" : "x1200"
}
Проблема в том, что данные содержат слишком много дублирующейся информации и тратят пространство БД. Однако преимущество заключается в том, что каждая запись имеет свой собственный _id.
Method One: Assume I use the following structure to store the data.
doc = { “ATT1" : "D001",
"ATT2" : "10102011",
"sub_doc" : { "ATT3" : "x13",
"ATT4" : "x14",
...
"ATT200" : "x1200"
}
}
Вот проблема: размер данных N, который составляет около 1 ~ 5000, слишком велик и не может быть обработан MongoDB за одну операцию вставки. Конечно, мы можем использовать модификатор $ push update для постепенного добавления данных. Однако в каждой записи больше нет _id.
Я не имею в виду, что у каждой записи должен быть свой идентификатор. Я просто ищу лучшее дизайнерское решение для такой задачи.
Спасибо