问题标签 [cql3]

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 投票
2 回答
265 浏览

cassandra - cassandra 使用 thrift 和 CQL3 进行基准测试

我正在对 cassandra thrift 与 CQL 进行性能测试,我使用以下代码在标准列族中输入 1000 条记录,其中 4 列使用 CQL 和 thrift。但是与datastax相反,我使用thrift比使用CQL获得更高的吞吐量和更少的延迟。如果我在某个地方出错了,谁能帮助我?

公共无效插入使用Cql(){

公共无效插入使用Thrift(字符串键空间){ System.out.print(键空间);

0 投票
1 回答
250 浏览

django - 使用 cql 引擎在 django 模型中定义一个计数器类型列

我有一个带有计数器类型列的模型,如下所示:

但是当我想从此模型创建表时,如下所示:

我收到此错误:

我怎么了?我必须如何在我的模型中定义一个计数器类型列?请指导我...

0 投票
2 回答
4856 浏览

cassandra - Cassandra 中对 CQL3 表的删除操作

假设我使用 CQL3 创建了以下列族:

我在其中插入了一些数据,例如:

现在我想做一个更新操作。准确地说,我想更新上面给出的特定行的“频率”值。由于 CQL3 不允许我直接更新主键部分;我必须先删除该条目,然后再插入。但问题是它不允许我使用非分区键列“持续时间”执行删除操作。例如,它不允许我执行此操作:

有谁知道解决这个问题?我真的很感激。

0 投票
0 回答
656 浏览

python - Cassandra 的删除时间比插入慢得多。为什么?

我知道在同一 Cassandra 行上发出大量删除是一种反模式,因为读取需要时间(请阅读此处)。但我也看到进行删除需要更多时间。

考虑这个 python 脚本,它将多个值添加到同一行,然后再次添加它们,然后一次删除它们,然后再次添加它们。对于每个活动,时间都会被监控并显示在屏幕上。

此脚本的输出如下所示:

有人能告诉我为什么与插入相比,列删除需要这么长时间吗?

我的心智模型是插入或删除基本上是同一件事:一个无实体的列,它被写入提交日志的末尾并被塞入内存表中。在插入的情况下,它包含该列的新值,在删除的情况下,它包含该列的墓碑。我的心智模型哪里出了问题?

0 投票
2 回答
2064 浏览

django - Python/Django:使用 cql 引擎创建具有两个主键的表

我想通过它的 django 模型创建一个包含两个 primary_key 的表,如下所示:

但是当我想创建如下表时:

我看到这个错误:

当我从entryLink字段中删除primary_key属性时,我没有错误!但我想将 entryLink 定义为 primary_key!我的错误是什么?

0 投票
1 回答
860 浏览

django - 如何使用 cql-engine 将图像存储到 cassandra 数据库中?

我正在使用pythondjango 框架!如何使用cql 引擎将图像存储到Cassandra数据库中?以及如何在 image_tag 中显示这些图像?

0 投票
2 回答
822 浏览

cassandra - 如何在 Cassandra 1.2 中为同一个表建模两个单独的复合键?

我的用例如下:我必须存储和查询来自多个第三方来源的数据。我拥有的唯一预定义架构知识是它由实体-属性-值元组和一个额外的源组件组成:(E, A, V, S). 我事先不知道会出现哪些属性(因此使用实际属性本身作为列是有问题的)。该组合(E,A,V)必须是唯一的,因此我认为将其用作复合键是对其建模的最佳方法,因此我们得到:

这将使我能够提出以下问题:

  • 给定 E,显示所有属性 A 和值 V 以及它们出现的来源 S
  • 给定 E 和 A,给出所有 V。

计划是使用不同顺序的复合键创建此表的镜像,以便我还可以回答以下形式的查询:

  • 给定 A,显示所有实体 E 和值 V。
  • 给定 S,显示所有 E、A、V 元组。

依此类推(实际上,镜像表扮演索引的角色,为了获得完整的索引,我需要 6 个有效相同数据的副本 - 尚不确定该方法的可伸缩性,但这是一个单独的问题,我猜测)。

到目前为止一切都很好,但是,我正在努力解决的部分是:V实际上它本身就是一个对象,具有多个属性。如果这是一个关系模型,我将V是一个外键字段,指向一个将其映射id到例如type字段和value字段的关系。但是摆脱外键(以及伴随它们的连接)或多或少是我猜 BigTable 方法的重点,所以我正在寻找一种方法将其合并到我的 table 中t1

当然,我可以这样做:

但我看到的问题是,这无法捕获Vid、类型和值之间的(反)函数关系:使用上表,我可以得到,例如:

虽然我希望能够确保给定的 a V_id、 type 和 value 是唯一的,反之亦然。我想我所追求的是旧 Cassandra 版本中的嵌套超级列,但我正在尝试使用 CQL3 实现我所需要的。

我简要研究了集合类型,但这似乎不太适合我的用例。

任何人都可以建议一种更好的方法来对此进行建模,请记住,理想情况下,我希望能够检索(E, A, V)并尽可能少地查询?还是我只是想多了,我目前拥有的方法实际上很好(我当然可以尝试确保应用程序级别的唯一性)?

0 投票
4 回答
7066 浏览

cassandra - 使用 CQL3 遍历 Cassandra 宽行

如何使用 CQL3 拉入一系列复合列?

考虑以下:

在 Cassandra 中,这有效地创建了一个 ColumnFamily,其中包含整数行(a 的值)以及由 b 和 c 的值以及文字字符串“d”组成的 CompositeColumns。当然,这一切都被 CQL3 掩盖了,所以我们会认为我们正在插入单个数据库行......但我离题了。

并考虑以下一组输入:

在我当前的用例中,我想n一次读取 Stuff 的所有值。我该怎么做呢?这是我目前的使用方法n=4

正如预期的那样,我得到:

我遇到的麻烦是如何获得下一个 4?这是我的尝试:

这不起作用,因为我们已经将 b 限制为等于 'A' - 这是一个合理的做法!但是我在 CQL3 语法中没有发现任何东西可以让我继续迭代。我希望我能做类似的事情:

我如何达到我想要的结果。即,如何使 CQL3 返回:

0 投票
1 回答
553 浏览

cassandra - Cassandra CQL3 复合键返回重复值

我是 CQL 和复合键的新手(我以前使用过 CLI)我希望用复合键来实现我的旧超级列系列。简而言之,我的查找模型是:

我有以下带有复合键的 CQL 表:

我插入这些样本值:

我使用这个 Astyanax 代码查询:

当我遍历结果时,每列得到 2 个结果。一个包含“大小”,一个不存在“大小”列。

所以我有两个问题:

  1. 理论上我不需要 size 列,它应该是复合键的值: blocks[file_id][position][block_id]=size 而不是 blocks[file_id][position][block_id]['size'] = size . . 如何在不创建冗余大小列的情况下在 CQL3 中正确插入此数据?
  2. 如果我从未插入过这样的行,为什么我会得到没有“大小”的额外列?
0 投票
2 回答
1338 浏览

cassandra - CQL 选择没有列的行

在 CQL3 中创建表后:

我想知道存储在该表中的所有 cassandra 行。但是当我在 cqlsh 中运行它时:

我得到了许多重复的条目。我基本上得到了我插入的每一列的条目。含义:我为每个(k1 和 k2)获得一个 row_key 条目。

但我的初衷是:“给我一个所有分区(行)键的列表”。我也不想序列化所有列(k1 和 k2)。

我在这里做错了什么?