BigQuery - 挑战与最佳实践
作为云计算工具,BigQuery 并非没有挑战。在这一简短的章节中,我们试图强调 BigQuery 面临的一些明显挑战。
从业务角度看 BigQuery
从业务角度看,BigQuery 面临的最大障碍之一是确保领导层支持测试、调整或扩展平台以满足特定组织的需求。
- 许多企业满足于依赖本地数据存储,而不考虑云存储选项。
- 或者更糟糕的是,企业甚至可能不认为任何形式的数据仓库是其大数据存储的可行解决方案。
- 企业领导者可能会将 BigQuery 的可变成本视为潜在的资源消耗,尤其是如果他们的组织有许多开发人员、工程师、架构师和最终用户依赖从 BigQuery 存储和查询的数据。
从用户角度看 BigQuery 观点
从用户的角度来看,BigQuery 有一点学习曲线。
- 可用的 SQL 的双重版本,标准 SQL 和 旧版 SQL,意味着那些使用过其他 SQL 方言的人可能会对需要启用哪种模式来运行给定查询或使用特定功能感到困惑。
- 当尝试将基于 BigQuery 的数据仓库与外部连接(如 Google Sheet 或 BigQuery API)集成时,使用 BigQuery 进行开发可能具有挑战性。
- 尽管提供了对执行时和执行后消耗的资源和其他性能指标的可见性,但 BigQuery 的错误日志可能不明确,导致故障排除时感到沮丧 - 尤其是对于新开发人员而言。
BigQuery 最佳实践
为了避免或克服这些挑战,有必要了解和实施 BigQuery 最佳实践。要充分利用 BigQuery,需要具备 Google Cloud Platform、云计算和 SQL 方面的知识。
为了减少收到意外的昂贵月度账单的可能性,请启用监控并经常查看在 BigQuery 上过滤的账单和使用情况仪表板。
不要不断地临时增加插槽(Slot),而要迫使开发人员在代码级别思考和实施最佳实践。这可能包括 −
- 通过避免使用"SELECT *"之类的宽泛查询来减少处理的数据范围
- 选择高效的 SQL 查询设计模式来优化查询操作
- 避免使用通配符引用和过多元数据读取之类的计算密集型查询
- 使用可用的工具(如 BigQuery 的 BI Engine)来识别有问题的操作,并在必要时提高性能
- 通过仅允许用户使用 WHERE 子句进行查询来指定大型表的查询限制
同时具备平台和 SQL 知识的用户将成为构建、扩展和宣传平台的人,将 BigQuery 的强大功能添加到他们的个人技能和组织技术堆栈中。