我们正在构建一款拥有众多游戏的应用。孩子们在玩这些游戏时会学习数学。所有用户配置文件数据,游戏数据和课程/问题数据都存储在应用程序中,并将同步到服务器端的MySQL数据库。
我们还想收集,分析和改进我们的游戏,还有大量的事件数据。这些事件可能是课程的开始,触摸游戏对象,选择正确的游戏对象但是错误地定位,正确回答但是超时等等。对于孩子们玩的每个游戏,我们预计这将是100行。存储的数据也将取决于事件的类型。
数据库应该允许我们分析数据并回答问题,比如哪些游戏对孩子来说很难,哪些课程对孩子来说太容易了,来自一些国家的孩子发现一些教训是艰难的,每个教训有多长这些游戏能够吸引孩子的注意力等等。
哪个数据库允许我们存储这么多不同类型的事件,每天扩展到数百万行并允许所有这些类型的分析?鉴于数据模型的性质不断变化,NoSQL似乎是一个明显的选择。但是哪一个允许我们做所有这些分析。或者我们应该使用Hadoop / Hive?
提前致谢。
答案 0 :(得分:0)
虽然你可以使用Hadoop / Hive来做到这一点,但你不会获得实时性能,因为Hive最适合批处理有点东西。在这种情况下,Hbase将是更好的选择。您可以创建OLAP数据立方体,其尺寸可以是您指定的信息,如会话信息,每个孩子的信息等等。或者您可以将所有这些信息序列化为JSON对象,然后将它们存储在Hbase单元格中。您还可以将这些事件中的每一个存储在单个单元格中,但这会占用不必要的空间,并且在获取数据时效率不高。
HTH