2011-06-21 53 views
3

我想使用bigquery來存儲日誌。它是否需要像Mysql和其他RDBMS這樣的固定模式,或者它像沒有模式的nosql?Google BigQuery是否需要架構?

+0

你在問之前是否閱讀過一些文檔? –

回答

-1

現在你必須定義列,它們的類型,可空性,並且以後你不能再改變它們。它也有一個類似於SQL的語法。

所以我不會稱之爲NoSQL。

1

根據定義,這是一個NoSQL模型。它不支持基本的CRUD操作。沒有什麼可爭辯的 - Google也將其定義爲NoSQL。

2

第一:關於「NoSQL」的含義沒有普遍接受的定義 - 該術語通常用於描述與例如MySQL所使用的RDBMS設計不同的數據庫......並且它通常用於描述關鍵字價值數據存儲,如Mongo或BigTable。

BigQuery實際上在創建表時需要一個模式定義,並且附加到每個表的數據必須遵循該模式的要求。但是,BigQuery支持空值。

BigQuery是一個「柱狀」存儲系統的實現 - 其中數據按列排序和查詢。這一設計決策使BigQuery的查詢速度非常出色,並且還提供了一些關於BigQuery缺乏關係數據庫管理功能的信息。

BigQuery與關係數據庫的不同之處在於它是隻讀的,並且不具有用於管理或更改表的表索引或功能(除了將數據附加到現有數據集的能力之外)。 BigQuery支持用於表達查詢的類似SQL的語法,但不支持更新或刪除方法,並且它目前僅支持JOIN函數的極限範圍。