我正在考虑使用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的数据库连接,然后照常使用视图和模型。
答案 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 电源应用程序是一种适合它的产品。