2014-07-17 62 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 –