16、BigQuery查询执行与架构详解

BigQuery查询执行与架构详解

1. 查询结果返回

当查询工作分片完成查询执行后,结果会被分为两部分。结果的第一页左右会与查询元数据一起存储在分布式关系数据库Spanner中,Spanner数据位于查询运行的同一区域。其余数据则会写入Google的分布式文件系统Colossus。对于结果较小的查询,无需访问磁盘,因此可以非常快速地返回结果。

BigQuery API设计为可重连的。在最佳情况下,它可以同步运行,但如果超时,调用客户端应该能够重新连接。为实现这一点,在超时之前,作业服务器会向客户端返回一个作业ID,客户端可以通过该作业ID查找以获取结果。BigQuery客户端 bq.py (云客户端库)和开放数据库连接(ODBC)/JDBC驱动程序封装了此协议,因此最终用户可以可靠地获取查询结果。

BigQuery结果会存储24小时,它们在功能上等同于一个表,可以像查询表一样进行查询。普通SELECT查询的结果限制为10GB。如果要写入更多数据,可以使用 CREATE TABLE AS SELECT INSERT 语句,这些语句没有大小限制。

2. BigQuery升级

BigQuery可以进行原地升级,无需停机。实际上,升级经常进行,通常每周至少一次。升级通常会在几天内逐步推出,第一天从单个区域的单个区域开始,随后每天扩大范围。这样做的目标是尽可能以最小的“影响范围”捕获任何问题。

BigQuery甚至可以在不中断查询的情况下进行更新。要开始升级,会先将一部分分片的工作清空(即它们停止接受新工作),然后对这些分片进行原地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值