我需要一个免费的嵌入式数据库,用于商业 Java 应用程序。它应该支持二级索引、运算符 AND/OR 搜索、结果排序和范围查询。我预计会有大量并发读取和写入,后者通常是对对象属性的一小部分(或 SQL 中的行列)进行多个对象更新。
我已经探索过 Hazelcast 和 CQEngine,但它们似乎不支持此类部分更新,即,如果我需要更新 1000 个对象的单个属性,它将重建所有 1000 个对象的所有索引,而不是更新索引仅适用于已更改的属性。
我还可以探索一些关系数据库,例如 H2 和 SQLite,但问题是每个表的列集(对象的属性)是动态的,即可以在运行时动态更改。每当我需要添加/删除列时,这将导致更改架构并重建整个表和索引。
对于满足我的需求的嵌入式数据库或查询引擎有什么建议吗?
最佳答案
我正在开发一个NoSQL数据库;它称为 jsndb ( http://sourceforge.net/projects/jsdbase/ )。它处于阿尔法阶段。尝试一下。
关于java - 支持部分对象更新的 Java 嵌入式数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22286866/