2010-07-29 57 views
2

对于构建用于跟踪whois记录更改的系统,最佳存储机制(从要使用的数据库的角度来看,系统用于存储所有记录)是什么?该计划将每天运行一次,并且应该保留以前的值和新的值。用于跟踪whois记录变化的系统

建议数据库与思考如何存储不同的记录/字段,以便数据不冗余/重复


(添加)我在一个机构的想法来存储数据

例的情况下在2010年1月1日显示出一个域名“sample.com”从personA到personB的销售

Table_DomainNames 
DomainId | DomainName 
1   example.com 
2   sample.com 

Table_ChangeTrack 
DomainId | DateTime | RegistrarId | RegistrantId | (others) 
2   1/1/2009   1    1 
2   1/1/2010   2    2 

Table_Registrars 
RegistrarId | RegistrarName 
1    GoDaddy 
2    1&1 

Table_Registrants 
RegistrantId | RegistrantName 
1    PersonA 
2    PersonB 

所有表格均为“仅附加”。这个模型是否有意义?只有在任何监控字段发生变化时,才应将“变更追踪”添加到“”。

有没有什么方法可以从尺寸的角度来使这个更高效/更紧密?

回答

2

主要数据是whois记录的存在或变化。这表明,你的主表:

<id, domain, effective_date, detail_id> 

其中detail_id点实际的WHOIS数据,可能归自己:

<detail_id, registrar_id, admin_id, tech_id, ...> 

但是千万注意,大多数注册考虑的信息他们的财产(无论是或没有),并有类似的警告:

使用条款:您无权 通过U的访问或查询我们的Whois数据库 电子 流程,是高容量和 自动除本身的合理 需要注册域名或 修改现有的登记......

从中你可以期望他们会如果你砍你关闭读他们的数据库太多了。

+0

我有权限自动使用他们的系统。而不是通过“detail_id”存储它,不会通过registrar_id,admin_id等的'X'值之一来存储它更有效率......其中这些数字来自另一个表本身。例如:table_registrar(registrar_id,registrar_name)? – DrMHC 2010-07-29 12:51:55

+0

我不确定我是否理解你的评论。域名是主键,所有信息都是从属(取决于)该键。由于域名有可能(?)更改注册商,因此我所概述的结构使第三方正常意义上的域名在registrar_id的许多引用中,admin_id将等于tech_id等。 – msw 2010-07-29 12:59:50

+0

嗯...将信息添加到主要问题来解释更好 – DrMHC 2010-07-29 16:15:15

0

你可以

  • 店进行比较的WHOIS记录的数据字段的标准化形式的校验和。
  • 如果需要,存储数据的原始版本和当前版本(可能以压缩格式)。如果需要,
  • 存储每个检测到的变化(可能以压缩形式)的差异。

这很像增量备份系统的工作原理。也许你可以从那里获得更多的灵感。

0

您可以在excel文件中写入vbscript以出去查询网页(在这种情况下,特定网站的whois网址),然后将结果存储回excel中的工作表。