Open Kleinpenny opened 3 days ago
我觉得还是把名字作为key比较好,相当于对于每个player我们做了一份档案。
{
james:{
......
}
...
}
查找的时间复杂度1。
如果是list,查找一个player,要遍历整个数组。
{
1 :{
name : james,
......
}
...
}
from notion
[{
- ID : Number
- Name: “”
- 每场比赛的KD → 场均KD @leon
- 复活: playerRevived
- 重生: playerSpawn
- 死亡: playerDied
- 倒地: playerDowned
- 每场比赛的伤害(武器,技能伤害),以及造成伤害的部位分布情况 → 场均伤害 @Chao QIN
- damageEvent → location, damageAmount
- 每场比赛收到的伤害, 以及受击部位的分布 @KleinPenny_RWTH
- damageEvent
- 每场比赛选择英雄 → 常用英雄 @
- selectedAgent
- 使用的技能以及次数
- abilityUsed
- 所在队伍的获胜情况 → 职业生涯按年份得出获胜率
- completedRounds (game_decided (而不是round_started,因为涉及的数据更丰富,包含了获胜原因))
- (Optional) spike在手中的比例 → 可能和队伍中的定位有关, 但是如果掉落和布置炸弹的event都记录,那么好像没有什么意义
- spike_status
- 鉴于似乎不是所有比赛都有abilityUsed的记录情况,我猜测是否和比赛的模式有关,如果是的话,还需要单独为不同的比赛模式创建上述记录
}]
BASE: 从这个开始入手
NO SQL Database → 数据以JSON存储
{"userID": "123", "name": "Alice", "age": 30}
{ "name": "Alice", "age": 30, "hobbies": ["reading", "gaming"] }
RowKey: user123, { "name": "Alice", "age": 30, "city": "Berlin" }
可用DB
Better: 再考虑怎样的数据向量化
Vector Database:
适合对于query进行相似内容的查询
可用DB: