Это может показаться глупым / очевидным вопросом, однако я начал разрабатывать приложение. (Работал над пользовательским интерфейсом / функциональностью для проверки логики c и работы моего приложения). Я импортировал свой JSON файл в базу данных Firebase в реальном времени. Файл JSON содержит более 22 000 записей. В течение 2,5 дней я скачал 16 ГБ данных.
Причина, по которой я предполагаю, что это структура моего JSON, заключается в том, что мой файл JSON в настоящее время выглядит следующим образом:
{ "users" : [
"-3i23rfafj3wjir32": { // (Firebase auto-id, yes I just spammed my keyboard)
name:
location:
age:
gender:
hobbies:
interest:
DOB:
height:
bodyType:
hairColour:
skinColour:
ethnicity:
education:
//And probably 15-30 more nodes
}
]
} x 20,000+
Я звоню в свою базу данных с помощью узла / ключа «имя», я думаю, мое приложение выполняет следующие действия:
Go для базы данных
Запрос и наблюдение за каждой записью в базе данных с помощью "name"
узла / ключа
Добавление данных / записи, где "name"
равно вводу пользователя
Возврат
Данные имеют статус c и должны только считываться и возвращаться пользователю. Если бы реструктуризация базы данных была бы такой, это помогло бы резко уменьшить размер загружаемого файла:
{ "users" : [
"bob": {
name:
location:
age:
gender:
hobbies:
interest:
DOB:
height:
bodyType:
hairColour:
skinColour:
ethnicity:
education:
//And probably 15-30 more nodes
}
]} x 20,000+
Таким образом, я мог бы избежать запросов к каждой записи в базе данных, а просто по каждому ключу / узлу «name», который равно вводу пользователя. В приведенном выше примере «bob» будет вводом пользователя. Что касается нескольких записей под одним именем, это вполне нормально.
Еще раз прошу прощения, если это несколько очевидный ответ, но вместо того, чтобы тратить время на переформатирование / реструктуризацию моего файла JSON, который я хотел бы чтобы узнать, поможет ли это.