Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有对象化的足球联赛表 我想用App Engine为一个小型足球联赛做一个后端应用程序,我考虑使用DATASTORE和ObjyFY代替传统的SQL数据库。_Sql_Google App Engine_Google Cloud Datastore_Objectify - Fatal编程技术网

具有对象化的足球联赛表 我想用App Engine为一个小型足球联赛做一个后端应用程序,我考虑使用DATASTORE和ObjyFY代替传统的SQL数据库。

具有对象化的足球联赛表 我想用App Engine为一个小型足球联赛做一个后端应用程序,我考虑使用DATASTORE和ObjyFY代替传统的SQL数据库。,sql,google-app-engine,google-cloud-datastore,objectify,Sql,Google App Engine,Google Cloud Datastore,Objectify,我想展示比赛日和排行榜。我也希望能够显示赛拉廷比赛日的排行榜排名 例如: 假设当前比赛日是本赛季的第六个比赛日。我希望能够显示第四个比赛日的排行榜排名(它是1.matchday+2.matchday+3.matchday+4.matchday的积分总和) 我将如何使用数据存储和objectify在appengine上建立类似的模型? 对排行榜的查询是什么样的 或者这是一个我应该使用传统SQL数据库的好例子,因为使用SQL可以在SQL语句中执行SUM() 动态计算(可能是缓存) 预计算和存储

我想展示比赛日和排行榜。我也希望能够显示赛拉廷比赛日的排行榜排名

例如: 假设当前比赛日是本赛季的第六个比赛日。我希望能够显示第四个比赛日的排行榜排名(它是1.matchday+2.matchday+3.matchday+4.matchday的积分总和)

我将如何使用数据存储和objectify在appengine上建立类似的模型? 对排行榜的查询是什么样的


或者这是一个我应该使用传统SQL数据库的好例子,因为使用SQL可以在SQL语句中执行SUM()

  • 动态计算(可能是缓存)
  • 预计算和存储

很难说哪一个更好,因为它取决于数据量和查询量。在GAE上工作会使开发人员倾向于预先计算,尤其是在过去的数据不变的情况下。例如,每晚汇总过去的数据。现在您的查询速度很快。

在传统sql数据库中,“动态计算”似乎要容易得多。预计算和存储也是我的第一种方法,但我认为还有另一个最佳实践建议。使用预计算:例如,我想添加联赛最佳得分手和球队最佳得分手的球员统计数据,我必须重新计算和存储联赛最佳得分手条目,存储每个球队的最佳得分手条目,并且可能需要在比赛日实时重新计算。所以我想SQL+内存缓存对我的联盟项目会更好。。。你怎么看?这不是SQL和数据存储的问题。这是关于预先计算与动态计算的比较。sql和数据存储都为您提供了这两个选项。这取决于你来决定和实施。考虑到你的应用程序很小,不要浪费太多时间。挑一个去做。您可以在将来随时进行重构。SQL使许多事情变得简单,包括像GROUP BY这样不能扩展到大数据量的事情。在您的情况下,这可能无关紧要,因为数据量很小,但GAE数据存储在阻止任何可能无法扩展到Google大小的活动方面有点一心一意。这是一种权衡。如果您有微小的数据量和结构牢固的数据,那么RDBMS没有任何问题。