Database Reference
In-Depth Information
We often hear from customers evaluating BigQuery for projects that
BigQuery isn't well suited for. Although we don't like telling people not
to use BigQuery, we'd rather have customers who are happy because it
meets their needs rather than disappointed because it doesn't support their
workloads.
That said, sometimes with a bit of elbow grease and duct tape, BigQuery can
work well in cases for which at first glance it didn't appear to be the best
solution. We also have had a number of these types of customers who have
slightly idiosyncratic usage. By working closely with them, we have helped
evolve BigQuery to meet their needs more naturally.
Neither OLTP nor OLAP
While BigQuery performs updates transactionally, it is still a far cry from
what you'd consider an Online Transaction Processing (OLTP) system.
OLTP systems usually handle simple queries and have high rates of updates.
BigQuery supports only append and truncate operations, so the types of
row-level updates required in an OLTP system are not directly supported.
In some cases, however, you can simulate row-level updates by making your
queries more complex.
BigQuery is closer to Online Analytics Processing (OLAP), supporting many
of the same types of use cases as an OLAP system. BigQuery's nested and
repeated fields can approximate the data cubes in OLAP but allow querying
via a more familiar SQL dialect rather than MDX. In a bit of trivia, Mosha
Pasumansky, the inventor of the MDX query language, works on the Dremel
query engine underlying BigQuery.
Neither Relational nor NoSQL
BigQuery is not a good replacement for a relational database. You shouldn't
use BigQuery to store your list of customers or use it for your
order-processing pipeline. Relational databases need to update individual
rows and often need to perform subsecond queries. The Dremel query
engine used by BigQuery actually can run queries in much less than 1
second, but to make sure the system has enough capacity for all users, the
number of concurrent queries that can be done by a single user is generally
throttled.
So if BigQuery isn't a relational database, it must be NoSQL, right? BigQuery
uses a dialect of the SQL language to query data, so it can't actually be
Search WWH ::




Custom Search