2014-10-12 62 views
2

我正在编写我自己的代码片段管理器,并正在寻找用于存储代码片段的选项。如果我使用文本文档或一组文本文档,我相信随着内容的增长,我会遇到扩展问题。我想我需要为此使用某种类型的数据库。我见过一些叫做ODBSQLite的东西。应用程序内数据库有哪些选项?

对什么选项和其他人使用什么感兴趣?不必能够处理大量的数据,但应该有一个相当容易使用的API。我将为我的GUI使用Qt,所以任何可轻松集成的东西都可以有所帮助。

+0

sqlite给我什么优点和缺点? – NDEthos 2014-10-12 02:59:21

+0

SQLite的专业版是它重量轻,是自包含的。它没有数据库服务器,这使得它比大多数其他数据库更容易使用和安装。此外Qt内置了对SQLite的支持,所以它非常易于使用。 – drescherjm 2014-10-12 03:04:21

+0

那么我需要安装sqlite还是将qt与它预安装? – NDEthos 2014-10-12 04:01:38

回答

3

SQLite是一个不错的快速数据库,可用于独立应用程序。有几十个图形用户界面来创建你想要的模式,并为你想要的任何语言(C/C++/Java/Python/Perl/C#)提供接口。它也是跨平台的,适用于Windows,Linux,Mac,Android,iOS和许多其他操作系统。

Qt也支持它,它的默认驱动程序已建成。

这里有一些优势的SQLite:

  • 性能比较

    • 在许多情况下比MySQL/PostgreSQL的至少快2-3倍。
    • 没有套接字和/或TCP/IP开销 - SQLite以与您的应用程序相同的进程运行。
  • 功能

    • 子选择,触发器事务,视图。
    • 高达2 TB的数据存储空间。
    • 小内存占用。
    • 自包含:无外部依赖关系。
    • 原子提交和回滚保护数据完整性。
    • 轻松移动的数据库。
  • 安全

    • 每个用户都有自己的完全独立的数据库(一个或多个)。
+0

所以我偏向于使用C++的QT,但我也怀疑关于交叉兼容性。我还可以将SQLite集成到一个GUI API /框架的任何想法? – NDEthos 2014-10-12 07:09:06

+0

你可以看到这个帖子为java:http:// stackoverflow。com/questions/41233/java-and-sqlite – Nejat 2014-10-12 07:51:45

+0

“在许多情况下,至少比MySQL/PostgreSQL快2-3倍。”这个说法有点令人怀疑:1)它很大程度上取决于使用情况2)您无法真正比​​较* has *处理并发访问的客户端/服务器RDBMS与不支持该级别并发访问的RDBMS。但是,当然,客户端/服务器RDBMS对于应用内数据库来说是过度的。 – dom0 2014-10-12 10:14:48

相关问题