我想使用bigquery来存储日志。它是否需要像Mysql和其他RDBMS这样的固定模式,或者它就像没有模式的nosql一样?
答案 0 :(得分:2)
首先:没有普遍接受的定义“NoSQL”的含义 - 该术语通常用于描述与例如MySQL所使用的RDBMS设计不同的数据库......它通常用于描述密钥 - 值数据存储,例如Mongo或BigTable。
事实上,BigQuery确实需要在创建表时使用模式定义,并且附加到每个表的数据必须遵循该模式的要求。但是,BigQuery支持空值。
BigQuery是“柱状”存储系统的一种实现 - 其中数据按列排序和查询。这一设计决策使BigQuery具有出色的查询速度,并且还提供了一些关于BigQuery缺乏关系数据库管理功能的见解。
BigQuery与关系数据库的不同之处在于它是只读的,并且不具有用于管理或更改表的表索引或功能(除了将数据附加到现有数据集的功能之外)。 BigQuery支持类似SQL的语法来表达查询,但不支持更新或删除方法,并且它目前仅支持限制范围的JOIN函数。
答案 1 :(得分:1)
根据定义,这是一个NoSQL模型。它不支持基本的CRUD操作。没有什么可争论的 - 谷歌也把它定义为NoSQL。
答案 2 :(得分:0)
目前你必须定义列,它们的类型,可空性,以后你不能更改它们。它也有类似SQL的语法。
所以我不会称它为NoSQL。