【问题标题】:Is it possible to create relationships between tables?是否可以在表之间创建关系?
【发布时间】:2018-01-15 17:12:53
【问题描述】:

Bigquery 看起来很棒,我有一个数据库类型 ETL,我的方案在实体之间有多个关系,我想知道是否有办法在它们之间建立关系,或者是否可以在数据集?

请原谅我的英语,这不是我的语言,我不太懂。

【问题讨论】:

    标签: sql database google-bigquery bigdata


    【解决方案1】:

    您无法在 BigQuery 中明确创建关系。 Big Query 的理念是对数据进行非规范化以在查询时获得更好的性能。当他们需要关系时,BigQuery 使用重复字段 (https://cloud.google.com/bigquery/docs/legacy-nested-repeated)

    但如果性能无关紧要并且您希望建立关系,则可以在查询数据时对数据进行规范化并在某些字段上手动进行 JOIN(或嵌套 SELECT)。

    https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax

    【讨论】:

    • 我刚刚读到这样的东西,我很抱歉问了另一个问题,但是bigquery中没有类似于NoSql的结构,或者实际上,bigquerye是一个NoSql数据库?
    • BigQuery 是一种 SQL(支持 SQL 语法),尽管在设计架构并将数据加载到 BigQuery 以对其进行非规范化(以获得更好的性能)时经常鼓励它(取决于用例),这是它的特征之一NoSQL 数据库。因此,本质上,BigQuery 是 SQL,但您也可以使用一些 NoSQL 实践。 > 来自quora.com/Is-BigQuery-a-SQL-or-NoSQL的回答