server/docs: add bigquery "quickstart"

[rendered](https://github.com/hasura/graphql-engine-mono/blob/bigquery-quickstart/server/documentation/data-sources/bigquery.md)

This PR introduces a contributor-facing quickstart guide for BigQuery. I've added pointers to existing docs or helpful links based on questions and blockers we've faced in the past whilst working on and testing BigQuery. Let me know if I've missed anything you think would be especially helpful.

closes https://github.com/hasura/graphql-engine-mono/issues/3791

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3772
GitOrigin-RevId: 9ccf93772422d9eda5d54192a5972904f35c3266
This commit is contained in:
Abby Sassel 2022-03-07 13:36:05 +00:00 committed by hasura-bot
parent 878f6108e6
commit 9e12e32116

View File

@ -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.