Frage

a) Ich habe 1000000 Domain-Namen

b) Jede Domain hat über 100.000 Websites

c) jede Seite hat etwa 10.000 Besucher täglich / (5000 eindeutige Besuche täglich)

d) Als Inhaber aller dieser Websites, ich möchte sehen, wie viele Besucher auf ausgewählten Standorten hatte ich in einem ausgewählten Zeitraum, zum Beispiel:

  

Wie viele einzigartigen Besucher waren vom 4. Dezember 1987 bis zum 23. April 2010 über mydomain.com/tutorials

     

Wie viele einzigartigen Besucher vom 30. August 1996 waren bis zum 16. Juli 2009 über yourdomain.com/reference?

Für eine traditionelle SQL-Datenbank ist dies ein Schmerz.

Was ist der cleverste Ansatz? Welche Speicher-Engine verwenden?

Ich habe nur SQL-Kenntnisse. Alle zusätzlichen Ressourcen sehr geschätzt.

War es hilfreich?

Lösung

Mit den Zahlen und möglichen Abfragen ähnlich denen, die Sie aufgeführt haben würde ich sehr viel dobut, dass eine einfache SQL (PSQL / TSQL) Datenbank würde Ihre Bedürfnisse erfüllen. Statt irgendeine Form von OLAP Sie werden wie SSAS Verarbeitung benötigen (SQL Server Analysis Services) oder ein ähnliches Angebot von Oracle.

Andere Tipps

Ich denke, DB der beste Ansatz für diese Option ist Sie müssen nur ein paar Tische cr4eate und die Daten zwischen ihnen steht, z verteilt:.

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

so können Sie wählen, sagen wir mal:

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 und endDate sollte durch Programmiersprache (PHP, ASP) übergeben werden, oder sie können in der SELECT

manuell eingestellt werden

Ich hoffe, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top