diff --git a/server/documentation/data-sources/bigquery.md b/server/documentation/data-sources/bigquery.md new file mode 100644 index 00000000000..fa3e7422eaf --- /dev/null +++ b/server/documentation/data-sources/bigquery.md @@ -0,0 +1,36 @@ +- [Introduction to BigQuery](#introduction-to-bigquery) +- [Getting started](#getting-started) +- [Getting started with BigQuery on Hasura](#getting-started-with-bigquery-on-hasura) + +### Introduction to BigQuery +BigQuery is a fully-managed, serverless data warehouse that enables high-performance, scalable analysis over petabytes of data. It is a Platform as a Service that supports querying using [SQL](#sql-dialect). + +- [Google Cloud product page](https://cloud.google.com/bigquery/) +- [BigQuery vs Postgres comparison](https://weld.app/blog/postgresql-vs-bigquery) + +### Getting started +BigQuery setup and usage is atypical compared to other relational database backends Hasura currently supports, such as Postgres & SQL Server. You may find these guides useful to familiarise yourself with BigQuery before contributing a PR. + +- [Google Cloud Quickstart Guide](https://cloud.google.com/resource-manager/docs/quickstart-organizations) + +Google Cloud projects form the basis for creating, enabling, and using all Google Cloud services, including BigQuery datasets. +- [Creating and managing projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) +- [Working with the resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy) +- [Identity Access Management policy](https://cloud.google.com/resource-manager/docs/access-control-proj) +- [`gcloud`](https://cloud.google.com/sdk/gcloud), a set of command line tools to create and manage Google Cloud resources +- [Google Cloud Console: Resource Manager](https://console.cloud.google.com/cloud-resource-manager) + +Once you have a project set up, you can work with datasets via the: +- [Google Cloud Console](https://cloud.google.com/bigquery/docs/quickstarts/quickstart-cloud-console) +- [REST API](https://cloud.google.com/bigquery/docs/reference/rest) +- [`bq`](https://cloud.google.com/bigquery/docs/quickstarts/load-data-bq), a command line tool to run queries and load data into BigQuery + +### Getting started with BigQuery on Hasura +See the [hasura.io: BigQuery getting started guide](https://hasura.io/docs/latest/graphql/core/databases/bigquery/getting-started.html) for general information about connecting to a BigQuery data source. + +Integration tests are run against short-lived projects. The following prerequisites are expected: +- A Google Cloud Console service account +- `HASURA_BIGQUERY_PROJECT_ID` environment variable +- `HASURA_BIGQUERY_SERVICE_ACCOUNT_FILE` environment variable + +See [these docs](https://github.com/hasura/graphql-engine/tree/master/server/tests-py#running-bigquery-tests) for more guidance on testing against a BigQuery data source.