2012-08-22 2 views
3

저는 Udacity, Code Academy 및 Google University를 통해 Python을 배웠습니다. 나는 이제 장고를 배우기 시작할 정도로 자신감이있다. 내 질문은 장고 SQL 데이터베이스 - SQLite 또는 MySQL을 배워야한다; 또는 Mongo와 같은 NoSQL 데이터베이스에서 장고를 배워야합니까?처음 Django 데이터베이스 SQL 또는 NoSQL?

두 가지 모두에 대해 모두 읽었지만 많이 이해하지 못합니다. Mongo는 더 좋게/더 쉽게 들리지만, 동시에 Relational Databases를 이미 잘 알고 있고 더 민첩한 것을 찾고있는 사람들에게는 더 좋고/더 쉽게 들립니다.

+0

로컬로 개발할 OS는 무엇입니까 (예 : Windows, OS X 등)? – Jeff

+0

OSX Snow Leopard – Ryan

답변

5

초보자라면 을 사용하면 장고를 배우는 것이 가장 쉽습니다. 데이터베이스 위치를 제공하고 sqlite3을 백엔드로 지정하여 제대로 작동 시키면됩니다. 나중에 postgres을 사용하고 싶다면 더 많은 작업이 가능하지만 여전히 실행 가능합니다. 의견에서 @ JonathanVanasco의 메모를 참조하십시오.

궁극적으로 NoSQL DB를 사용하고 싶다면 Django는 현재 그것을 지원하지 않습니다. Here은 인식 된 타사 Django 백엔드 목록입니다.

Mongo는 django-nonrel이라는 타사 포크를 통해 사용할 수 있지만이 구현은 ManyToManyFields를 지원하지 않으며 몇 가지 다른 제한 사항이 있습니다. Django-nonrel에서 Mongo에 대한 자세한 내용은 this blog post을 참조하십시오. django-nonrel에 대한 좀 더 비공식적 인 문서가 있습니다 here.

+1

참고'django-nonrel'은 실제로 fork 같은 모듈이 아닙니다. –

+0

고맙습니다. 그것에 대해 메모를 추가했습니다. –

1

Postgres는 장고 제작을위한 훌륭한 데이터베이스입니다. sqlite는 함께 개발하는 것이 놀랍습니다. 첫 장고 사이트에서 RDBMS를 사용하지 않으려 고 많은 노력을 기울일 것입니다.

Django의 가장 큰 강점 중 하나는 원활한 전체 스택 통합, 멋진 문서, 기여 앱, 앱 생태계입니다. 몽고를 선택하면 많은 것을 잃게됩니다. GeoDjango는 또한 SQL을 가정하고 다른 사람들보다 postgres/postgis를 정말 좋아합니다. GeoDjango는 정말 대단합니다.

몽고를 사용하려면 병, 플라스크, 토네이도, 싸이 클론 또는 전체 스택 통합과 관련이 적고 특정 ORM을 사용하는 것에 대해 덜 추측하는 것으로 시작하는 것이 좋습니다. 예를 들어 Django 튜토리얼에서는 ORM을 SQL DB와 함께 사용한다고 가정합니다.

0

sqlite으로 시작하는 것이 가장 간단합니다. 이미 SQL 동전을 던져 처음 프로젝트에 MySQLPostgres 중 하나를 선택하십시오!

0

위키에 따르면 장고는 not officially support NoSQL databases (가난한 결정 인 IMHO)입니다. 따라서 Django에서 NoSQL 경로를 사용한다면 프로젝트의 비표준 포크 및 문서화가 잘되지 않은 오류를 쉽게 처리 할 수 ​​있어야합니다.

Django 초보자에게는 SQL이 확실한 선택입니다.

즉, Django의 첫 번째 DB는 NoSQL이지만 이전에 다른 플랫폼에서 SQL 데이터베이스를 사용했습니다.

관련 문제