[英]Modelling Data with Google App Engine Datastore
我目前正在使用Python在Google App Engine上構建一個Web應用程序,以收集該形式的賽馬數據。 基本數據結構是:課程有很多會議,許多比賽,許多馬匹都有一位騎師和一位教練員。 到目前為止,我得到了以下模型(為簡潔起見,減少了字段數)。
class Course(db.Model):
course_number = db.IntegerProperty() # course id (third party)
course_description = db.StringProperty() # course name
class Meeting(db.Model):
course = db.ReferenceProperty(Course) # reference to course
meeting_number = db.IntegerProperty() # lifetime meeting number for course
meeting_date = db.DateProperty() # meeting date
class Race(db.Model):
meeting = db.ReferenceProperty(Meeting) # reference to meeting
race_number = db.IntegerProperty() # eg 1 for 1st race of meeting
race_name = db.StringProperty() # race name
time_of_race = db.TimeProperty() # race time
我在解決如何在數據存儲區中存儲有關馬匹,訓練師和騎師的數據時遇到麻煩。
我的應用程序將收集過去兩年的數據,為此,我將保存有關Horse,Trainer和Jockey的相關結果信息。 在那個時間點,特定的馬匹成績信息對於教練和騎師來說是相同的。 但是隨着時間的推移,一匹馬可以擁有不同的教練和騎師。
當我意識到需要進行分析時,我可能需要看一下過去10場比賽的結果,主要是賽馬,賽馬和訓練師的大腦疼痛。 由於結果發生在英國賽車之外(數據仍然可用)或發生在我開始完整比賽存儲的日期之前,因此結果可能無法存儲。
任何人都無法闡明如何優化Horse,Jockey,Trainer結果的存儲,以便我能夠適應這一點嗎?
數據源: http : //form.horseracing.betfair.com/timeform可以通過JSON請求輕松訪問所有必需的數據。
使用HorseResult,TrainerResult和JockeyResult模型在正確的軌道上。 別忘了,數據存儲區沒有分組功能或聚合功能,因此在加載數據時,您可能需要預先計算感興趣的任何聚合或統計信息。
也許您還需要統計類型的模型來跟蹤隨時間推移的馬匹,騎師和教練的表現以及兩者的組合。 類似HorseMonth的東西,它可以跟蹤該馬匹參與了多少場比賽以及如何按月放置。
我還將考慮保留有關馬與騎師或馬與教練的組合隨時間變化的詳細信息。 不幸的是,我對賽馬了解不足,無法為您提供有意義的組合具體建議。
由於聽起來這是一個主要供您自己使用的工具,因此您可以考慮使用mapper API 。 當您瀏覽數據時,它可能具有巨大的價值。
如果您的數據中沒有包含比賽,除了擴大收獲范圍外,您可能無能為力。 您可能只想返回自己的結果,也許是什么表明日期范圍內的數據不足?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.