Я создаю приложение через Firebase, и у меня есть вопрос о масштабируемости моего узла базы данных. Я децентрализовал свои данные, но когда я пытаюсь ранжировать сообщения (на основе # нравится), я не могу найти подходящее решение. У меня есть страница с 10 самыми популярными песнями за последние 30 дней, но у меня есть некоторые проблемы по этому запросу, если приложение масштабируется. На данный момент опубликовано несколько сотен до нескольких тысяч песен, но что, если этот узел состоит из нескольких миллионов?Firebase масштабируемые запросы по ранжированию
структура такова:
"totalSongs" : {
"-KHjnJcG2av6nyIEP1Wu" : {
"author" : "64df19dd-68fb-43cb-ab1b-b8e9f55cf",
"date" : 1463238347457,
"key" : "KHjnJcG2av6nyIEP1Wu",
"likesCount" : 3,
"name" : "anna",
"reasonUpload" : "-its good mayne",
"uploadTitle" : "A tribe called quest - we got the jazz",
"uploadUrl" : "cxN4nKk2cfk"
},
"-KHkUAJ48h-3k6HIDOri" : {
"author" : "64df19dd-68fb-43cb-ab1b-b8e9f51cf",
"date" : 1463249843668,
"key" : "-KHkUAJ48h-3k6HIDOri",
"likesCount" : 6,
"name" : "peter",
"reasonUpload" : "-summer vibes",
"uploadTitle" : "Kool & The Gang",
"uploadUrl" : "2SFt7JHwJeg"
}
}
выше JSON, показывает две загрузки. Я могу ранжировать их через «LikesCount», и это работает (через angularJS, ng-repeat, orderBy: '-likesCount'), но что, если есть 4 миллиона загрузок? Я думал о том, чтобы создать новый узел (например, totalSongs2, totalSongs3) каждые 30 дней, чтобы иметь узел, который состоит из загрузок в этот таймфрейм, но это кажется несколько странным. Насколько сложно Firebase запросить такой узел и как я могу сделать это по-другому?
Спасибо за ваш комментарий. 4 миллиона загрузок - это всего лишь гипотеза, но причина моего вопроса заключается в том, что если это приведет к проблемам в будущем, я бы скорее решил их сейчас. И да, через несколько месяцев я буду использовать приобретенный пакет. – Zizazorro
@ Zizazorro 4 миллиона для приобретенного пакета не должно быть проблемой. пакет покупки содержит запросы SQL-запросов BigQuery, поэтому вы переходите ко многим гигабайтам. Я работаю с Big Data, а BigQuery на Firebase, купленном пакетом, может отлично делать миллионы. Масштабируемость не будет проблемой, Firebase получила это для своих потребителей. – user7568042
Ницца, я это рассмотрю! благодаря – Zizazorro