我需要一个免费的可嵌入数据库,用于商业Java应用程序。它应该支持二级索引,运算符和/或搜索,结果排序和范围查询。我期望大量的并发读写,其中后者通常是对象属性的一小部分(或SQL中的行列)上的多个对象更新。
我已经探索过Hazelcast和CQEngine,但它们似乎不支持这样的部分更新,即如果我需要更新1000个对象的单个属性,它将重建所有1000个对象上的所有索引,而不是更新索引仅适用于已更改的属性。
我还可以探索一些关系数据库,比如H2和SQLite,但问题是每个表的列集(对象的属性)是动态的,即可以在运行时动态改变。这将导致在我需要添加/删除列时更改架构并重建整个表和索引。
有关满足我需求的嵌入式数据库或查询引擎的任何建议吗?
答案 0 :(得分:0)
我正在开发一个NoSQL数据库;它被称为jsndb(http://sourceforge.net/projects/jsdbase/)。它处于alpha阶段。试一试。