问题标签 [tikv]
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.
tidb - 我们可以将连接到同一个集群的多个 TiDB 实例运行到 PD 和(因此是 TiKV)吗?
我想为基准测试建立一个本地的 TiDB 集群。以下是我的一些疑问:
- 多个 TiDB 实例可以连接到同一个 PD 和 TiKV 集群吗?(我们在这个官方生产部署文档中只注意到一个 TiDB 实例。)
- 如果为正,提交到不同 TiDB 实例的事务是否满足快照隔离级别?
- 在存储层,每个 TiKV 节点是否保留了整个数据集?(复制因子等于 TiKV 节点数?)
- 如果是否定的,如何配置复制因子?
jdbc - 为什么更新的字段值是随机的,TiDB 性能会下降 10 倍?
我设置了 TiDB、TiKV 和 PD 集群,以便使用 YCSB 工具对它们进行基准测试,并通过 MySQL 驱动程序连接。集群由 TiDB、TiKV 和 PD 各 5 个实例组成。每个节点运行一个 TiDB、TiKV 和 PD 实例。
然而,当我在更新语句中玩弄 YCSB 代码时,我注意到如果更新字段的值是固定的并且是硬编码的,那么总吞吐量约为 30K tps,延迟约为 30ms。如果更新的字段值是随机的,则总吞吐量约为 2k tps,延迟约为 300 毫秒。
更新语句创建代码如下:
我们如何解释这种性能差距?如本文所述,是否由于 DistSQL 查询缓存?
raft - TiKV 中的“多筏”是什么?
前几天我遇到了这个有趣的数据库,并在其官方网站上阅读了一些文档,我对 TiKV 中的 Raft Group 有一些疑问(here),
假设我们有一个大约有 100 个节点的集群,并且复制因子是 3,这是否意味着我们最终会得到很多微小的 Raft “气泡”,每个气泡只包含 3 个成员,它们进行领导者选举和“气泡”内的日志复制。
或者,我们只有一个包含 100 个节点的胖 Raft “buble”?
请帮忙解释一下,谢谢!
java - MacOS上的TIKV java客户端:无法为PD集群初始化客户端
我想在 MacOS 上使用它的 java 客户端访问 TIKV。
我有一个 hello-world 应用程序:
我有 docker-compose.yml (基于https://github.com/pingcap/tidb-docker-compose/blob/master/docker-compose.yml,我已经添加ports
和删除了所有冗余容器)
当我这样做时,curl 0.0.0.0:32810
我得到@@
. 当我启动我的java代码时,我得到
如何解决这个问题?
java - Java-grpc 和 tikv-java: NoSuchFieldError: CONTEXT_SPAN_KEY
我将 java-grpc 与 tikv-java 一起使用(它们分别工作正常)。但我一起努力解决以下错误:
我的代码客户端:
我的代码服务器:
我的代码实现:
我的原型:
我要做的部署:
- 在下载的 repo client-java我做
mvn clean install -Dmaven.test.skip=true
- 在我的项目文件夹中
- 在我的项目 pom.xml
- 运行java 8:
有没有人建议如何解决?
完整代码可在此处获得
我进行了搜索,试图排除 grpc 和 opencensus,切换版本 - 没有帮助。
sql - 如何优化 TiDB 上的 count(*) 查询
我有一个大约 3000000 行的表,如下所述。
它的索引为
带计划的 178 毫秒内选择计数(*)返回的说明
实际查询大约需要2.6 sec
.
trace format = 'row' select count(*) from keyvalue;
我的 TiDB 设置如下
TIDB 版本
如何加快查询速度?我也很好奇为什么查询选择了它选择的索引。
tikv - 2 个不同的 TiKv 集群之间如何复制数据?
假设我在 A 市部署了一个 TiKV 集群,在 B 市部署了另一个 TiKV 集群。我想在集群 A 中写入数据并在集群 B 中读取数据。
我知道在集群 A 内部,数据安全是由多组 raft 执行的。但是如何将集群 A 中的数据复制到集群 B 并始终保持更新呢?如何执行集群间复制?
java - 使用 TiKV 数据库进行范围查询
如何使用 TiKV 和 java-client 进行范围查询?
假设我有这个模型:
和
我怎样才能做一个满足这一点的查询:
- 如何将
Hub
模型存储到 TiKV 中 schedules
而且,在这个例子中,你如何对 进行范围查询?
database - 用于可搜索性的键值数据库建模
假设我正在建立一个像 eBay(或其他东西)这样的市场,例如,
使用如下所示的数据(伪代码):
假设我想构建一个“查询”来过滤项目,给出以下内容:
项目与字段数据(标题、价格、时间戳范围)以及一些文本(描述)一起存储。然后我需要根据以下内容进行过滤:
- 价格范围(如100-200)
- 位置(例如以 GeoHash 前缀开头)
- 在给定的毫秒时间戳之间(例如,每条记录都有一个开始和结束日期)——例如项目的有效期
- 有一个给定的关键字(每条记录在存储之前都有一个关键字数组)
- 有一个给定的类别
- 有创建日期和更新日期(这很常见)
- 有一个给定的关键字文本(我认为这是不可能的,因为这是一个全文搜索)
我想根据以下内容订购结果:
- 点赞数优先(每条记录存储点赞数)
- 最新或最近创建的第一个
- 仍然处于活动状态(每条记录是否处于活动状态都有一个布尔值)
这应该如何建模/存储在键值数据库中,以便可以使用上面给定的查询来检索它?那就是不使用任何模式(无模式)
go - tikv api 中的锁键有什么用途?
最近在看tikv的api文档。交易中有一个 LockKey api。当我调用它进行操作时,我直接恐慌。我有薮问题?
- 我想知道它为什么会恐慌
- lockKeys api 的用途是什么?有什么可以帮助我的
恐慌堆栈是:
它发生在疼痛发生的地方,m为nil
go mod 在下面