5

我想使用 bigquery 来存储日志。它是否需要像 Mysql 和其他 RDBMS 这样的固定模式,或者它像没有模式的 nosql?

4

3 回答 3

4

第一:“NoSQL”的含义没有普遍接受的定义——该术语通常用于描述与例如 MySQL 所使用的 RDBMS 设计不同的数据库......它通常用于描述键值数据存储,例如作为 Mongo 或 BigTable。

BigQuery 实际上需要在创建表时定义架构,并且附加到每个表的数据必须遵循该架构的要求。但是,BigQuery 支持空值。

BigQuery 是“列”存储系统的一种实现——其中数据按列排序和查询。这一设计决策带来了 BigQuery 出色的查询速度,还提供了有关 BigQuery 缺乏关系数据库管理功能的一些见解。

BigQuery 与关系数据库的不同之处在于它是只读的,并且不具有表索引或用于管理或更改表的功能(除了将数据附加到现有数据集的能力)。BigQuery 支持类似 SQL 的语法来表达查询,但不支持更新或删除方法,目前仅支持有限范围的 JOIN 函数。

于 2012-01-27T04:26:04.383 回答
1

根据定义,这是一个 NoSQL 模型。它不支持基本的 CRUD 操作。没什么好争论的——谷歌也将它定义为 NoSQL。

于 2011-09-13T16:03:26.263 回答
1

目前,您必须定义列、它们的类型、可空性,并且以后无法更改它们。它还具有类似 SQL 的语法。

所以我不会称它为 NoSQL。

于 2011-06-21T10:44:23.777 回答