سؤال

أ) لدي 1000000 أسماء المجال

ب) كل مجال يحتوي على حوالي 100000 موقع

ج) كل موقع لديه حوالي 10000 زيارة يوميا / (5000 زيارة فريدة يوميا)

د) بصفتي صاحب جميع مواقع الويب هذه ، أريد أن أرى ، عدد الزوار في المواقع المحددة التي كان لدي في فترات زمنية محددة ، على سبيل المثال:

كم عدد الزوار الفريد من 4 ديسمبر 1987 إلى 23 أبريل 2010 على mydomain.com/tutorials

كم عدد الزوار الفريد من 30 أغسطس 1996 إلى 16 يوليو 2009 على yourdomain.com/reference؟

لقاعدة بيانات SQL التقليدية هذا هو الألم.

ما هو أذكى نهج؟ ما محرك التخزين لاستخدامه؟

لدي المعرفة SQL فقط. أي موارد إضافية موضع تقدير كبير.

هل كانت مفيدة؟

المحلول

مع الأرقام والاستعلامات المحتملة المشابهة لتلك التي أدرجتها ، أود أن تلبي قاعدة بيانات SQL (PSQL/TSQL) البسيطة (PSQL/TSQL) احتياجاتك. بدلاً من ذلك ، ستحتاج إلى شكل من أشكال معالجة OLAP مثل SSAs (خدمات تحليل خادم SQL) أو عرض مماثل من Oracle.

نصائح أخرى

أعتقد أن DB هو أفضل طريقة لهذا الخيار ، عليك فقط cr4ate بضع جداول ونشر البيانات بينهما ، على سبيل المثال:

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 و enddate من خلال لغة البرمجة (PHP ، ASP) أو يمكن تعيينها يدويًا في الاختيار

امل ان يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top