Sql Django的红移数据库后端

Sql Django的红移数据库后端,sql,django,amazon-redshift,Sql,Django,Amazon Redshift,我需要处理一些存储在Amazon Redshift服务器中的数据。因为我对Django最熟悉,所以我想在应用层使用它 但我不知道如何连接到红移和检索数据。我只有连接本地MySQL服务器和工作的经验 所以这似乎是我唯一的选择: :django的红移数据库后端。但我不确定它的稳定性,我不想以后遇到严重的问题,所以我对此有点怀疑 另一个选择可能是(如果我错了,请纠正我),我使用以下选项: 因为红移支持ODBC连接,所以应该可以正常工作吗?Django ORM能正常工作吗?你能预见到什么问题吗 我想让

我需要处理一些存储在Amazon Redshift服务器中的数据。因为我对Django最熟悉,所以我想在应用层使用它

但我不知道如何连接到红移和检索数据。我只有连接本地MySQL服务器和工作的经验

所以这似乎是我唯一的选择:

:django的红移数据库后端。但我不确定它的稳定性,我不想以后遇到严重的问题,所以我对此有点怀疑

另一个选择可能是(如果我错了,请纠正我),我使用以下选项:

因为红移支持ODBC连接,所以应该可以正常工作吗?Django ORM能正常工作吗?你能预见到什么问题吗


我想让一个对Django更有经验的人来了解我的情况。非常感谢

Redshift的界面是为理解PostgreSQL 8.0.2而构建的:

因此,为了从Redshift Django的PostgreSQL读取数据,我正在处理的当前项目只使用Django的“psycopg2”后端。这是通过以下设置实现的:

DATABASES = {
    'default': {
        'NAME': '[cluster name]',
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'USER': '[your user]',
        'PASSWORD': '[your pw]',
        'HOST': '[path to your cluster].redshift.amazonaws.com',
        'PORT': 5439,
    },
}
这里有更多关于连接的信息,但目前仅限于Java和.NET

ORM应该可以正常工作于大多数查询,尽管它们不会针对红移进行优化-所以请注意您发出了多少查询,因为在一个视图中不必要地多次发送缓慢的查询是不好的。

我在和谁玩呢

我的计划是对元数据类型的表(系统、制造商等)使用ORM,这些表具有少量数据和dist all,然后对timeseries表上的任何聚合函数使用原始sql和/或对更密集的活动使用缓存表

到目前为止,我已经创建了几个模型,使用ForeignKey将它们关联起来,它正在工作。接下来,我将尝试利用admin


我们可能需要切换到两种数据库体系结构:一种用于元数据,另一种用于timeseries数据。

我使用PYGRESQL,到目前为止它还不错。。下面是一个示例用法def getConnection():con=pg.connect(“数据库名称”、“主机”、“int(端口)”、“opt”、“tty”、“用户”、“密码”)返回cont这个答案已经4年了,虽然仍然正确(我能够从Django连接到Redshift),与此同时,Django放弃了对PostgreSQL 8的支持,因此这里的大量不兼容使得它的使用变得非常不切实际(因此关于ORM正常工作的部分不再适用,可能只是用于简单的查询)。有人知道如何阻止Django至少使用PostgreSQL 9的一些功能吗?