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