1


0

nosqlの例、どのエンジン?

a)1000000個のドメイン名があります

b)すべてのドメインには約100000サイトがあります

c)各サイトには1日あたり約10000回の訪問/(1日あたり5000回のユニークな訪問)

d)これらすべてのWebサイトの所有者として、特定の期間に特定のサイトにアクセスした訪問者の数を確認したい。たとえば:

_ _ mydomain.com/tutorialsでの1987年12月4日から2010年4月23日までのユニークビジターの数

yourdomain.com/referenceの1996年8月30日から2009年7月16日までのユニークビジターの数は? _ _

従来のSQLデータベースの場合、これは苦痛です。

最もスマートなアプローチは何ですか? 使用するストレージエンジン

SQLの知識しかありません。 追加のリソースは大歓迎です。

2 Answer


1


あなたがリストしたものと同様の数と潜在的なクエリがあるので、単純なSQL(PSQL / TSQL)データベースがあなたのニーズを満たすだろうと私は非常に思います。 代わりに、SSAS(SQL Server Analysis Services)またはOracleの同様の製品など、何らかの形式のOLAP処理が必要になります。


0


DBはこのオプションの最適なアプローチだと思います。2、3のテーブルをcr4eateし、データをそれらの間で広げるだけです。

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)を介して渡す必要があります。または、SELECTで手動で設定できます。

お役に立てば幸いです。