问题标签 [google-cloud-spanner]

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 回答
681 浏览

google-cloud-platform - 防止事务超时的方法?

我正在运行耗时超过 10 秒的读写事务,并且它们正在超时(因ABORTED错误而失败)。有没有办法指定更长的超时时间?

0 投票
1 回答
1879 浏览

google-cloud-platform - 重命名列和表

扳手是否支持重命名列和表?在管理模式更改以及在单个语句中从现有表创建新表时,这将很有帮助。

0 投票
1 回答
186 浏览

google-cloud-platform - Google Cloud Spanner 单区域可用性分析

Single-Region Spanner 以 99.99% 的可用性 SLA 进行宣传。在基于美国的配置中,每个节点将恰好有三个副本,全部位于爱荷华州康瑟尔布拉夫斯。您能否分享一些信息来解释为什么 99.99%(每年约一小时的停机时间)是可信的,尤其是在发生地理局部灾难的情况下?我假设谷歌已经做了彻底的分析,否则它不会宣传 SLA,但我找不到详细的论文。

如果发生区域故障,Google 将执行哪些恢复程序以及恢复时间/预期数据丢失时间?

(我知道多区域可能是可用的,并且已经看到了一些定价数据,但这里不会讨论这个)。

0 投票
3 回答
1006 浏览

php - 使用 PHP 的错误 GRPC Spanner Google Cloud

我正在使用 PHP 来尝试使用Google Cloud Spanner。我已经完成了gCloud设置和所有操作,这是正确的。现在我需要通过PHP建立连接以对 Spanner 中的数据库进行 CRUD,但下面的代码总是返回错误:

PHP 致命错误:第 129 行 /xxx/xxxx/www/vendor/google/cloud-spanner/Connection/Grpc.php 中未定义的常量 'Grpc\STATUS_UNKNOWN'

我的代码是:

我在作曲家中使用的要求是:

我注意到,如果我通过浏览器输入,上面出现的错误会继续出现。如果我在终端上运行命令php teste.php,它会正确运行脚本,即终端工作而浏览器不工作。

0 投票
1 回答
298 浏览

google-cloud-platform - 谷歌扳手结构作为参数

当使用 spanner python 客户端(但问题可能更普遍)时,似乎不可能将结构作为参数传递给查询。

考虑以下设置:

如果我想将以下查询转换为使用参数

通过做

会给我

有什么方法可以传递结构吗?

0 投票
1 回答
1184 浏览

sql - 在 Spanner 中避免使用 IN 子句和子查询进行哈希连接

我在 Spanner 中有以下查询优化问题,希望我缺少一个技巧,可以帮助我根据自己的意愿调整查询计划器。

这是简化的架构:

以及在子句中带有子查询的查询IN

它通过对子查询输出的 T0 哈希连接产生一个 10 元素集:

请注意,虽然子查询很复杂,但它实际上会产生一个非常小的集合。不幸的是,它还会扫描整个T1 以提供给散列连接,这非常慢。

但是,如果我在 T1 上获取子查询的输出并将其手动推入IN子句:

它的速度要快得多,大概是因为它每个条目只命中 T0 的索引一次,而不是对完整内容使用散列连接:

我可以简单地运行两个查询,这是我迄今为止最好的计划。但我希望我能找到一些方法来哄骗 Spanner 决定这是它应该对第一个示例中的子查询的输出执行的操作。我已经尝试了我能想到的一切,但这可能根本无法在 SQL 中表达。

另外:我还没有完全证明这一点,但在某些情况下,我担心 10 个元素的子查询输出可能会爆炸到几千个元素(T1 或多或少会无限制地增长,很容易达到数百万)。我已经在 splatted-out 子句中手动测试了几百个元素,IN它的性能似乎可以接受,但我有点担心它可能会失控。

请注意,我还尝试了子查询的连接,如下所示:

但它在查询规划器中做了一些真正可怕的事情,我什至不会在这里解释。

0 投票
1 回答
140 浏览

google-cloud-platform - 如何理解 Google Spanner Monitor 的错误(组合)?

Google Spanner 监视器提供有关数据库和实例的有用信息。每秒操作视图包含我不清楚的错误(组合)度量。

扳手监视器

如何理解错误(组合)

0 投票
2 回答
600 浏览

rest - Google Cloud Spanner - 无法使用 REST API 创建表

我正在尝试使用 REST API 在 Cloud Spanner 数据库中远程创建一个表。我试图运行的 SQL 是:

我最初的尝试使用了 executeSql 端点,这导致了一条不太有用的错误消息:

过了一会儿,我发现了 updateDdl 端点,但是当我通过在语句列表中提供上述查询来尝试这个时,我只得到一个空的 200 响应,并且没有创建表。

如何使用 SQL 在 Cloud Spanner 上创建表?

更新

事实证明我做的一切都是正确的,除了我的代码中的一个错误意味着我没有发送 PATCH 请求,我发送的是 GET 请求!在这种情况下,Spanner 没有返回 405,而是愉快地返回 200,但什么也不做:(

0 投票
1 回答
481 浏览

hadoop - google Cloud spanner java.lang.IllegalArgumentException:Jetty ALPN/NPN 未正确配置

我是 Google Cloud Spanner 的新手,为了探索它,我从 google Here提供的文档开始。为了探索我们从数据操作开始的任何数据库,和我一样,我开始使用这里给出的简单 Java 应用程序将数据写入扳手https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/spanner /cloud-client/src/main/java/com/example/spanner/SpannerSample.java
我在以下代码片段中显示的各个位置对驱动程序类进行了更改:

现在,当我尝试执行代码时,出现以下错误:

在搜索此问题时,我被建议添加一些依赖项,例如:

但面临同样的问题,我也在使用 Bigquery 和其他 GCP 的功能相同的工作环境,除了google-Spanner之外它们都工作正常,对此的任何建议表示赞赏。
谢谢。

0 投票
1 回答
289 浏览

google-cloud-platform - Google Spanner 中的递归查询?

我尝试使用CTECONNECT BY语句实现递归查询,但没有成功。是否可以在 Google Spanner 中实现递归查询?