2013-07-16 4 views
0

저는 Python과 Git을 사용하여 프로젝트 작업을하고 있습니다. 내 스크립트는 git log -p 명령의 결과를 입력 한 파일에서 정보를 가져옵니다. 그래서 내가 좋아하는 일을 계속하고 싶어 :
- 아이디 (단순 문자열 라인) 커밋
- 작성자 이름 (간단한 문자열 라인)
- - 날짜 (I이와 종류 내 DB 싶어) 아이디 (간단한 문자열 라인)
병합
- 주석 (텍스트 블록)
- 다른 DIFF 블록 (텍스트 블록)데이터베이스에 대한 조언이 필요합니다.

은 내가 DB를 사용하고 싶어하지만, 내가 선택해야하는 하나 몰라. 내 스크립트는 350 만 줄의 파일을 처리하고 있습니다. DB에서 많은 작업을 수행해야하며 특히 정렬 작업이 필요합니다. 그래서 좀 빨리해야합니다. 내 DB에는 아마도 많은 라인이있을 것입니다!

나는 MongoDBpymongo을 사용하려고 시도했지만 좋은 선택이 아닌 것 같습니다.

조언이 있으십니까? 이 링크는

P.S. (나는 충분히 명확하지 않다 경우, 알려주세요) 나 http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
에 대해 좀 어려웠다 그것은 파이썬 3.x와 함께 사용하기 쉽습니다! 당신의 도움이

답변

1

에 대한

덕분에 당신은 정말 우리에게 혼란의 원인을 말하지 않습니다. sqlite은 파이썬과 함께 제공되는 메모리 내장 SQL 데이터베이스입니다. 그것은 당신의 필요에 잘되어야합니다.

또한 ORM을 사용하여 데이터베이스 작업을 더 쉽게 할 수 있습니다.

+0

네 말이 맞아, 나는 분명하지 않다. 음, 우선 SQL이나 NOSQL을 사용해야하는지 모르겠습니다. 나는 mongoDB를 시도했지만 좋은 선택인지 궁금 해서요. 게다가 인덱스에 몇 가지 문제가 있습니다. sqlite를 살펴 보겠습니다. 귀하의 답변을 주셔서 감사합니다 – F0UF

+0

@ F0UF 귀하의 질문은 엄청나게 막연합니다. 귀하의 질문이 혼란 스럽다는 불만보다 많지 않은 경우에는 도움이되는 답변을받지 못할 것입니다. 어쨌든 대부분의 문제는 데이터베이스를 사용하여 해결할 수 있습니다. 자신이 편한 편을 선택하고 문제가 발생하면 재평가하십시오. – Marcin

+0

확인. 죄송합니다. 질문이 모호하면 경험이 없습니다. 어쨌든 당신의 도움에 감사드립니다. – F0UF

1

속도는 주요 관심사 또는 사용의 용이성입니까? 적은 비용으로 글을 쓰기를 원한다면 SQLAlchemy 프레임 워크 (http://www.sqlalchemy.org/)를 사용해보십시오.

가장 큰 장점은 많은 다른 DB (MySQL, PostgreSQL, SQLite 등)에서 사용할 수 있다는 것입니다. 따라서 어떤 DB를 사용하는지 잘 모르겠 으면 전체 코드를 수정하지 않고 쉽게 전환 할 수 있습니다).

+2

이것은 OP 선택 데이터베이스 도움이되지 않습니다. – Marcin

+0

SQLAlchemy에 특정 DB가 아닌 이유를 몇 줄 추가했습니다. – Wookie88

1

일반적으로 사용하기 쉽고 설정하기 쉽기 때문에 MySQL을 권하고 싶습니다. Postgres는 2 위이지만, 적어도 우분투에서는 설정하기가 훨씬 어렵습니다. Sqlite는 잘 작동 할 수 있지만 큰 레코드 세트에서는 그렇지 않고 다중 프로세스 지원이 필요한 경우에는 그렇지 않습니다. 어느 쪽이든, 나는 또한 모든 데이터베이스 작업을 추상화하고 다른 RDBMS를 사용하기 쉽게 만들기 위해 SQLAlchemy를 제안 할 것이다.

+0

모든 논문 정보가 필요합니다. sqlite와 MySQL에 대해 살펴 보겠습니다.이미 MySQL을 사용했기 때문에 Python 3.x와 함께 사용하기가 쉬운 지 궁금합니다. – F0UF

+0

올바른 DBAPI를 얻었는지 확인하십시오. 모든 DB가 Py3에서 작동하는 것은 아닙니다. 이 사람은 mysql-connector-python을 권장합니다 : http://watson.nci.nih.gov/~sdavis/blog/sqlalchemy-with-python-3-and-mysql/ –

관련 문제