Google在其云计算数据仓库BigQuery加入搜索索引以及相关的SQL搜索函数,让用户可以使用标准的BigQuery SQL,高速搜索非结构化文本和半结构JSON文件中,所存在的唯一资料元素。搜索索引为无服务器服务,并且完全由BigQuery管理,只要资料在BigQuery中可以使用,用户就能利用新的搜索功能进行资料检索。
Google表示,这项BigQuery新功能让用户可以在单一资料平台中,对栏式存储和文本进行搜索,可在用户查询资料列,而非聚合资料时,发挥极大的性能和成本效益。像是识别特定用户相关联的资料列,以用于GDPR报告,或是从文本中寻找特定错误码,都可以利用该功能快速完成搜索工作。
BigQuery搜索索引功能,能够避免触发繁重的表格扫描工作,官方解释,搜索索引主要采用反向索引(Reverse Index)技术来加速资料点的查询。BigQuery通过反向索引,能够深入了解特定资料元素在表格底层存储的位置,因为资料经过标记,因此在区分大小写等细微差异的文本搜索上,比SQL具有更大的灵活性。
BigQuery现在能对超大量的文本资料进行搜索,像是用户可以将本地端、多云平台和Kubernetes中的日志记录,全部汇集到BigQuery中,快速地查询特定资料元素。与其他的BigQuery功能相同,搜索索引是全托管功能,一旦用户创建了索引,BigQuery便会在后台处理剩余的工作。
同时,搜索索引也能够搜索半结构化资料,Google提到,安全日志来自多个来源,具有不同的架构、类型,而用户现在可以将这些日志存储成JSON,并且在BigQuery中使用SQL进行查询。
BigQuery搜索索引功能不额外收取费用,但是用户需要对索引所使用的存储支付费用,Google表示,适当的使用搜索索引功能,查询扫描的资料将大幅减少,进而节省成本。Google举例,要从PB级的资料中,删除所有Bob的资料,过去用户可能需要扫描TB大小的表格,才能找到其中10笔包含Bob的记录,而现在通过在BigQuery表格增加索引,就仅会触及包含Bob的资料列子集,因而大幅降低成本。