2012-09-10 3 views
0

나는 매일 무한한 프로세스를 실행하고 있으며, 기본적으로 파일에 쓰고 내부 개체에 업데이트 된 데이터를 채 웁니다.데몬 상태를 다시로드하는 가장 좋은 방법은 저장된 데이터를 내 사용자 정의 형식이나 영구 데이터베이스로 변환하는 것입니다.

우분투에서 실행 중이며 파이썬으로 작성되었습니다.

친절 프로세스 충돌/등 다시 시작하는 경우 데이터를 복원 할 수있는 가장 좋은 방법 일 것입니다 무슨 조언을

내가 모든 파일이 지금까지 생성하고 모든 백업 가질 수 있도록 새로 만든 개체를 업데이트 읽어야 정보를 사용할 수 있습니까? 아니면 데이터를 DB 유형으로 유지해야합니까?

+0

운영 체제, 언어, 데이터 액세스 코드 유형 (바이너리/xml/데이터베이스). 간단히 새로 시작하는 대신 데이터를 복원해야하는 이유를 나타냅니다. 그런 다음 시도한 것을 말하고 왜 작동하지 않던 지, 아니면 좋아하지 않는지를 말합니다. –

+0

두 가지 제안은 훌륭한 선택처럼 보일 수 있지만 더 많은 정보가 없으면 실제로 도움이되지 않습니다. 어쨌든 귀하의 질문에 대한 답변은 의견의 문제 여야합니다 - 그것은 stackoverflow에 대한 질문에 싫증이 난다. 데이터베이스를 좋아하는 사람들 사이의 싸움에서 끝나기도하고, 그렇지 않은 사람들 사이의 싸움에서 끝나기 때문입니다. 답변을 선택할 수있는 기준을 알려주세요 (예 : 쉬운 프로그래밍, 재 장전 속도. 데이터의 크기와 복잡성 (그리고 구조조차도)을 나타낼 수 있습니다. –

+0

업데이트 주셔서 감사합니다. OS는 우분투가 될 것이고 프로그래밍 언어는 Python입니다. 일일 데이터는 파이썬 객체로 채워질 것입니다. 업데이트 할 때마다 객체 조회 및 업데이트를 수행 할 것입니다. obj가 없어지는 프로세스 크래시의 경우 우리는 read/DB 검색을하고 새로운 객체를 업데이트하려고 시도 할 것입니다. – user1524206

답변

0

저는 shelve 모듈이 상태에 이상적이라는 것을 알았습니다. (전통적인) 데이터베이스가 과도하게 보일 때 이상적입니다. 더 좋은 api와 약간의 직선 피클을 제공합니다.

+0

더 빠른 cPickle 또는 Shelve이며 유지 관리가 쉬운 것은 어느 것입니까? – user1524206

+0

Pickle api os가 추상화 된 것처럼 나는 선반에 뛰어들 것입니다. –