数据存储 C++ 应用程序(可能是关系数据库)的设计

Design of data storage C++ application (maybe relational database)

我需要在 C++ 应用程序中存储和加载一些数据。根据关系数据库,这些数据基本上将以一组表的形式结束。

我使用 csv 格式将数据写入表格,然后自己解析它们并在我的 C++ 代码中应用我需要的数据库逻辑。但是用这个重新发明轮子并最终有效地编写我自己的数据库引擎似乎很愚蠢。

但是,使用 MySQL 数据库之类的东西对于将成为单用户本地系统的系统来说似乎是一种过大的杀伤力。我曾尝试在我的 Windows 系统上设置一个 MySQL 守护程序,我发现它相当复杂,如果没有管理员权限甚至可能是不可能的。这将是部署的一个严重障碍,因为它需要每个用户的系统都设置 MySQL 和 运行.

是否有合理的折衷方案?可以为我提供一个简单的数据库的东西,可以从 C++ 访问,而无需设置完整 MySQL 安装的所有复杂性?


注意。我已经编辑了这个问题,希望它能让那些投票结束这个问题的人满意。我 不要求推荐 工具,或者某人最喜欢的工具或最好的工具。那就是问我应该使用哪个数据库引擎。我在询问有哪些工具和设计模式可用于解决特定的编程问题——即我如何从 C++ 程序访问数据库之类的功能,而不编写自己的数据库引擎,也不设置完整的数据库服务器。这在概念上与询问例如How do I print out the contents of a vector? - it's just a bigger problem. I have described the problem and what has been done so far to solve it. My understanding from the On Topic Page是这个在范围内。

你可以试试sqlite。

下面是一些简单的代码示例:https://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm