2010-10-24 42 views
1

一)我有百萬域名nosql示例,哪個引擎?

B)每個域都有10多萬網站

C),每個站點都有約10000訪問每日/(5000次獨特的日訪問量)

d)作爲所有者所有這些網站的,我想看看我,有多少遊客在選定地點曾在選定的時間段,例如:2010年4月

有多少獨特的訪問者是從1987年12月4日至23日MYDOMAIN。 com/tutorials

從yourdomain.com/reference到1996年8月30日至2009年7月16日,有多少獨立訪問者?

對於傳統的SQL數據庫來說,這是一個痛苦。

什麼是最聰明的方法?使用什麼存儲引擎?

我只有SQL知識。任何額外的資源非常感謝。

+0

你認爲什麼是「傳統SQL」,爲什麼你認爲它「是一種痛苦」?你有做基準嗎? – 2010-10-24 12:31:11

+0

傳統=> SQL,沒有基準,這是理論。由於使用CPU和內存造成的痛苦,當然也有時間從數據庫中獲取數據。 – astropanic 2010-10-24 12:33:03

回答

1

由於數字和潛在的查詢類似於你列出的那些,我非常想做一個簡單的SQL(PSQL/TSQL)數據庫來滿足你的需求。相反,您需要某種形式的OLAP處理,如SSAS(SQL Server Analysis Services)或Oracle提供的類似產品。

+0

謝謝曼,將試一試http://en.wikipedia.org/wiki/Comparison_of_OLAP_Servers – astropanic 2010-10-24 12:45:49

0

我認爲DB是這個選項 最好的方法,你只需要cr4eate幾個表和它們之間傳播的數據,例如:

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和結束日期應通過編程語言(PHP,ASP)傳遞也可以手動在SELECT

希望有所幫助設定。

+0

這是SQL相關的,它是資源密集(CPU,內存)和slooooow,謝謝無論如何 – astropanic 2010-10-24 12:27:59