【发布时间】:2014-03-09 19:17:39
【问题描述】:
我需要一个用于商业 Java 应用程序的免费嵌入式数据库。它应该支持按二级索引、运算符 AND/OR、结果排序和范围查询进行搜索。我预计会有大量的并发读取和写入,后者通常是对象属性的一小部分(或 SQL 中的行列)上的多个对象更新。
我已经探索过 Hazelcast 和 CQEngine,但它们似乎不支持这样的部分更新,即如果我需要更新 1000 个对象的单个属性,它将重建所有 1000 个对象的所有索引,而不是更新索引仅适用于更改后的属性。
我还可以探索一些关系数据库,如 H2 和 SQLite,但问题是每个表的列集(对象的属性)是动态的,即可以在运行时动态更改。每当我需要添加/删除列时,这将导致更改架构并重建整个表和索引。
对满足我需求的嵌入式数据库或查询引擎有什么建议吗?
【问题讨论】:
标签: java sql database nosql embedded-database