Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rdbms 嵌入式nosql开源java数据库_Rdbms_Embedded Database_Javadb_Object Oriented Database - Fatal编程技术网

Rdbms 嵌入式nosql开源java数据库

Rdbms 嵌入式nosql开源java数据库,rdbms,embedded-database,javadb,object-oriented-database,Rdbms,Embedded Database,Javadb,Object Oriented Database,我正在开发一个开源产品,需要一个嵌入式dbms。 你能推荐一个嵌入式开源数据库吗 可以处理每个超过10 GB的对象 具有对嵌入友好的许可证(LGPL,而不是GPL) 它是纯Java 是(最好)nosql。Sql可能可以工作,但更喜欢nosql 我看过一些文档DBMS,比如mongodb, 但它们似乎仅限于4或16 mb的文档 Berkeley DB看起来很吸引人,但拥有类似GPL的许可证 Sqlite3很有吸引力:良好的许可证,并且您可以编译 用你喜欢的最大水滴大小。但是,它不是Java。

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

  • 可以处理每个超过10 GB的对象
  • 具有对嵌入友好的许可证(LGPL,而不是GPL)
  • 它是纯Java
  • 是(最好)nosql。Sql可能可以工作,但更喜欢nosql
我看过一些文档DBMS,比如mongodb, 但它们似乎仅限于4或16 mb的文档

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

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

有什么建议吗

谢谢


史蒂夫

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

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


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

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

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

看起来同样非常简单和快速-基于BTree或哈希的索引与内存映射文件一起持久化到磁盘。它(可选)是完全事务性的。过去七个月(截至2012年3月底)没有提交,邮件列表上也没有多少活动。这并不是说它不是一个好的图书馆,但值得一提

JDBM3和HawtDB是非常小的,所以您不会得到任何漂亮的GUI。但我认为它们的速度和简单性都很吸引人


我发现这些都符合你的要求。此外,Neo4J是一个很棒的图形数据库,它现在已经相当成熟,在嵌入式模式下工作得非常好。不过,它是GPL/AGPL许可的,因此可能需要付费许可,除非您也可以开放源代码:


当然,您也可以使用带有一个大表且没有索引的

一直在尝试将OrientDB用作文档数据库。文档已经过时,几乎所有示例都使用不推荐的类。。。阅读最新版本的javadocs几乎没有帮助。。。我很期待尝试一下,但在经历了这个令人沮丧的开始之后,我不再确定这是一个好的选择。