我将使用的技术是:GAE Datastore 和 Objectify。我的数据库与事件和地点有关(也许一些已经设计了类似于谷歌日历或 facebook 事件等数据库的专家可以帮助我)。
IMO,我需要以我应该真正快速加载和查找事件的方式设计我的数据库。所以我不知道我要解释的是否是其他人使用的模式......如果你能告诉我这是否是一个好主意......
诀窍是,我假设数据存储中的键将按字母顺序排列(我想我已经读过可以这样做......)。
我想为每个创建的新事件创建一个键(字符串),它将由以下组成:
[year_month_day] [hour_minute] [country_city_zone_local] [eventName]
存储在数据存储中的密钥示例:
[201304012200_fr_paris_quartierLatin_latinNightclub_superFiesta1] [201304022200_fr_paris_quartierLatin_latinNightclub_superFiesta2] [201304032200_fr_paris_quartierLatin_latin_latin_latin_latinNightclub_superFiesta3] [2013040422240Nquarlatin_superFiesta3]
在上面的示例中,在同一本地 (latinNightClub) 连续 4 天发生 4 个事件。
现在,假设我在 50 个国家/地区有数百万个事件,我应该快速加载 DAY_1 (2013/04/02) 和 DAY_2 (2013/04/04) 之间发生的事件。根据我的想法,我应该从 20130402 .....、20130403 ... 和 20130404 ......可能更快。
问题 1:这样设计我的数据库是个好主意吗?是否有可能使用提到的技术来做到这一点?
问题 2:在关键中,我还包括了与国家和事件发生地相关的信息......因为,如果用户只想要“latinNightClub”中发生的事件,那么我也可以快速获取结果(由于键是按字母顺序排列的......)所以这也是一个好主意吗?
就我而言,第一步很难做到,您的帮助可能真的很棒!如果我完全错了,请随时给我任何应该有帮助的链接。
问候,