具有许可免费软件许可证的非关系嵌入式数据库?

dwi*_*ell 5 c++ database berkeley-db embedded-database

非常感谢您花时间看我的问题.

(我知道这个问题非关系数据库的C++,但我的需求有点不同,它只有一个答案.)

我正在开发一个商业C++库,除其他外,它必须保留消息.我想通过编写自己的DBMS来避免重新发明轮子.不幸的是,我有以下限制标准:

  1. 它必须可以从C++中使用 - 我正在编写一个C++库.如果使它们工作的努力程度不是太高,那么绑定是可能可接受的.
  2. 我需要一个嵌入式数据库.独立无效.
  3. 我想避免使用关系数据库.除了对性能开销的担忧之外,作为不鼓励关系数据库的开发人员,还有我无法控制的技术政治.
  4. 我需要一个宽松的免费软件许可证.购买许可证很难,但客户不想让他的消息来源.
  5. 我想要一个已经建立的解决方案(至少有一段时间,超出实验阶段,已被多个项目使用).

遗憾的是,由于上述原因,这两个选择不起作用:-SQLite是关系型的-BerkeleyDB是GPL或商业

再次感谢您的帮助.

And*_*adt 6

SQLiteb-tree模式下使用.公共区域.避免政治.让我们通过避免性能关键路径的SQL接口来解决政治问题,并且可选地使用SQL解析器路径来处理那些不在关键路径上的查询.