问题标签 [cockroachdb]

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 投票
1 回答
316 浏览

constraints - 在 CockroaachDB 中应用 PRIMARY KEY 约束 - 多个主键错误

我在没有任何 PRIMARY KEY 的情况下在 CRDB 中创建了一个表,并将我的数据填充到表中。

现在表已创建并填充了数据,我想应用约束以使第一列成为 PRIMARY KEY。但我收到一个错误:

约束是:

错误是:

我认为如果没有提到 PRIMARY KEY,CRDB 中有原因,CRDB 会自动将 PRIMARY KEY 分配给名为: 的表rowid

如何在 CRDB 的表中查看 PRIMARY KEY?以及如何将我想要的列设为 PRIMARY KEY?

0 投票
1 回答
61 浏览

query-performance - 相当于性能诊断工具;SQL 跟踪和 TKPROF - CockroachDB

CockroachDB 中有哪些性能诊断工具?

任何相当于TKPROF?

0 投票
1 回答
3607 浏览

bash - CockroachDB Docker 编写带有 SQL 命令的脚本

我想完成两件事:

1)使用 docker compose 启动 CockroachDB 集群(工作)

2)在集群上执行SQL命令(我要创建数据库)

我的 Docker 文件如下所示:

当我运行 docker-compose up 时,一切都按预期工作。在使用google时,我发现解决方案是运行一个bash脚本,我创建了以下setup.sh:

我试图通过命令运行脚本:bash -c "setup.sh",但 Docker 说它不能运行命令 "bash"。有什么建议么 ?谢谢 :)

编辑:

我正在运行 docker-compose up,我得到的错误是:

0 投票
1 回答
399 浏览

cqrs - 多语言设置中带有 cockroachdb 的 CQRS

我正在考虑使用 cockroachdb 以具有 ACID 保证的第三范式写入数据。所以所有的写入都会被转移到 cockroachdb。

读取都可以是基于对 Cassandra 的行键的点查找。我相信这样的读取设置将消除对 redis 缓存的需要,因为 Cassandra 本身会提供快速读取。因此 Cassandra 表将根据访问路径进行非规范化。

可能存在从 cockroachdb 规范化模式中的插入/更新/删除到插入/更新/删除到 cassandra 非规范化模式的基于事件的同步。

问题一:

这种读/写分离是否适合使用 cockroachdb 的有效用例?目的是减少连接并实现快速读取和写入。Cockroachdb 成为获取事件源类数据的单一事实来源。而 cassandra 和 elasticsearch 等其他数据库最终成为保持同步的查询投影。

问题2 :

这种设置是否适合需要以原子方式完成 N 语句的金融交易?根据我的理解,假设有 N 个 SQL 语句在 cockroachdb 3NF 模式中以事务方式完成。在此之后,读取发生在 Cassandra/ElasticSearch 中,由于同步延迟,它们尚未同步。在这种最终一致性场景中,如果用户发送另一个命令以从其他机器并行获得相同的结果,这将转到命令处理程序,该处理程序将在 cockroachdb 中查找。我认为由于 CockroachDb 符合 ACID,我们将确保在查找 cockroachdb 后的命令验证步骤中使命令无效。我相信这个 cockroachdb 会抛出乐观锁异常,因为写入同一张表的事务已经在进行中。所以问题是 - 在这种情况下,

问题 3

我想到的最后一个用例是让 cockroachdb 扮演火花集群对 cassandra 的聚合作用。我们可以在 cockroachdb 中进行聚合,其中包含所有数据并存储在 cassandra 的预聚合表中。虽然 ElasticSearch 也能够进行聚合,但这里有一个问题 - 这个用例是否也听起来正确 wrt 使用 cockroachdb 而不是 elasticsearch 进行聚合?

0 投票
1 回答
153 浏览

sql - CockroachDB + Ubuntu - 集群停止且没有错误消息

我刚刚在 Ubuntu 上安装了 CockroachDB,并在最奇怪的事情发生时尝试启动它。该过程几乎立即开始然后停止,没有显示任何错误。

我正在运行的命令是:

我得到的回应是:

在此之后,我可以再次在终端中写入,而无需手动终止它。稍后尝试使用内置 SQL 客户端连接到数据库时,它不会允许我。另外,当我运行“top”命令时,蟑螂进程不会出现

0 投票
1 回答
137 浏览

cockroachdb - 在 CockroachDB 中没有锁的情况下提交

从应用程序程序员的角度来看,我试图了解CockroachDB中的 ACID 如何在没有锁的情况下工作。想将其用于会计/ ERP 应用程序。

当两个用户同时更新同一个数据库字段(例如总帐科目总计字段)时,CockroachDB会做什么?假设每个都作为各自事务的一部分同时更新许多其他非重叠字段。

中止的应用程序的提交过程是否会在提交时立即得到通知?

当我们在应用程序中编写数据库访问代码时,我们是否需要考虑额外的可能性,例如,在 ACID/锁定PostgreSQL中?

或者正在为所有实际目的编写代码来访问CockroachDB ,就像在提交和一般情况 下访问标准RDBMS一样。

当然,忽略性能问题/连接等。

0 投票
1 回答
1380 浏览

cockroachdb - Unable to connect a node to cluster

I have three cockroachdb nodes, two of which are with DigitalOcean (one in SF and NY) and the third TX server. I followed the Manual Deployment documentation and our local node initated and then our remote nodes came back with:

I nmaped from our NY server to our TX node and the port was open. I then ran the cockroach start with --logtostderr and noticed it's trying to resolve to the local IP, even when I tell it to --join REMOTEIP:PORT.

Did I setup the local node hostname incorrectly? The troubleshooting documentation is not super helpful. I even tried changing the TX host to the local IP and that did not resolve the issue.


EDIT:

Our firewall was causing communication issues. Once resolved, our TX node required the --advertise-host parameter.

0 投票
1 回答
101 浏览

cockroachdb - 如何从 S3 eu-west-1 区域中的存储桶导入?

我尝试从 eu-west-1 区域的 S3 存储桶批量导入 cockroach db

我收到错误消息:

如何在导入语句中指定 S3 区域?

0 投票
1 回答
215 浏览

csv - 如何将 csv 文件导入到带有 SERIAL 类型列的 crdb 表中?

我有一个类型为列的表SERIAL

用于导入 3 列的 csv 文件:node_idkeyvalue. 我希望id在导入数据时由 crdb 分配第一个 , 。

导入失败并出现以下错误:

有什么解决方法吗?

0 投票
2 回答
538 浏览

digital-ocean - Cockroachdb 管理 UI 无法访问

我正在尝试在 Digital Ocean 上部署 CockroachDB 集群。我按照教程中列出的步骤https://www.digitalocean.com/community/tutorials/how-to-deploy-cockroachdb-on-a-three-node-cluster-on-ubuntu-16-04

我可以看到 cockroachdb 在主机上运行,​​但无法访问 Web Admin UI。

通过应用程序访问它时,我遇到了同样的问题。

这是启动命令和响应。注意:我在创建 Droplet 时启用了专用网络,可能是因为这个原因吗?

roach@cockroach-01:~$ cockroach start --insecure --background --advertise-host=10.132.10.114 * * WARNING: RUNNING IN INSECURE MODE! * * - Your cluster is open for any client that can access <all your IP addresses>. * - Any user, even root, can log in without providing a password. * - Any user, connecting as root, can read or write any data in your cluster. * - There is no network encryption nor authentication, and thus no confidentiality. * * Check out how to secure your cluster: https://www.cockroachlabs.com/docs/stable/secure-a-cluster.html * CockroachDB node starting at 2017-11-10 22:59:07.153981296 +0000 UTC (took 0.4s) build: CCL v1.1.2 @ 2017/11/02 19:32:03 (go1.8.3) admin: http://cockroach-01:8080 sql: postgresql://root@10.132.10.114:26257?application_name=cockroach&sslmode=disable logs: /home/roach/cockroach-data/logs store[0]: path=/home/roach/cockroach-data status: initialized new cluster clusterID: 77dea0f4-d2c1-49c3-bfe9-8686a6084603 nodeID: 1