问题标签 [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.

0 投票
2 回答
611 浏览

sql - 可扩展的 RDBMS 替代方案、NoSQL、NewSQL

我正在寻找 PostgreSQL 或 MySQL 等传统 DBMS 的可扩展替代方案。在传统数据库中,我没有以下功能:

  • 自动分片以确保线性可扩展性。
  • 具有自动故障转移和恢复功能的复制可确保高可用性。

  • 没有单点故障。

如果我可以牺牲事务,MongoDB 看起来是个不错的选择。

我还查看了几个 newSQL 数据库。NewSQL 似乎适合我的目的:VoltDB、TiDB、cockroachDB。但我担心他们是否准备好生产。

可能有扩展允许以集群模式运行 postgreSQL 或 MySQL。

0 投票
3 回答
2623 浏览

sql - 联接如何在 Cloud Spanner 数据库中工作?

联接如何在 Google 的 Cloud Spanner 数据库中工作?

连接查询执行得快吗?SQL(MySql、Oracle、MSSQL)与 NewSQL(Cloud Spanner/TiDB/CockroachDB)之间有什么比较吗?

0 投票
1 回答
520 浏览

mysql - java.sql.BatchUpdateException:事务太大,len:300200

在 spark2.2 中使用 jdbc 驱动写入 tidb 时出现此错误:

在条件下得到错误:
select whole table

在条件下没有出错:
select with limit 10000000;

没有任何线索

0 投票
1 回答
720 浏览

database - 如何将现有的 TiKV 节点连接到 TiDB 中的新 PD 集群?

我有一个运行在 gcloud 中的 TiDB 实例,使用 tidb-ansible 脚本进行部署。我想用新的 PD 节点替换,所以我销毁并替换了那些。PD 集群现在可以正常启动了,但是当我尝试启动 TiKV 节点时,我得到了这个错误:

TiDB 常见问题解答(https://pingcap.com/docs/FAQ/)中有一个很好的错误解释:

-- 启动 TiKV 时出现集群 ID 不匹配的信息。--

这是因为本地 TiKV 中存储的集群 ID 与 PD 指定的集群 ID 不同。部署新的 PD 集群时,PD 会生成随机的集群 ID。TiKV 从 PD 获取集群 ID,并在初始化时将集群 ID 存储在本地。下次启动 TiKV 时,它会检查本地集群 ID 和 PD 中的集群 ID。如果集群 ID 不匹配,则会显示集群 ID 不匹配消息并退出 TiKV。

如果你之前部署了一个 PD 集群,然后你删除了 PD 数据并部署了一个新的 PD 集群,就会出现这个错误,因为 TiKV 使用旧数据连接到新的 PD 集群。

但是没有解释如何解决这个问题。有没有办法销毁 TiKV 实例上的本地集群 ID,以便它可以正确挂接 PD?

如果我能让他们再次交谈,PD 是否能够协调我现有的 TiKV 节点(使用现有数据)?

0 投票
2 回答
88 浏览

php - 在 TiDB 中求和一个 2 位数的浮点字段,得到 8 位数的浮点数

我将一些数据从 infobright 传输到 TiDB。我的php代码如下:

我插入了 48595 条记录,但它们的总和是 8 位浮点数。同时,该字段定义为 float(10,2):

那么,TiDB 是否存在错误,或者我做错了什么?任何建议表示赞赏。


更新:

更新2:

我只使用 float ,没有指定数字。

更新3:

该表有不同类型的字段,它们都有 2 位数字。

然后我为每个字段插入 1.11 和 1.111。

TiDB 中只有 float 字段将数据作为 8 位数据:

本地 mysql 5.6 中的所有 3 个字段都可以:

0 投票
1 回答
309 浏览

database - 为什么我在 TiDB 中提交事务时会出现“事务太大”的错误消息?

当我在 TiDB 中提交一个包含 100,000 行的事务时,会出现“事务太大”的错误消息。TiDB 中事务大小的限制是多少?我可以使用某个参数修改限制吗?

0 投票
1 回答
116 浏览

database - 关于 TiDB 滚动更新的机器数

我有一个 4 台机器的 TiDB 集群,我想添加一个 PD 服务器。但似乎机器数量不符合滚动更新的要求。在 TiDB 文档中,滚动更新至少需要 2 个 TiDB 服务器、3 个 PD 服务器和 3 个 TiKV 服务器。所以我现在不能执行滚动更新?

0 投票
1 回答
53 浏览

distributed-database - TiDB 中如何配置慢查询日志?

我已经设置slow_query_logOFF,但是为什么tidb_slow_query.log仍然记录执行时间为几百毫秒的查询?

慢查询日志

0 投票
1 回答
116 浏览

tidb - Sql 插入到 Tidb int 字段中,'' Got Error Data Truncated

我在 TiDB 中创建了一个带有 int 字段的表,在向该字段插入使用值 '' 时,出现错误“数据被截断”。

我的代码是这样的:

而在 mysql 5.7 中,以下 sql 返回 ok

INSERT INTO test(i1,s1) VALUES ('','aa');

我的 TiDB 版本是:

发布版本:v1.0.6-1-g17c1319

Git 提交哈希:17c13192136c1f0bf26db6dec994b9f1b43c90f0

Git 分支:release-1.0

UTC 构建时间:2018-01-09 09:07:08

https://github.com/pingcap/tidb/issues/6317

0 投票
1 回答
28 浏览

consistency - 在设计商业模式时我应该考虑短期的不一致吗?

当一个模式元素被删除时,模式变化的过程是:公共->只写->只删除->重组->不存在。

如果要删除的元素是表,这个过程只对表的schema信息进行操作,不影响数据。因此,数据是一致的。

然而,从“公开”到“只写”的过程似乎不是原子的。在这个过程中,不能先在部分节点上查询到这张表,再在所有节点上查询到这张表。同样,在从“只写”切换到“只删除”的过程中,不能向部分节点插入数据,逐渐不能向所有节点插入数据。两种情况下都存在短暂的不一致。

如果是这样,我在设计基于 TiDB 的业务模型时是否应该考虑短暂的不一致?