问题标签 [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.
sql - 可扩展的 RDBMS 替代方案、NoSQL、NewSQL
我正在寻找 PostgreSQL 或 MySQL 等传统 DBMS 的可扩展替代方案。在传统数据库中,我没有以下功能:
- 自动分片以确保线性可扩展性。
具有自动故障转移和恢复功能的复制可确保高可用性。
没有单点故障。
如果我可以牺牲事务,MongoDB 看起来是个不错的选择。
我还查看了几个 newSQL 数据库。NewSQL 似乎适合我的目的:VoltDB、TiDB、cockroachDB。但我担心他们是否准备好生产。
可能有扩展允许以集群模式运行 postgreSQL 或 MySQL。
sql - 联接如何在 Cloud Spanner 数据库中工作?
联接如何在 Google 的 Cloud Spanner 数据库中工作?
连接查询执行得快吗?SQL(MySql、Oracle、MSSQL)与 NewSQL(Cloud Spanner/TiDB/CockroachDB)之间有什么比较吗?
mysql - java.sql.BatchUpdateException:事务太大,len:300200
在 spark2.2 中使用 jdbc 驱动写入 tidb 时出现此错误:
在条件下得到错误:
select whole table
在条件下没有出错:
select with limit 10000000;
没有任何线索
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 节点(使用现有数据)?
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 个字段都可以:
database - 为什么我在 TiDB 中提交事务时会出现“事务太大”的错误消息?
当我在 TiDB 中提交一个包含 100,000 行的事务时,会出现“事务太大”的错误消息。TiDB 中事务大小的限制是多少?我可以使用某个参数修改限制吗?
database - 关于 TiDB 滚动更新的机器数
我有一个 4 台机器的 TiDB 集群,我想添加一个 PD 服务器。但似乎机器数量不符合滚动更新的要求。在 TiDB 文档中,滚动更新至少需要 2 个 TiDB 服务器、3 个 PD 服务器和 3 个 TiKV 服务器。所以我现在不能执行滚动更新?
distributed-database - TiDB 中如何配置慢查询日志?
我已经设置slow_query_log
为OFF
,但是为什么tidb_slow_query.log
仍然记录执行时间为几百毫秒的查询?
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
consistency - 在设计商业模式时我应该考虑短期的不一致吗?
当一个模式元素被删除时,模式变化的过程是:公共->只写->只删除->重组->不存在。
如果要删除的元素是表,这个过程只对表的schema信息进行操作,不影响数据。因此,数据是一致的。
然而,从“公开”到“只写”的过程似乎不是原子的。在这个过程中,不能先在部分节点上查询到这张表,再在所有节点上查询到这张表。同样,在从“只写”切换到“只删除”的过程中,不能向部分节点插入数据,逐渐不能向所有节点插入数据。两种情况下都存在短暂的不一致。
如果是这样,我在设计基于 TiDB 的业务模型时是否应该考虑短暂的不一致?