Pregunta

a) Tengo 1000000 nombres de dominio

b) Cada dominio tiene unos 100.000 sitios

c) cada sitio tiene alrededor de 10000 visitas diarias / (5000 visitas únicas diarias)

d) Como propietario de todos los sitios web, que quiero ver, el número de visitantes en los sitios seleccionados que he tenido en períodos de tiempo seleccionados, por ejemplo:

  

¿Cuántos visitantes únicos eran de diciembre 4, 1987 a abril 23, 2010 en mydomain.com/tutorials

     

¿Cuántos visitantes únicos eran de 30 agosto 1996 a 16 julio 2009 en yourdomain.com/reference?

Para una base de datos SQL tradicionales esto es un dolor.

¿Cuál es el enfoque más inteligente? ¿Qué motor de almacenamiento para su uso?

Tengo conocimiento sólo SQL. Los recursos adicionales muy apreciados.

¿Fue útil?

Solución

Con los números y las consultas de potenciales similares a los que usted ha enumerado Me gustaría mucho que dobut un SQL sencilla (PSQL / TSQL) de base de datos gustaría satisfacer sus necesidades. En lugar que necesita algún tipo de procesamiento OLAP como SSAS (SQL Server Analysis Services) o una oferta similar de Oracle.

Otros consejos

Creo que DB es el mejor enfoque para esta opción Sólo tienes que cr4eate un par de mesas y difundir los datos entre ellos, por ejemplo:.

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

para que pueda seleccionar Digamos que:

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 y endDate deben pasar a través de la programación en lenguaje (PHP, ASP) o que se pueden configurar manualmente en el SELECT

Espero que ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top