2009-09-15 180 views
4

我在想Google Analytics(分析)数据库的设计,他们如何以小时为单位处理巨大的价值,甚至在几分钟内。谷歌分析数据库设计

比方说,他们有1亿用户,几乎每个用户每分钟都有300个计数器。对于一个用户,300个计数器在一小时内有18000行。有一天它是432K行和近300万行。

我还以为他们不使用关系数据库,但不知道它...

是否有关于它的任何建议?

问候,

+2

我敢肯定,谷歌使用定制开发的数据库称为BigTable的(http://en.wikipedia.org/wiki/BigTable) – Kane 2009-09-15 10:20:37

+0

谷歌表示: #的BigTable是建立在GFS之上的分布式哈希机制(谷歌文件系统)。它不是一个关系数据库。它不支持连接或SQL类型查询。 #它提供查找机制来通过密钥访问结构化数据。 GFS存储不透明的数据,许多应用程序需要具有结构数据。 从这个评论关键字是重要的。查找mechanishm只处理一个键。 似乎它里面有一个非常大的HashTable ... – Melih 2009-09-15 11:46:40

回答

1

高可扩展性总结了Google的架构here。它不直接讨论分析,但它显示了BigTable如何适应整个基础架构。我不确定Google架构的详细信息是否可用 - 正如文章中所说的“基础架构可以成为一种竞争优势” - 但我猜测它比常规数据模型更紧密地绑定到硬件实现上。