Question

a) J'ai 1000000 noms de domaine

b) Chaque domaine a environ 100 000 des sites

c) chaque site a environ 10 000 visites par jour / (5000 visites uniques par jour)

d) En tant que propriétaire de tous ces sites, je veux voir, combien de visiteurs sur les sites sélectionnés j'avais dans une période de temps sélectionnées, par exemple:

  

Combien de visiteurs uniques ont été du 4 Décembre 1987-23 Avril 2010 sur mydomain.com/tutorials

     

Combien de visiteurs uniques ont été de 30 Août 1996-16 Juillet 2009 sur yourdomain.com/reference?

Pour une base de données SQL traditionnelle c'est une douleur.

Quelle est la plus intelligente approche? Quel est le moteur de stockage à utiliser?

Je n'ai que des connaissances SQL. Les ressources supplémentaires grandement appréciés.

Était-ce utile?

La solution

Avec le nombre et les requêtes potentielles similaires à ceux que vous avez énumérés je aimerais beaucoup dobut que d'une simple base de données SQL (PSQL / TSQL) répondrait à vos besoins. Au lieu de cela, vous aurez besoin d'une forme de traitement OLAP comme SSAS (SQL Server Analysis Services) ou une offre similaire d'Oracle.

Autres conseils

Je pense que DB est la meilleure approche pour cette option Il vous suffit de cr4eate quelques tables et de diffuser les données entre elles, par exemple:.

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

de sorte que vous pouvez sélectionner laisser dire:

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 et endDate devrait être adopté par le langage de programmation (PHP, ASP) ou ils peuvent être réglés manuellement dans le SELECT

L'espoir qui aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top