【问题标题】:Cassandra data model approach for web analytics用于 Web 分析的 Cassandra 数据模型方法
【发布时间】:2014-03-27 01:05:50
【问题描述】:

我最近开始为我们的项目探索 Cassandra。我对 Cassandra 数据建模有疑问。让我们以谷歌网络分析产品为例。谷歌收集/汇总不同时间范围内不同维度的网址统计信息。让我们举一个简单的例子,从桌面浏览器和移动浏览器收集 www.yahoo.com 的访问次数,为期 30 天(每日总和)。我们可以通过两种方式对此进行建模 -

每个浏览器类型的一个行键,用于相同的 url,每天作为具有聚合计数器列类型的列名

一个通用行键,用于 url 和复合键,带有日期、url 和浏览器类型,带有聚合计数器列类型

每种方法的优缺点是什么?

【问题讨论】:

    标签: cassandra data-modeling


    【解决方案1】:

    列名的长名称不是一个好主意,因为它们将重复存储在每一行中。 您应该使用日期、网址、平台、日期作为主键,并使用一列作为计数。这样,如果您需要指定日期、网址、平台的月份中的所有日期。

    【讨论】:

    • 当你说主键时,我想你的意思是行键。我们的要求是按日期、平台、浏览器类型等对数据进行切片。将来我们还可以按国家、州、城市对数据进行切片。基本上它不是一个键。因此,使用您的模型将成倍增加行数。这样可以吗?列族的行数有限制吗?
    • 下面的 SO 讨论对此几乎没有什么不同的看法。您对此有何看法? stackoverflow.com/questions/19039123/…
    • 是的主键或行键,我们说的是不同版本的cassandra;)首先,行数没有限制,添加更多服务器。对于国家、州、城市,您可能需要一个新表,您能否再解释一下该用例?关于链接,这是完全正确的,在您的情况下取决于您的访问模式,如果您通常只阅读一列,最好将 date,url,platform,day 作为行键,如果您主要阅读所有 30 个计数器同时,将日期,网址,平台作为行键,将日期作为列名会更有效
    猜你喜欢
    • 1970-01-01
    • 2011-11-29
    • 2017-01-24
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    相关资源
    最近更新 更多