尝试ZooLib。
它提供了一个带有 C++ API 的数据库,该 API 最初是为一个名为 Knowledge Forum 的教育机构的高性能多媒体数据库而编写的。它可以同时处理 3,000 个 Mac 和 Windows 客户端(也是用 ZooLib 编写的——它是一个跨平台的应用程序框架),所有这些客户端都流式传输音频、视频并处理由教师和学生创建的图形丰富的文档。
它有两个用于将字节实际写入磁盘的低级 API。一个非常快,但不是容错的。另一个是容错的,但没有那么快。
我是 ZooLib 的开发人员之一,但我对 ZooLib 的数据库组件没有太多经验。也没有文档 - 您必须阅读源代码才能了解它是如何工作的。那是我自己该死的错,因为我在十多年前承担了编写 ZooLib 手册的工作,但几乎没有开始。
ZooLib 的主要开发人员Andy Green是一个很棒的人,总是乐于回答问题。我建议你在 SourceForge 订阅 ZooLib 的开发人员列表,然后在列表中询问如何使用该数据库。安迪很可能会亲自回答您,但也许我们的其他开发人员之一会。
ZooLib 是在 MIT 许可下开源的,并且是真正高质量、成熟的代码。它从 1990 年左右开始不断发展,并于 2000 年被开源。
不要担心自 2003 年以来我们还没有发布 tarball。我们可能应该这样做,因为这会导致许多潜在用户认为它已被放弃,但它被非常积极地使用和维护。只需从 Subversion 获取源代码。
安迪是一名自雇顾问。如果您没有时间但有预算,他会很好地编写定制的、可维护的高质量 C++ 代码以满足您的需求。
我也愿意,如果它是 ZooLib 的任何部分而不是数据库,正如我所说的我不熟悉。我已经使用 ZooLib 的 UI 框架完成了很多我自己的咨询工作。