我正在设计一个需要数据存储的应用程序(例如用户帐户,日志等)。我不希望性能成为问题,因此数据的检索/更新/删除将与主应用程序线程(创建者 - 消费者模型)位于一个单独的线程中。
我无法使用NoSQL数据库或任何其他数据库系统,因为他们需要运行外部应用程序才能使数据可用(例如使用网络管道连接到主机)。
然而,我需要我的数据,而不需要运行另一个应用程序,所以我想将一个系统集成到我自己的应用程序中。
我一直在寻找可以集成的数据库,但我找不到任何数据库。
Side注意:我知道它会有点愚蠢,但实际上我的选择之一是:是否有一个SQL(最好是PostgreSQL)数据库,我可以与我的项目一起编译,然后在本地发出查询?
答案 0 :(得分:1)
数据库[...]需要外部应用程序
错误。有大量的进程内数据库系统(例如SQLite,可以完全符合ACID标准)。
是否有一个SQL(最好是PostgreSQL)数据库,我可以与我的项目一起编译,然后在本地发出查询?
我在你添加这句话之前就开始回答了,但是再次想到了SQLite。如果此特定数据库不适合您,您可能希望搜索“嵌入式数据库”或“进程内数据库”,有大量类似的产品 - - 无论是SQL还是NoSQL。
一个好的NoSQL,键值数据库将是Berkeley DB但是我担心自甲骨文购买它以后许可证已经收紧了所以我不确定它现在是否仍然相关(除非你的应用程序完全开放 - 来源或您可以购买商业许可证。)
答案 1 :(得分:0)
答案 2 :(得分:0)
SQLite怎么样?它不需要任何特殊和复杂的依赖项。它的设置和使用相当容易。