2010-06-08 7 views
2

필자가 작성한 새로운 응용 프로그램의 파일 형식이 필요합니다. 이 파일은 대부분 텍스트이지만 다른 형식 일 수도있는 다른 텍스트 파일을 묶어야합니다. 당연히 압축 된 tar 파일이 청구서에 들어 맞는 것 같습니다. 문제는 파일에서 일부 데이터를 매우 빨리 검색 할 수 있고 tar.gz 파일의 특정 파일 만 가져 오는 것이 오래 걸리는 것 같습니다. 나는 이것이 단지 하나를 원한다고하더라도 전체 파일을 압축 해제해야하기 때문에 이것이라고 가정하고 있습니다. 일반 압축되지 않은 tar 파일 만 있으면 그 데이터를 빠르게 얻을 수 있습니다. 는 더 이상 내가 좋아하는 것보다 많이 걸립니다 것입니다 ...개별 파일에 빠르게 액세스 할 수있는 압축 된 아카이브

tar -x data.dat -zf myfile.tar.gz 

... 내가 빨리 필요로하는 파일이 예 명령에 대한

data.dat를이라고 말할 수 있습니다.

MP3 파일에는 id3 데이터가 있고 jpeg 파일에는 전체 파일을 열지 않고도 빨리 읽을 수있는 exif 데이터가 있습니다. 비슷한 방법으로 내 data.dat 파일을 사용할 수 있습니다.

나는 myfile.tar.gz의 나머지 파일들과 압축을 풀지 않고 분리 할 수 ​​있다고 생각했다. 그런 다음 data.dat와 myfile.tar.gz의 tar 파일을 만든 다음 그 데이터를 바랄 수있다. 외부 tar 파일의 머리 부분에 있고 압축되지 않았기 때문에 더 빨리 검색 할 수 있습니다.

압축 된 타르를 타르 파일에 넣는 것이 올바른가요?

기본적으로 하나의 특정 파일에 빠르게 액세스 할 수있는 파일 형식을 보관해야합니다. 타르 (Tar)는이 작업을 훌륭하게 수행하지만 데이터를 압축하고 싶을 때 더 빨리 액세스 할 수 있습니다. 필요한 빠른 액세스를 제공하는 다른 보관 형식이 있습니까?

부수적으로이 응용 프로그램은 파이썬으로 작성됩니다. 만약 솔루션이 내 자신의 바이너리 형식으로 휠을 다시 발명해야한다면 C에 익숙하고 파이썬 모듈을 C로 작성하는 데 아무런 문제가 없을 것입니다. Idealy 저는 타르, dd, cat, gzip 등을 사용합니다. .

감사합니다, ~ 에릭

+0

"필자가 작성한 새로운 응용 프로그램의 파일 형식을 생각해 내야합니다." 너무 순조롭게 틀리면 아무 것도 중요하지 않습니다. 행운을 빕니다. – msw

+1

@msw, 질문의 컨텍스트 ("필요한 빠른 액세스를 제공하는 다른 아카이브 형식이 있습니까?")를 포함하여 새로운 압축 형식을 고안하지 않으려는 것이 분명합니다. –

답변

2

우편은 상황에 맞는 적절한 것으로 보인다. 파일은 개별적으로 압축되므로 이전에 모든 것을 스트리밍하지 않고도 액세스 할 수 있습니다.

파이썬에서는 zipfile을 사용할 수 있습니다.

+0

아이디어를 제공해 주셔서 감사합니다. 나는 그것을 내일에 가져다 줄 것이며 그것이 성능면에서 (빠른 접근) 어떻게 작동하는지보고 zip이 gzipped 타르에 대해 어떻게 쌓아 놓는지를 보게 될 것이다. –

관련 문제