我试图理解bigQuery,看看它是否符合我们的需求。我们的基本要求之一是存储嵌套结构,使嵌套部分需要与主记录分开存储。
例如假设我们有员工的记录,在存储了员工的主要数据后,让我们说一分钟之后,另一条记录将与员工以前的工作地点一起到达(然后另一条此类记录可能会到达)
因此,我们需要存储第一个员工记录,然后更新结构以添加有关员工的详细信息,此详细信息也作为新记录插入,并且不会覆盖现有记录。
怎么能在bigQuerY中完成?假设我们可能有不同的数据来源?
在BigQuery中存储它的首选和推荐方法是append-only。这意味着您只能进行更新/删除,并且您不断地即时新行。
通过拥有来自同一用户的行流,您需要以这种方式编写查询以选择最后一行,以获取最新的配置文件。但是你有所有流的“版本控制”。
换句话说,您使用Streaming Insert功能不断添加新行。然后,通常使用Window Functions来查找最后一行的SQL查询。
您无法更新行,或将记录附加到BigQuery limits DML statements到每个表96。