问题标签 [scylla]
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.
scylla - 更改 scylla db 中的数据目录导致错误
我正在尝试更改 Scylladb 中的数据目录,但出现以下错误:
[shard 0] init - 目录 '/mydir' 无法初始化。试图这样做但失败了:storage_io_error
有人可以帮忙解决这个问题吗
python - 使用 cassandra 的地址转换映射时如何进行端口转换?
我正在尝试使用地址转换映射连接到 compose 上的 scylladb 集群。
只有在实例化集群实例时对端口进行硬编码,才能使代码正常工作:
下一个用于翻译地址的类:
现在让我们连接:
似乎 cassandra python 库不支持使用translate 方法进行端口翻译?您可以在下面的调试输出中看到,传递给 translate 方法的 addr 是一个没有端口的字符串 ip 地址值:
我的环境:
docker - Docker 中的 Scylla 计数器支持
如何在容器(docker)中运行的 Scylla 中启用计数器支持?修改地址的标志很少,但要启用计数器支持,我们需要编辑scylla.yaml
并添加experimental: true
到文件中。如何编辑 scylla 图像使用的文件?
cassandra - cassandra 通过聚类键选择
我对 cassandra 有疑问(ScyllaDB(不支持索引!))
在我的场景中,我有一个包含三列的表
CREATE TABLE test (a text , b text , c text , PRIMARY KEY ( a , b ,c ) );
现在我想通过第二个集群键( c )选择数据,但需要 b 。
我的目标但不正确的查询是:
SELECT * FROM test WHERE c='...' ALLOW FILTERING
正确的查询是这样的:
SELECT * FROM test WHERE b='...' AND c='...' ALLOW FILTERING
我的问题有什么解决方案只能在选择查询中使用 b 集群键吗?
cassandra - Cassandra按聚类顺序的相反顺序选择
我不想按 ASC 和 DESC 的顺序选择行,但 cassandra 数据顺序是固定的。
我使用 ScyllaDB。
我想象的问题场景:
我有一张桌子:
CREATE TABLE tbl(A text , B text , C text , primary key(A,B,C))
插入数据后,我的表是:
现在我想选择行( A - B - 3 )的顶部 1 (或 x )项,然后选择行( A - B - 3 )的底部 1 (或 x )项。
C 顺序是 ASC,它是固定的!现在我尝试选择底部 1 项:
SELECT * FROM tbl WHERE A='A' AND B='B' AND C > '3' LIMIT 1 ;
但选择( AB-3 )的顶部是我的问题
SELECT * FROM tbl WHERE A='A' AND B='B' AND C < '3' ???
有没有在 cassandra 中选择项目顶部的解决方案?
compose-db - Compose Scylladb SSL 证书在哪里?
我正在尝试使用在管理 UI 的撰写概述部分中为我提供的连接字符串连接到我的 scylladb 1.7.4 实例:
然而,回应是:
启用验证;SSL 传输工厂需要指定有效的证书文件。请在 /Users/snowch/.cassandra/cqlshrc (或使用 [certfiles] 部分)中将 [ssl] 部分中的证书文件路径作为 'certfile' 选项提供或设置 SSL_CERTFILE 环境变量
我在哪里可以访问 Compose SSL 证书,以便我可以连接:
我已经SSL_VALIDATE=false
在文档中看到了该选项,但是我不想禁用 SSL 验证。
database - Cassandra 数据库的最佳实践建模数据
我是 Cassandra 的新手,正在寻找关于如何对具有以下一般结构的数据进行建模的最佳实践:
数据是基于“用户”的(每个客户),每个都提供大约 500K-2M 条目的大数据文件(每天定期更新几次 - 有时完全更新,有时只有增量)
每个数据文件都有某些强制性数据字段(约 20 个强制性),但可以自行决定添加其他列(最多约 100 个)。
不同用户的附加数据字段不一定相同(字段名称或这些字段的类型)
示例(csv 格式:)
我考虑过的几个选项:
选项1:
- 创建一个“全局”键空间
- 创建一个包含所有内容的大表“数据”
将 user_id 列连接到大表的所有其他列(包括非强制列)。主键变为 user_id + "column_1"(column_1 每个 user_id 都是唯一的)
/li>
我马上注意到的几件事:
- user_id 重复的次数与每个用户的条目一样多
- 附加列(空值)的行非常稀疏,因为用户不一定共享它们
- 用户数量相对较少,因此附加列的数量并不多(最多 10K 列)
- 我可以将每个用户的附加列数据压缩为一个名为“元数据”的列,并为所有用户共享
选项 2:
为每个 User_id 创建 Keyspace
每个键空间创建表“数据”
笔记:
- 许多键空间(每个用户的键空间)
- 避免为每行添加“user_id”值(我可以使用键空间名称作为用户 ID)
- 每个键空间的表很少(在此示例中,每个键空间只有 1 个表)
选项 3:
1)创建一个全局键空间 2)为每个 user_id 创建一个表(强制列以及每个表的附加列)
笔记
- 全局键空间
- 每个 user_id 一个表(“许多”表)
- 避免每行重复用户 ID
选项4:(这有意义吗?)
创建多个键空间(例如“x”个键空间),每个键空间包含一系列表(每个用户的表)
笔记:
- 多个键空间
- 每个用户多个表
- 需要“查找”来确定哪个键空间包含所需的表
选项 5:
将数据拆分到多个表和多个键空间
注意:1.在某些情况下需要从多个表中“加入”信息2.似乎更复杂
所有场景的一般说明:
- 写入比读取少一个数量级
- 每天数百万次阅读
- 每个 user_id 的流量波动 - 一些 user_id 的流量很大,而一些 user_id 的流量要少得多。需要根据这个指标进行调整
- 一些 user_id 的更新(写入)比其他的更频繁
- 我们在不同地区拥有多个数据中心,应该同步
- 每个主键都有一个长尾(一些键被多次访问,而另一些键很少被访问)
java - 使用 Solr 的 JanusGraph
我在将 JanusGraph 连接到 Solr 时遇到问题:我有以下问题:
janushgraph-solr.properties
GraphOfTheGods 文件:https ://github.com/JanusGraph/janusgraph/blob/master/janusgraph-core/src/main/java/org/janusgraph/example/GraphOfTheGodsFactory.java
我收到以下错误:
我如何摆脱 storage.backend=cassandrathrift 并使用 solr 作为后端?正如文件建议的那样,用 solr 替换“cassandrathrift”对我来说是失败的。这导致找不到 solr 类。任何帮助,将不胜感激
full-text-search - 如何在 scylladb 和 cassandra 中创建完整/高级文本搜索?
我在我的 centos 操作系统中安装了最新版本的 scylladb 和 cassandra。我已经尝试在选择查询中允许过滤,但我不需要它,我想要在其中进行高级搜索或全文搜索,我有谷歌但找不到任何解决方案,当我创建索引并尝试运行选择查询时它给出错误“服务器错误:未实现:索引”。有人能帮帮我吗?
cassandra - Cassandra物化视图分区键更新性能
我正在尝试更新基表中的列,该列是物化视图中的分区键,并试图了解其在生产环境中的性能影响。
基表:
物化视图:
因此,certid 是我们物化视图中的新分区键
发生了什么:
问题:
需要注意的是,性能是一个重要的标准,因为它将在生产环境中使用。
谢谢