nosql例子,哪个引擎?

时间:2010-10-24 12:07:36

标签: database nosql rdbms rdbms-agnostic

a)我有1000000个域名

b)每个域都有大约100000个站点

c)每个网站每天有大约10000次访问/(每天5000次独立访问)

d)作为所有这些网站的所有者,我想看看,在选定的时间段内我选择的网站上有多少访问者,例如:

  

1987年12月4日至2010年4月23日期间,有多少独立访问者访问mydomain.com/tutorials

     

在yourdomain.com/reference上,1996年8月30日至2009年7月16日有多少独立访客?

对于传统的SQL数据库来说,这很痛苦。

最聪明的方法是什么?使用什么存储引擎?

我只有SQL知识。非常感谢任何其他资源。

2 个答案:

答案 0 :(得分:1)

使用与您列出的数字和潜在查询类似的数字和潜在查询,我会非常注意一个简单的SQL(PSQL / TSQL)数据库将满足您的需求。相反,您需要某种形式的OLAP处理,如SSAS(SQL Server Analysis Services)或Oracle提供的类似产品。

答案 1 :(得分:0)

我认为DB是此选项的最佳方法 你只需要创建几个表并在它们之间传播数据,例如:

Table: Domains [id, name]
Table: Sites [id, domain_id, name]
Table: Visits [id, site_id, date]

所以你可以选择让我们说:

SELECT COUNT(v.id) 
FROM Visits AS v 
RIGHT JOIN Sites AS s
ON v.site_id = s.id
RIGHT JOIN Domains AS d
ON s.domain_id = d.id
WHERE d.name = 'mydomain.com' 
      AND s.name = 'tutorials' 
      AND v.date BETWEEN startDate AND endDate 

startDate和endDate应该通过编程语言(PHP,ASP)传递,或者它们可以在SELECT中手动设置

希望有所帮助。