2010-07-25 5 views
1

내 앱용 도움말 시스템을 구현하고 있습니다. 그것은 C와 Gtk +로 작성되었습니다. 도움말이 책으로 나뉘어 있습니다. 각 책은 리소스가있는 HTML 페이지의 무리입니다. 내가 만난 문제는 각 책이 ~ 30M (WebKit Gtk 포트를 사용하여 표시)이라는 것입니다. 압축하면 7M이되지만 문서를 여는 속도가 매우 느려지므로 : 전체 텍스트 검색 색인 작성, 문서 목록, 트리 구조 (a-la 파일 시스템)와 함께 제공 할 수있는 일종의 라이브러리를 사용할 생각입니다. , 및 압축 물론.도움말 시스템 용 데이터베이스 또는 형식?

같은 것은 뭘까요?

모든 요구 사항 "이 있어야합니다"난 아직이 부분과 확실하지 않은 그들 모두가 필요하다는 것을, 그래서를 탐험하고있어되지는 않습니다

PS 뭔가를 놓칠 경우는 괜찮을거야.

+0

책을 압축하지 않은 채로두면 성능에 문제가 없습니다. 그렇다면 솔직히 왜 압축을 풀지 않으시겠습니까? –

+0

예, 압축해야하는 이유가 있습니까? –

+0

솔직히 말하면, 책을 하나의 파일로 만들려는 나의 작은 크기와 미친 미학적 소망을 바라는 것 외에는 아무런 이유도 없습니다. – Daniel

답변

1

SQLite가 (읽기 전용) 압축 된 데이터베이스를 지원하며 하나의 사용자 데이터베이스에 이상적이다.

그러나 압축해야 할 필요성에 대해 생각해야합니다. 하드 디스크는 요즘 너무 커서 컴퓨터의 700MB 라이브러리가 너무 걱정스럽지 않습니다.

Firebird 또는 압축 된 데이터베이스를 지원하지 않는 것으로 알고 있지만 개별 페이지를 압축 할 수 있습니다.이 경우 전체 텍스트 검색을위한 자체 색인을 만들어야합니다. - 나는 불필요한 일을 고려할 것이다.

Firebird는 Windows 응용 프로그램과 함께 배포하기 위해 특별히 설계된 "Embedded Server"기능을 지원합니다.

원하는 기능을 순서대로 나열한 다음 상위 2 ~ 3 개를 선택하고 계속 진행해야합니다. 예 : 데이터베이스로 가져 오는 것은 압축에 대해 생각하기에 앞서하고 싶은 것입니다.

+0

SQLite가 압축 된 데이터베이스에서 작동 할 수 있다는 것을 알지 못했지만 아이디어가 흥미 롭습니다. 그것을 시도해 주셔서 감사합니다 :) Firebird는 내가 알고있는 것처럼 서버가 필요하기 때문에 길이 아닙니다. – Daniel

+0

사실, 파이어 버드는 서버가 필요하지 않고 방금 내 대답을 업데이트했습니다. –

+0

SQLite는이 문제를 해결했습니다 :) – Daniel