Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Google BigQuery require a schema? [closed]

I want to use bigquery for storing logs. Does it require a fixed schema like Mysql and other RDBMS or it is like nosql where there is no schema?

like image 858
mark cuve Avatar asked Jun 21 '11 05:06

mark cuve


1 Answers

First: There's no commonly accepted definition of what "NoSQL" means - the term generally is used to describe databases that differ from the RDBMS design used by, for example, MySQL... and it is often used to describe key-value datastores such as Mongo or BigTable.

BigQuery does in fact require a schema definition upon table creation, and data appended to each table must follow the requirements of that schema. However, BigQuery supports null values.

BigQuery is an implementation of a "columnar" storage system - in which data is ordered and queried by column. This design decision results in BigQuery's excellent query speed, and also provides insight as to some of BigQuery's lack of relational DB management features.

BigQuery differs from relational databases in that it is read only, and does not feature table indexes or features for managing or altering tables (besides the ability to append data to an existing dataset). BigQuery supports a SQL-like syntax for expressing queries, but does not support update or delete methods, and it currently only supports a limit range of JOIN functions.

like image 57
Michael Manoochehri Avatar answered Oct 06 '22 00:10

Michael Manoochehri