我正在使用Unity和Firebase为平板电脑创建应用程序(游戏)。
游戏由玩家可以做的不同类型的练习组成。每种类型的练习有七个级别,每个级别有四个练习。在练习中,有一个随机问题和五个不同的答案,其中一个答案是正确的。
此应用/游戏的主要业务要求之一是能够根据玩家提供的答案创建报告。应每月创建这些报告(基于锻炼类型):
目前,我正在存储玩家正在制作的每个答案。他/她的年龄,性别,尝试的日期/时间,运动的类型,哪个级别,哪个运动,问题的别名,提供的答案的别名,答案是对还是错,以及球员的唯一关键。
这最终出现在一个JSON对象中:
{
"exerciseType": "humanBody",
"level": 1,
"exercise": 2,
"questionAlias": "lungsQuestion",
"answerAlias": "brainAnswer",
"isCorrect": false,
"playerKey": "firebasePlayerKey",
"playerAge": 6,
"playerGender": "F",
"answerDateTimeUnix": "unix timestamp here",
"age_gender_exerciseType_level_exercise": "query field for querying Firebase on multiple parameters.."
// more query fields to match report criterias?
}
我对此的担忧是制作报告/图表的查询数据量和性能。当有超过700,000名儿童玩这个游戏并且我存储了每个提供的答案时,这将产生 很多 数据。这么多,我不确定它是否是正确的方法。
所以,问题是:由于Firebase中存储了大量实时数据,这种扁平结构是否过于通用而根本不具备高性能?我可以选择一个结构,每个答案都存储在练习类型的JSON对象下,即:" humanBody"。所以我只是"只有"需要查询该特定练习类型下的数据,而不是查询aginst 所有答案。
还有其他办法吗?或者Firebase根本不是这项工作的正确工具?
非常感谢任何帮助/提示。
提前致谢。