Cassandra 多个键空间或列族?

Posted

技术标签:

【中文标题】Cassandra 多个键空间或列族?【英文标题】:Cassandra multiple keyspaces or column families? 【发布时间】:2014-04-18 09:04:59 【问题描述】:

我目前正在开发一种产品,我必须在 Cassandra DB 上存储 activities。由于我们的活动来自多租户应用程序环境,我们需要以租户感知方式对数据进行建模。我们可以采取的最佳扩展方法是什么?

    为每个租户创建密钥空间 使用适当的租户感知二级索引将活动存储在单个键空间中。

出于发布目的,我们将重新使用现有的 WSO2-BAM 数据发布者,并且出于检索目的,将使用 CQL。

感谢您对此的想法和以往的经验。

【问题讨论】:

【参考方案1】:

我倾向于使用一个键空间和多个列族,主要是因为您存储的活动看起来像是一组逻辑数据。

如果您使用多个键空间,您的应用程序必须包含一些逻辑来确定要查询哪个键空间。我认为这种类型的逻辑最好下放到 Cassandra 中(通过租户感知索引)。

【讨论】:

目前我确实有两种活动类型,但随着新功能的添加,这个数字可能会增加。但我仍然不需要根据活动类型进行查找。

以上是关于Cassandra 多个键空间或列族?的主要内容,如果未能解决你的问题,请参考以下文章

使用 JMX 的 Cassandra 列族列表

Cassandra 列族大于节点驱动空间

如何在 cassandra 中追溯列族的大分区

Cassandra 列族适用于多个用例好/坏

从 Cassandra 服务器读取 Column Families 列表

Cassandra 数据模型