问题标签 [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.
google-cloud-platform - 防止事务超时的方法?
我正在运行耗时超过 10 秒的读写事务,并且它们正在超时(因ABORTED
错误而失败)。有没有办法指定更长的超时时间?
google-cloud-platform - 重命名列和表
扳手是否支持重命名列和表?在管理模式更改以及在单个语句中从现有表创建新表时,这将很有帮助。
google-cloud-platform - Google Cloud Spanner 单区域可用性分析
Single-Region Spanner 以 99.99% 的可用性 SLA 进行宣传。在基于美国的配置中,每个节点将恰好有三个副本,全部位于爱荷华州康瑟尔布拉夫斯。您能否分享一些信息来解释为什么 99.99%(每年约一小时的停机时间)是可信的,尤其是在发生地理局部灾难的情况下?我假设谷歌已经做了彻底的分析,否则它不会宣传 SLA,但我找不到详细的论文。
如果发生区域故障,Google 将执行哪些恢复程序以及恢复时间/预期数据丢失时间?
(我知道多区域可能是可用的,并且已经看到了一些定价数据,但这里不会讨论这个)。
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,它会正确运行脚本,即终端工作而浏览器不工作。
google-cloud-platform - 谷歌扳手结构作为参数
当使用 spanner python 客户端(但问题可能更普遍)时,似乎不可能将结构作为参数传递给查询。
考虑以下设置:
如果我想将以下查询转换为使用参数
通过做
会给我
有什么方法可以传递结构吗?
sql - 在 Spanner 中避免使用 IN 子句和子查询进行哈希连接
我在 Spanner 中有以下查询优化问题,希望我缺少一个技巧,可以帮助我根据自己的意愿调整查询计划器。
这是简化的架构:
以及在子句中带有子查询的查询IN
:
它通过对子查询输出的 T0 哈希连接产生一个 10 元素集:
请注意,虽然子查询很复杂,但它实际上会产生一个非常小的集合。不幸的是,它还会扫描整个T1 以提供给散列连接,这非常慢。
但是,如果我在 T1 上获取子查询的输出并将其手动推入IN
子句:
它的速度要快得多,大概是因为它每个条目只命中 T0 的索引一次,而不是对完整内容使用散列连接:
我可以简单地运行两个查询,这是我迄今为止最好的计划。但我希望我能找到一些方法来哄骗 Spanner 决定这是它应该对第一个示例中的子查询的输出执行的操作。我已经尝试了我能想到的一切,但这可能根本无法在 SQL 中表达。
另外:我还没有完全证明这一点,但在某些情况下,我担心 10 个元素的子查询输出可能会爆炸到几千个元素(T1 或多或少会无限制地增长,很容易达到数百万)。我已经在 splatted-out 子句中手动测试了几百个元素,IN
它的性能似乎可以接受,但我有点担心它可能会失控。
请注意,我还尝试了子查询的连接,如下所示:
但它在查询规划器中做了一些真正可怕的事情,我什至不会在这里解释。
rest - Google Cloud Spanner - 无法使用 REST API 创建表
我正在尝试使用 REST API 在 Cloud Spanner 数据库中远程创建一个表。我试图运行的 SQL 是:
我最初的尝试使用了 executeSql 端点,这导致了一条不太有用的错误消息:
过了一会儿,我发现了 updateDdl 端点,但是当我通过在语句列表中提供上述查询来尝试这个时,我只得到一个空的 200 响应,并且没有创建表。
如何使用 SQL 在 Cloud Spanner 上创建表?
更新
事实证明我做的一切都是正确的,除了我的代码中的一个错误意味着我没有发送 PATCH 请求,我发送的是 GET 请求!在这种情况下,Spanner 没有返回 405,而是愉快地返回 200,但什么也不做:(
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之外它们都工作正常,对此的任何建议表示赞赏。
谢谢。
google-cloud-platform - Google Spanner 中的递归查询?
我尝试使用CTE和CONNECT BY语句实现递归查询,但没有成功。是否可以在 Google Spanner 中实现递归查询?