代码之家  ›  专栏  ›  技术社区  ›  The Unknown

C++的SQLite替代方案

  •  16
  • The Unknown  · 技术社区  · 17 年前

    目前,我正在考虑使用SQLite,它可以完成这项工作,但我对其他选择持开放态度。SQLite的语法在C++代码中不太适合(例如,我不得不用列索引号代替列名等来访问结果)。

    10 回复  |  直到 10 年前
        1
  •  21
  •   Community Mohan Dere    9 年前

    与SQLite保持联系,但为此寻找一个好的C++库。

    StackOverflow question 我应该帮助你。。。

        2
  •  8
  •   Doug T.    17 年前

    我认为,增加对包装器库的依赖不值得为处理额外依赖而付出的代价。当这些包装lib的文档可能很少时,您不希望被困在调试这些包装lib的过程中。SQLLite一定会更稳定,有更好的文档,因此依赖性更可靠。

        3
  •  6
  •   bayer    17 年前

    听起来,数据库似乎是您唯一真正的选择。但是,如果选择SQLite、MySql或Postgres,在列索引点上并不重要。

    也许您真正想要的是更好的数据库抽象。您可能想试试Poco,它有一个很棒的: http://pocoproject.org/

        4
  •  4
  •   Richard    17 年前

        5
  •  2
  •   MichaelElfial MichaelElfial    17 年前

    如果你让我留在SQLite并“自己动手”——包装很简单,我自己在SQLite上做了各种包装。为什么?因为它的API比任何其他与数据库相关的API都友好得多,而且您不需要花费太多精力。有了包装器库,您只会添加更多未知的内容,最重要的是,大多数包装器并不是专门为嵌入式数据库服务的。我一直在重复,使用嵌入式数据库,正确的方法与数据库服务器的最佳方法截然不同。。。

        6
  •  1
  •   jdkoftinoff    17 年前

    如果SQL语法对您不重要,我建议 MetaKit

    This Tutoria 我对开始很有帮助。

        7
  •  1
  •   Keith Gaughan    17 年前

    我建议你列一份 wrapper APIs

        8
  •  1
  •   Matthew Flaschen    17 年前

    SQLite++ 这只是其中之一。

        9
  •  0
  •   Turbo    17 年前

    您可以考虑使用像Lucene(或许多克隆中的一个)这样的反向索引IR库,而不是sql派生库。我知道Lucene是java,但是你可以编写一个托管C++库来与LeCEN.NET交互。

    就速度而言,我对Lucene的阅读性能非常满意。它并没有针对它的写作进行优化,但它仍然相当不错,只要你不试图建立一个包含数百万“文档”的索引。

        10
  •  0
  •   Todd    17 年前

    若你们并没有在Windows上工作,你们可以看看东京的橱柜。看起来很不错。我正在等待Win32端口,所以除了性能看起来令人印象深刻之外,我不能对它说太多。

    http://anyall.org/blog/2009/04/performance-comparison-keyvalue-stores-for-language-model-counts/

    这不是一个SQL派生。它是一个直接的b-树/哈希存储。在我看来,这是非常受欢迎的。据我所知,唯一有竞争力的库是Berkeley DB,它的许可证不太理想。