Я новичок в базах данных NoSql, и мне трудно понять, как обрабатывать очень большой JSON-документ, который может составлять более 20 МБ на моем локальном диске. Эта структура, безусловно, будет увеличиваться с течением времени, и я беспокоюсь о скорости запросов и необходимости искать в глубину, хотя возвращаемое объектное ядро JSON просто для того, чтобы получить строку. Мой JSON глубоко вложен, например, так.Обработка Невероятно большой документ JSON в CouchDB
{
"exams": {
"exam1": {
"year": {
"math": {
"questions": [
{
"question_text": "first question",
"options": [
"option1",
"option2",
"option3",
"option4",
"option5"
],
"answer": 1,
"explaination": "explain the answer"
},
{
"question_text": "second question",
"options": [
"option1",
"option2",
"option3",
"option4",
"option5"
],
"answer": 1,
"explaination": "explain the answer"
},
{
"question_text": "third question",
"options": [
"option1",
"option2",
"option3",
"option4",
"option5"
],
"answer": 1,
"explaination": "explain the answer"
}
]
},
"english": {same structure as above}
},
"1961": {}
},
"exam2": {},
"exam3": {},
"exam4": {}
}
}
В главном приложении объекты вопросов создаются и добавляются в зависимости от типа экзамена, года, и при условии принятия документа в формате JSON огромного в течение долгого времени. Как я могу повторно моделировать это, чтобы избежать медленных запросов в будущем?
Похоже, вам нужно создать больше документов, а не постоянно расширять их. –
Спасибо Доминик, я знаю, что это то, что я должен делать, как с базами данных SQL, но как «нормализовать» и связывать поддокументы, это для меня головоломка. – shanks