Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 不仅仅是网络数据库(桌面应用程序)-面向文档_C++_Database_Document Database - Fatal编程技术网

C++ 不仅仅是网络数据库(桌面应用程序)-面向文档

C++ 不仅仅是网络数据库(桌面应用程序)-面向文档,c++,database,document-database,C++,Database,Document Database,我正在寻找一个像SQLite或BerkeleyDB那样提供访问的数据库:通过“进程内API调用”进行访问。这将在桌面应用程序中使用 要求: 可以链接到桌面应用程序(无需运行单独的进程/服务器) 面向文档,具有可查询的元数据/字段 索引 持久(磁盘存储) C++绑定 您有很多选择,但我认为很难找到一个满足您确切要求的数据库 我想到的一些替代方案是,和。这些都可以嵌入到应用程序中,并提供C++绑定。为什么不使用你提到的DBS之一?我更喜欢用一个无模式的DB来保存文档/条目。每个文档都有元数据字段+

我正在寻找一个像SQLite或BerkeleyDB那样提供访问的数据库:通过“进程内API调用”进行访问。这将在桌面应用程序中使用

要求:

  • 可以链接到桌面应用程序(无需运行单独的进程/服务器)
  • 面向文档,具有可查询的元数据/字段
  • 索引
  • 持久(磁盘存储)
  • C++绑定

    • 您有很多选择,但我认为很难找到一个满足您确切要求的数据库


      我想到的一些替代方案是,和。这些都可以嵌入到应用程序中,并提供C++绑定。

      为什么不使用你提到的DBS之一?我更喜欢用一个无模式的DB来保存文档/条目。每个文档都有元数据字段+一个“大”二进制字段(从几kB到5 GB:传感器数据信号)。我可以将sqlite(元数据)+常规文件组合用于二进制字段,但不保证一致性(例如,如果用户删除一些数据文件)。您已经发现了什么?为什么这些发现不适用于你呢?我看了一下,似乎是一个创建数据库软件的框架,并以关键价值为导向。然而,@eandersson在下面的回答中建议EJDB建立在东京内阁之上。EJDB是有前途的。EJDB是一条路要走,即使它是一个年轻的项目。其基础坚实(东京内阁和mongodb哲学)。此外,它的许可证LGPL完全符合我的需要。谢谢@eandersson!很高兴听到您找到了解决方案。:)