Domanda

a) Ho 1000000 nomi a dominio

b) Ogni dominio ha circa 100.000 siti

c) ogni sito ha circa 10000 visite giornaliere / (5000 visite uniche al giorno)

d) Come il proprietario di tutti quei siti, voglio vedere, quanti visitatori su siti selezionati che ho avuto in un periodo di tempo selezionato, ad esempio:

  

Quanti visitatori unici sono stati da 4 dicembre 1987 al 23 aprile 2010 su mydomain.com/tutorials

     

Quanti unico visitatore sono stati da 30 agosto 1996 al 16 luglio 2009 sul yourdomain.com/reference?

Per un database SQL tradizionale questo è un dolore.

Qual è l'approccio più intelligente? Quale motore di storage per l'uso?

ho conoscenza solo SQL. Eventuali risorse aggiuntive molto apprezzato.

È stato utile?

Soluzione

Con i numeri e le query potenziali simili a quelli che hai elencato Mi piacerebbe molto dobut che un semplice SQL database (PSQL / TSQL) sarebbe soddisfare le vostre esigenze. Invece avrete bisogno di una qualche forma di elaborazione OLAP come SSAS (SQL Server Analysis Services) oppure un'offerta simile da Oracle.

Altri suggerimenti

Credo che DB è l'approccio migliore per questa opzione Devi solo cr4eate un paio di tavoli e diffondere i dati tra di loro, per esempio:.

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

in modo da poter selezionare diciamo:

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 e endDate devono essere passati attraverso il linguaggio di programmazione (PHP, ASP) oppure possono essere impostati manualmente nella SELECT

La speranza che aiuta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top