【发布时间】:2011-05-08 17:06:43
【问题描述】:
除了 python 之外,我没有太多的编程经验,我正在开始一个项目,该项目将按城市/国家、日期和时间存储信息。我以前使用过 simplejson,发现它非常有用,尤其是因为使用 python 对 json 数据进行排序是多么容易。
如果我使用 json,我将拥有一个包含 30 个不同键的字典(针对每个城市/国家),然后对于每个国家或城市,我的值将是一个新字典,其中日期作为键,其值将是另一个以时间为键的字典。每个时间键的值将是 10 个不同字典的列表(如果我没有更简洁地说明,我很抱歉)。我计划将这些数据保留几年,数据主要是文本。我不知道会有多少文字,但会有很多文字。数据将每小时更新几次。我将是唯一访问数据的人,我最终可能会将数据放到网上供人们查看。
所以数据结构可能看起来像这样:
data = {
'Toronto, Canada': {
'2011-05-04': {
'00:30': [
{ ... },
{ ... },
...
],
'02:00': [
...
],
...
},
'2011-05-05': {
},
...
},
'Tokyo, Japan': {
...
},
...
}
我开始自学 SQL,但有人会推荐什么?我应该创建上面描述的 json 结构(或一些更改的版本,我愿意提供任何建议)还是应该通过 SQL 创建数据库?
我还将使用不同的 python 函数分析数据,所以我不知道这是否会影响任何建议。
【问题讨论】:
-
您将苹果与橙子进行比较。使用关系数据库来持久化您的数据与在内存中维护字典中的数据并在那里进行分析并不直接相反。请详细说明需要多少数据、如何以及何时需要持久化、多久更改一次、有多少并发用户访问等。