【问题标题】:Database or format for help system?帮助系统的数据库或格式?
【发布时间】:2010-07-25 21:27:55
【问题描述】:

我正在为我的应用实施帮助系统。它是用 C 和 Gtk+ 编写的。 帮助分为书籍。每本书只是一堆带有资源的 HTML 页面。 我遇到的问题是每本书大约 30M(使用 WebKit Gtk 端口来显示它)。压缩后它变成了〜7M,但打开文档变得非常慢:(所以我正在考虑使用某种能够为我提供的库:全文搜索索引创建、文档列表、树结构(a-la文件系统) ,当然还有压缩。

有什么想法吗?

附:并不是所有的要求都是“必须的”,我还在探索这部分,不确定所有的要求都是必需的,所以如果它会遗漏一些东西就可以了。

【问题讨论】:

  • 不压缩书籍时,您没有任何性能问题吗?那么,老实说,你为什么不让它们不压缩呢?
  • 是的,有什么需要压缩的原因吗?
  • 说实话,除了我想让它的尺寸更小和一些疯狂的审美想让书籍成为单一文件之外,没有任何理由。

标签: c database data-storage helpfile


【解决方案1】:

SQLite 支持压缩数据库(只读),非常适合单用户数据库。

但是,您应该考虑压缩的必要性。如今,硬盘如此之大,以至于计算机上 700MB 的库都不是什么大问题。

或者,您可以选择Firebird,据我所知,它不支持压缩数据库,但您可以压缩各个页面,在这种情况下,您需要为全文构建自己的索引搜索 - 我认为这是不必要的工作。

Firebird 支持名为“Embedded Server”的功能,该功能专为与 Windows 应用程序一起部署而设计。

我认为你应该列出你想要的功能的有序列表,然后选择前两个或三个,然后在继续之前这样做。例如。在考虑压缩之前,您需要将其放入数据库中。

【讨论】:

  • 不知道 SQLite 可以使用压缩数据库,但想法很有趣。感谢您尝试它的提示:) Firebird 不是这样,因为我知道它需要服务器。
  • 其实Firebird不需要服务器,只是更新了我的答案。
  • 我很感兴趣为什么帮助系统这么大...你是主要作者,还是有很多作者?
  • 如果有视频甚至图片,30MB 也不算大。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-15
  • 2010-09-14
相关资源
最近更新 更多