问题标签 [tidb]
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.
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”?
请帮忙解释一下,谢谢!
mysql - tidb 的 set[sync-log=false] 有什么区别和影响
在 tidb 中,打开时sync-log
,disk io util 可以结束90%
,之后set sync-log=false
,它归结为1%
,这个配置有什么不好的影响?
mysql - 在 MySQL 中修改数据库时在 Spark 中删除的行
我一直在关注 5 分钟如何使用 tidb_tispark 设置 htap 数据库,一切正常,直到我到达Launch TiSpark部分。执行该行时出现我的第一个问题:
但是我通过将 spark 版本修改为我在容器中找到的版本来解决这个问题:
执行三行块时出现我的第二个问题:
当我运行最后一条语句时,我得到以下输出
这并不妨碍我运行查询:
但是当我按照教程的进一步步骤从 MySQL 修改数据库时,这些更改不会立即反映在 Spark 中。此外,在未来的某个时间点(我相信 > 5 分钟后),被修改的行不再出现在 Spark SQL 查询中。
我对这种设置比较陌生,并不知道如何调试这个问题。搜索我收到的警告并没有启发。
我不知道它是否有帮助,但是当我连接 MySQL 时,这是我得到的服务器版本:
go - 为什么要在 Golang 中声明相同的变量?
我在pingcap/parser中找到了这段代码:
我可以看到有许多具有相同名称的变量DDLNode
和Node
. 我知道下划线_
是 Golang 中的空白标识符,但为什么要在那里使用它们。
知道这项工作的目的是什么吗?
谢谢你的帮助。
tidb - java.io.InvalidClassException: com.pingcap.tikv.region.TiRegion - 本地类不兼容
我想通过 TiSpark 将我的 Spark 集群连接到 TIDB,但是当我运行我的 Spark 应用程序时遇到问题,出现错误:
java.io.InvalidClassException: com.pingcap.tikv.region.TiRegion; 本地类不兼容:流 classdesc serialVersionUID = -3091715739322916126,本地类 serialVersionUID = -3556238418089320368
我正在按照https://pingcap.com/docs/v3.0/how-to/get-started/deploy-tidb-from-binary/上的指南设置 TIDB 集群
之后,我按照https://pingcap.com/docs/v3.0/reference/tispark/上的指南下载 tispark-core-2.2.0-SNAPSHOT-jar-with-dependencies.jar 并将其复制到我的 jar Spark 中的文件夹。
我还配置: spark.tispark.pd.addresses 127.0.0.1:2379 spark.sql.extensions org.apache.spark.sql.TiExtensions
这是我的pom文件:
我的 Spark 会话是:
当我对数据库调用一个简单的查询时:
我收到一个错误:java.io.InvalidClassException: com.pingcap.tikv.region.TiRegion; 本地类不兼容:流 classdesc serialVersionUID = -3091715739322916126,本地类 serialVersionUID = -3556238418089320368
我的完整日志在这里: https ://gist.github.com/lploc94/bb6bf9db14c030ee123630f6362f6160
我认为原因是我在 maven pom 文件中使用了 TiSpark 2.1.1-2.4,但我下载并复制到 jars 文件夹的 Tispark jar 文件是 2.2.0。但我看不到任何其他版本的 TiSpark,例如 tispark-core-2.1.1-SNAPSHOT-jar-with-dependencies.jar
tidb - PD 组件是否有任何身份验证方法来限制 Spark 可以访问的数据库?
PD 是否有任何身份验证方法来限制 Spark 可以访问的数据库?因为如果有人知道我的 PD 地址,他们可以使用 TiSark 连接到 TiDB 并查询我的数据库。
我已经建立了一个 TiDB 集群,然后我添加了一个新用户,我通过新用户连接到 TiDB 并创建了一个新数据库。当我使用 Spark 通过 PD 连接到 TiDB 时,我调用“显示数据库”,它返回我所有的数据库,包括我由新用户创建的新数据库。
我的火花会议是:
我想知道是否有人知道我的 PD 在哪里,他们可以入侵我的数据库。我已经仔细阅读了 TiDB 文档,但没有提到它。
installation - TiDB-ansible 安装 - ansible-playbook local_prepare.yml 命令失败
我正在尝试使用 tidb ansible 在单个节点上安装 tidb。我在 inventory.ini 文件中为 PD、TiDB 和 TiKV 服务器设置了正确的 IP 地址。我正在按照https://pingcap.com/docs/v1.0/op-guide/ansible-deployment/中的说明进行操作。但是,我在使用命令时遇到以下错误:ansible-playbook local_prepare.yml。尽管使用了最新的 ansible 版本,但 ansible 抱怨旧版本。如果有人能帮我安装 TiDB 那就太好了
error-handling - ansible-playbook bootstrap.yml 命令中的 tidb-ansible 错误
我正在尝试通过 TiDB ansible 安装 TiDB。我指的是https://pingcap.com/docs/v1.0/op-guide/ansible-deployment/中的文档,在此过程中我面临命令 ansible-playbook bootstrap.yml 的以下错误。虽然磁盘未满,但我收到磁盘已满错误。请让我知道修复错误的步骤。谢谢!
pyspark - PySpark JDBC 写入 MySQL (TiDB)
我正在尝试将 pyspark 数据帧(百万行)写入 TIDB,(Spark 2.3)
但是,我一直得到的只是这个错误
知道如何解决这个问题吗?