2014-07-17 15 views
5

我需要处理存储在Amazon Redshift服务器中的一些数据。由于我最熟悉Django,我正考虑在应用层使用它。Django的Redshift DB后端

但我无法弄清楚如何连接到Redshift和retreive数据。我只有连接到本地MySQL服务器和工作的经验。

因此,这似乎是我唯一的选择:

https://github.com/binarydud/django-redshift:红移的后台数据库实现Django的。但我不确定它的稳定性,我不希望后来遇到严重问题,所以我对此有点怀疑。

另一种选择可能是(纠正我,如果我错了),我用这个: https://github.com/lionheart/django-pyodbc/

由于红移支持ODBC连接,这应该工作的权利? Django ORM会正常工作吗?你可以预见的任何问题?

我很乐意通过Django更有经验的人了解我的情况。非常感谢!

回答

10

红移的接口是建立在理解的PostgreSQL 8.0.2:http://docs.aws.amazon.com/redshift/latest/dg/c_redshift-and-postgres-sql.html

所以从红移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, 
    }, 
} 

更多信息在这里 - http://docs.aws.amazon.com/redshift/latest/mgmt/connecting-in-code.html - 但它仅适用于Java和.NET的时刻。

对于大多数查询,ORM应该能够正常工作,尽管它们不会针对Redshift进行优化 - 所以请留意您发出的查询数量,因为在单个视图中发送不必要的大量查询并不会导致很多次查询isn'好。 ():

+0

我使用PYGRESQL,它迄今为止一直很好.. tty“,”用户“,”密码“) return con –