问题标签 [super-columns]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5761 浏览

cassandra - 映射 Cassandra 超级列

我想每个玩过 Cassandra 的人都已经读过这篇文章了。

我试图在 CassandraCli 上创建我的模式,但我遇到了很多问题,有人可以指导我正确的方式吗?我正在尝试创建一个类似的结构,例如文章中的 Comments 列族。

在 CassandraCli 终端中,我输入:

它工作正常,没有文档告诉我,如果我添加一个 column_metadata 属性,这些属性将用于超级列,因为我的列族是超级类型,我找不到它是否为真,所以:

我正在尝试创建与文章的评论列系列相同的内容,但是当我尝试填充时

我有:

无效的 UUID 字符串:正文

我猜是因为我选择了timeuuid类型的子比较器,而body是一个字符串,它应该是一个timeuuid,所以我的列在timeuuid类型的超级列中如何保存具有字符串类型名称的列作为文章的评论被创建?

谢谢

0 投票
2 回答
5024 浏览

cassandra - 在 Cassandra Cli 中设置超级列族

我正在使用 Cassandra 0.8.0。

我无法弄清楚如何使用 Cassandra-Cli 向当前存在的 SuperColumn 添加值。例如:我已将以下内容添加到我的密钥空间

我尝试在这个超级列中添加一行:(输入)[default@testspace] set authors[1]['1']['url'] = 'www.henry.com';

(输出)[default@testspace] null 这是一个错误^

我也试试这个:

并得到:

在 Cassandra-Cli 中操作 SuperColumns 的正确语法是什么?您能否提供一个使用 cassandra-cli 中的超级列设置/获取值的示例?

谢谢

0 投票
1 回答
3567 浏览

schema - 为具有元数据的超级列创建 Cassandra 架构

我想在我的数据库中使用 cassandra -cli 的以下结构

例如,我有一个人的地址,地址包含邮政编码、门牌号等示意图,如下所示:

我知道如何创建超列和普通列。但我想使用 column_metadata 来指定超列中的列的外观。所以最终会是这样的:

这是可能吗?

如果我可以将一个超级列放在另一个超级列中,那就更好了。这样,超级列“地址”可以包含多个超级列“地址”,列:“street”、“zip”等。

0 投票
1 回答
174 浏览

cassandra - 来自一个分区或多个分区的 cassandra 超列数据?

假设我有一个超列族。还假设我有多个分区在不同的机器实例上运行。我的超列族数据如下所示(一行)

现在我想知道,如果我对超列族进行查询以返回 {row, super_column} 的数据/子列,这些子列的所有值会从一台机器还是不同机器返回?基本上这是一个问题 - 分区是在行级别还是 super_column 级别还是子列级别发生?而且,即使只是从一台机器返回,每个子列的顺序是否会按原样返回,就像上面显示的那样?

0 投票
1 回答
263 浏览

cassandra - 在 Cassandra 中,每行存储 86k 超级列(每行 1-10 个小列)是个好主意吗?

tldr:在一行中有 1 到 10 列的约 90,000 个超级列是否太多?1500 左右怎么样?列值每个约为 6 个字节。

完整的问题

我正在研究时间序列数据的各种数据存储。Cassandra 和 HBase 等面向列的数据库看起来非常适合。

要求是以(最小)1 分钟间隔存储数百万个数据系列。理想情况下,如果业务需要,我们将能够支持 1 秒的间隔(他们可能会这样做)。

这篇文中提供的以及OpenTSDB使用的建议非常有意义。

本质上,键是与当天的第一个时间戳连接的系列 ID,为当天的每个测量创建列。也就是每行大约 86400 列。

然而,数据的不变性/版本控制非常重要。业务需求决定了在保留数据完整历史记录的同时更新系列值的能力。

探索 Cassandra 的超级列以提供另一个维度以对值进行版本化,从而产生 86400 个超级列。然后,每个超级列将在第一次创建值时包含一列(可能是 TimeUUID),然后在每次“更新”时再添加一列。将定期更新有限的系列和值子集。在理想条件下不会有更新。理想情况下,这意味着每个超级列都不需要加载大量数据,并且大多数访问将仅访问最近的值。

所以回到这个问题:

每行使用那么多(86k)超级列是否存在性能损失或问题?

0 投票
1 回答
437 浏览

ruby - Cassandra 是否有任何带有计数器和超列的 Ruby 客户端?

Cassandra 是否有任何支持计数器和超列的 Ruby 客户端?

1) gem cassandra 不支持计数器

2) gem cassandra-cql 不支持超列(cql 不支持它们)

0 投票
1 回答
812 浏览

cassandra - 在 Cassandra 的列族内创建子列

我一直在尝试查看是否可以在 cassandra 列族中拥有超级或普通的嵌套列。我已经看遍了,还没有完全看到我在寻找什么。

我想做这样的事情。

从以下帖子为具有元数据的超级列创建 Cassandra 架构

我发现了类似的东西,但它没有按照我想要的方式工作。

这是我的代码,显示了我如何创建列族。

它会创建它,但是如果我像上面的 JSON 示例那样输入地址,它似乎不起作用。

这是我从 cli 执行列表时的输出。

RowKey: 646f68616c6c => (column=FavStore, value=59580595188280, timestamp=1330696438) => (column=Favorites, value=HASH(0x3618bc0), timestamp=1330696438) => (column=FirstName, value=Me, timestamp=1330696438) => (column=HomeAddress, value=HASH(0x3618b30), timestamp=1330696438) => (column=LastName, value=Smith, timestamp=1330696438)

当我尝试从家庭地址中提取值时,我什么也得不到。它似乎是空的。我从一些 perl 代码中提取它,哈希告诉我它是空白的。

我想知道这是否可能,如果这不是将子列添加到列族的最佳方法。或者我只是在叫错树。

任何信息,将不胜感激。

0 投票
2 回答
504 浏览

cassandra - Cassandra 和超列

我有下一个问题:是否可以在 cassandra 中创建如下所示的列族以及如何定义它的结构:

0 投票
1 回答
1990 浏览

cassandra - Cassandra 中的超级列

我必须做 5M (5 000 000) 个超级列,或 ~25M (5M * 5) 个常规复合键列。或者,我需要使用有序分区器。

太多超级列的确切缺点是什么?以及为什么我应该避免它们,因为如果我使用复合键,它是“自制”超级列,所有键都将仍然存在。

0 投票
1 回答
214 浏览

cassandra - Hector querySuperColumns 仅返回部分超级列

我有以下代码打算获取所有超列的键,然后找到目标数据。但事实证明,它只返回部分超级列(例如 - 400 个中的 100 个)。有什么原因以及如何解决它?