gpt4 book ai didi

rdbms - 嵌入式nosql开源java数据库

转载 作者:行者123 更新时间:2023-12-05 00:38:50 27 4
gpt4 key购买 nike

我正在开发一个开源产品,需要一个嵌入式 dbms。
你能推荐一个嵌入式开源数据库吗...

  • 每个可以处理超过 10 GB 的对象
  • 拥有对嵌入友好的许可证(LGPL,而非 GPL)。
  • 是纯Java
  • 是(最好)nosql。 Sql 可能有效,但更喜欢 nosql

  • 我查看了一些文档 DBMS,例如 mongodb,
    但它们似乎仅限于 4 或 16 mb 的文件。

    Berkeley DB 看起来很有吸引力,但拥有类似 GPL 的许可证。

    Sqlite3 很有吸引力:许可证好,可以编译
    使用您喜欢的任何最大 blob 大小。但是,它不是Java。
    我知道 JDBC 驱动程序存在,但我们需要一个纯 Java 系统。

    有什么建议?

    谢谢

    史蒂夫

    最佳答案

    虽然这是一个老问题,但我最近一直在研究这个问题并遇到以下问题(其中至少有两个是在提出这个问题之后写的)。我不确定它们中的任何一个如何处理非常大的对象 - 在 10GB 时,您可能需要进行一些认真的测试,因为我认为很少有数据库开发人员会为他们的产品考虑这种大小的对象(只是猜测)。我肯定会考虑将它们直接存储到磁盘,只需引用数据库中的文件位置。

    (顺便说一下,下面的意见都很肤浅,因为我还没有认真使用它们)。

    OrientDB看起来是我找到的三个中最成熟的。它似乎是一个文档和/或图形数据库,并声称速度非常快(使用“RB+Tree”数据结构 - B+ 和红黑树的组合)。它声称 super 快速和轻便,没有外部依赖。例如,似乎有一个活跃的社区正在开发它,例如在过去几天中进行了大量提交。它也符合 TinkerPop图数据库标准,它增加了另一层功能(例如 Gremlin 图查询语言)。它是 ACID兼容,具有 REST 和其他外部 API,甚至是基于 Web 的管理应用程序(大概可以与您的嵌入式数据库一起部署,但我不确定)。

    接下来的两个更属于 N(ot)O(nly)SQL 世界的简单键值存储阵营。

    JDBM3是一个极小的数据存储:它有一个哈希映射、树映射、树集和链表,它们通过内存映射文件写入磁盘。它声称非常轻便和快速,完全是事务性的,并且正在积极开发中。

    HawtDB看起来非常简单和快速 - 基于 BTree 或哈希的索引与内存映射文件一起保存到磁盘。它(可选)完全是事务性的。过去七个月(截至 2012 年 3 月)没有提交,邮件列表上也没有太多事件。这并不是说它不是一个好的库,而是值得一提。

    JDBM3 和 HawtDB 非常小,所以你不会得到任何花哨的 GUI。但我认为它们都因其速度和简单性而看起来非常有吸引力。

    这些就是我找到的符合您要求的所有内容。此外,Neo4J 很棒 - 一个图形数据库,它现在非常成熟并且在嵌入模式下运行良好。不过,它是 GPL/AGPL 许可的,因此可能需要付费许可,除非您也可以开源代码:
    http://neotechnology.com/products/price-list/

    当然,您也可以使用 H2 SQL database一张大 table ,没有索引!

    关于rdbms - 嵌入式nosql开源java数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213896/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com