使用Google BigQuery作为Django的后端

时间:2017-09-26 20:23:25

标签: django google-bigquery

我正在考虑使用Google BigQuery作为Django的后端,但无法确定是否可行,如果可行,将采用哪种设置。

目前,我的Django应用程序使用Postgresql,settings.py中的代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

理想情况下,我想通过settings.py设置与Google BigQuery的数据库连接,然后照常使用视图和模型。

4 个答案:

答案 0 :(得分:1)

它不可能,或者至少不受支持。您可以直接使用API​​,但显然您无法获得ORM的任何优势。

答案 1 :(得分:0)

您应该拥有一个数据库马达,例如postgres,mysql,等等。 关键是,该分贝电动机必须具有它,因为该结构以这种方式工作。

但是,当然,您可以从Django的库中调用Google Cloud并将其用作

from google.oauth2 import service_account from google.auth.transport.requests import AuthorizedSession from google.cloud import datastore from google.cloud import bigquery

就我而言,我以前经常进行连接 os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'OAuth2Credential.json'

要生成您的.json,应转到以下位置的文档: https://cloud.google.com/iam/docs/creating-managing-service-account-keys

答案 2 :(得分:0)

可以将SQLAlchemy与Django一起使用。

SQLAlchemy可以使用pybigquery驱动程序连接到bigquery。

请参阅以下有关如何 Configuring Django to use SQLAlchemy

答案 3 :(得分:0)

一切皆有可能。创建一个界面并不是一件大事。但是,我只想保留一个注释:

Bigquery 并非旨在成为后端数据库,而是更像是数据仓库,因为它是在商业智能学科中定义的。这意味着,谷歌会让你很难执行快速的多用户操作。据我所知,例如更新语句有一些阈值。

另一方面,如果这纯粹是例如数据输入或数据可视化,那么为什么不呢。但话说回来,我认为 Azure 电源应用程序是一种适合它的产品。