简体   繁体   English

Java嵌入式数据库,支持部分对象更新

[英]Embedded database for Java supporting partial object updates

I need a free embeddable database for use in a commercial java application. 我需要一个免费的可嵌入数据库以用于商业Java应用程序。 It should support search by secondary indexes, operators AND/OR, results ordering and range queries. 它应支持通过二级索引,运算符AND / OR,结果排序和范围查询进行搜索。 I expect high amounts of concurrent reads and writes, where the latter are usually multiple object updates on a small subset of the object's properties (or row columns in SQL). 我期望大量并发读写,其中后者通常是在对象属性的一小部分(或SQL中的行列)上进行多个对象更新。

I have explored Hazelcast and CQEngine, but they don't seem to support such partial updates, ie if I need to update a single property of 1000 objects it will rebuild ALL indexes on all the 1000 objects, instead of updating the index for the changed property only. 我已经研究了Hazelcast和CQEngine,但是它们似乎不支持这种部分更新,即,如果我需要更新1000个对象的单个属性,它将在所有1000个对象上重建所有索引,而不是为已更改的对象更新索引仅财产。

I could also explore some relational databases like H2 and SQLite, but the problem there is that the set of columns per table (object's properties) is dynamic, ie can change dynamically at runtime. 我还可以探索一些关系数据库,例如H2和SQLite,但是问题在于每个表的列集(对象的属性)是动态的,即可以在运行时动态更改。 This would lead to altering the schema and rebuilding the whole table and indexes whenever I need to add/remove columns. 每当我需要添加/删除列时,这都将导致更改架构并重建整个表和索引。

Any suggestions for an embedded db or query engine that meets my needs? 对满足我需求的嵌入式数据库或查询引擎有什么建议吗?

I'm developing a NoSQL database; 我正在开发NoSQL数据库; it's called jsndb ( http://sourceforge.net/projects/jsdbase/ ). 它称为jsndb( http://sourceforge.net/projects/jsdbase/ )。 It's in alpha stage. 它处于alpha阶段。 Give it a try. 试试看。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM