首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云扳手常见问题解答

云扳手常见问题解答
EN

Stack Overflow用户
提问于 2022-07-25 14:56:06
回答 1查看 87关注 0票数 0

为云扳手提供的简单常见问题的小列表

  1. 1万亿行+(超大表大小)是很好的实践,还是有必要再做一个表?

  1. A万亿行表可以有更多的万亿行交错表,这也行吗?

  1. JSON与交错表,使用什么时候?

  1. 对1万亿行表

上索引读取的平均查询速度

significantly?的

  1. 电子邮件ID、反向位或散列与UID作为密钥,会不会扼杀性能
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-26 01:05:23

  1. 1万亿行+(超大表大小)是很好的实践,还是有必要再做一个表?

云扳手是设计用来自动处理大规模的。云扳手动态地将数据的关键范围分割成块,这些块在不同的服务节点/处理单元之间进行负载平衡。分割是由云扳手根据数据大小和负载自动完成的。更多信息可以在这里找到:https://cloud.google.com/spanner/docs/schema-and-data-model#database-splits

  1. A万亿行表可以有更多的万亿行交错表,这也行吗?

是的,没问题。

云扳手因大小或负载而认为必要时自动分割。为了保持数据的局部性,Cloud更倾向于添加与根表一样接近的拆分边界,这样任何给定的行树都可以保存在一个单独的拆分中。这意味着行树中的操作往往更高效,因为它们不太可能要求与其他拆分进行通信。但是,云扳手将尝试在交错表中添加拆分边界,以隔离热点,或者如果拆分变得太大。

https://cloud.google.com/spanner/docs/whitepapers/optimizing-schema-design#table_layout

  1. JSON与交错表,使用什么时候?

对于使用JSON列,列的最大大小限制为10 max (https://cloud.google.com/spanner/quotas#tables),并且必须完整地读取和写入JSON列。与交错表相比,JSON列的规模和性能有限。

表交织是一种可以提高某些连接查询模式性能的机制(例如,将父行与子行连接起来的查询)。当父行和子行都写在同一个事务中时,它还可以改善写入延迟。不建议将交错表用作一般的数据建模概念。

https://medium.com/google-cloud/cloud-spanners-table-interleaving-a-query-optimization-feature-b8a87059da16

  1. 对1万亿行表

上索引读取的平均查询速度

查询速度取决于查询谓词的选择性。例如,如果谓词通过指定索引列的值来标识索引中的行,那么无论表中的行数如何,查询都是快速的。有关更多信息,请参见https://cloud.google.com/spanner/docs/sql-best-practices#secondary-indexes

significantly?的

  1. 电子邮件ID、反向位或散列与UID作为密钥,会不会扼杀性能

散列、位反转顺序值或UUID都可以用于主键设计,以避免热点。UUID作为主键的第一部分,其中UUID在键空间中分布均匀,允许插入水平缩放,而不会导致移动热点受限于有限数量的服务资源/处理单元。请参阅这里的文档以获得更多详细信息https://cloud.google.com/spanner/docs/schema-design#uuid_primary_key

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73111305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档