2014-07-17 1 views
5

Amazon Redshift 서버에 저장된 일부 데이터에 대해 작업해야합니다. Django에 대해 가장 잘 알고 있기 때문에, 나는 그것을 Application 레이어에서 사용할 생각이다.장고를위한 Redshift DB 백엔

하지만 Redshift에 연결하고 데이터를 검색하는 방법을 알 수 없습니다. 필자는 로컬 MySQL 서버에 연결하여 작업 한 경험이 있습니다.

https://github.com/binarydud/django-redshift : 장고에 대한 적색 편이 데이터베이스 백엔드

그래서이 내 유일한 옵션이 될 것으로 보인다. 그러나 나는 안정성에 대한 확신이 없으며 나중에 심각한 문제에 빠지기 싫어서 이것에 대해 조금 회의적입니다.

또 다른 옵션은 (내가 틀렸다면 정정 해줘) 될 수있다, 나는이를 사용하는 것이 : Redshift에이 ODBC 연결을 지원하기 때문에 는 https://github.com/lionheart/django-pyodbc/

이 바로 일을해야합니까? 장고 ORM이 정상적으로 작동합니까? 예상 할 수있는 문제가 있습니까?

장고에 대해 더 잘 알고있는 사람이 제 상황에 대한 통찰력을 갖고 싶습니다. 고마워요!

답변

10

Redshift에의 인터페이스는 PostgreSQL의 8.0.2을 이해하기 위해 내장되어 있습니다 : http://docs.aws.amazon.com/redshift/latest/dg/c_redshift-and-postgres-sql.html이 Redshift에 장고의 PostgreSQL의에서 데이터를 읽는에 대한 그래서

, 내가 일하고 있어요 현재 프로젝트 그냥 장고 '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 -하지만 그것은 순간에 자바와 .NET 만입니다.

ORM은 Redshift에 최적화되어 있지 않지만 대부분의 쿼리에서 정상적으로 작동해야합니다. 따라서 느린 쿼리가 단일보기에서 불필요하게 많은 시간을 보내므로 ' 좋은데.

+0

나는 PYGRESQL을 사용하여 좋은 결과를 얻었습니다. 여기에 샘플 사용법이 있습니다. def getConnection() : con = pg.connect ("database_name", "host", int (port), "opt", " tty ","user ","password ") return con –