用于web分析的Cassandra数据模型方法

用于web分析的Cassandra数据模型方法,cassandra,data-modeling,Cassandra,Data Modeling,我最近开始为我们的项目探索卡桑德拉。我对卡桑德拉数据建模有疑问。让我们以谷歌网络分析产品为例。谷歌在不同的时间范围内收集/聚合不同维度的url统计信息。让我们举一个简单的例子,从桌面浏览器和移动浏览器中收集访问www.yahoo.com的次数,为期30天(每日总和)。我们可以通过两种方式对此进行建模- 每个浏览器类型对应一个行键,用于相同的url,每天作为具有聚合计数器列类型的列名 url的一个通用行键和日期、url和浏览器类型为聚合计数器列类型的复合键 每种方法的优点和缺点是什么?列名称的

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

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

url的一个通用行键和日期、url和浏览器类型为聚合计数器列类型的复合键


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

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

当你说主键时,我想你指的是行键。我们的要求是按日期、平台、浏览器类型等对数据进行切片。将来,我们还可以按国家、州、城市对数据进行切片。基本上它不是一把钥匙。因此,使用您的模型将以指数方式增加行数。可以吗?列族中的行数有限制吗?下面的讨论提供了一些不同的观点。你对此有什么想法?是的,主键或行键,我们谈论的是cassandra的不同版本;)首先,行数没有限制,添加更多服务器。对于国家、州、市,您可能需要一个新表,您能再解释一下这个用例吗?关于链接,这是完全正确的,在您的情况下,这取决于您的访问模式,如果您通常只读取一列,那么最好将日期、url、平台、日期作为行键,如果您主要同时读取所有30个计数器,那么将日期、url、平台作为行键和日期作为列名将更有效