内容简介:iBoxDB是一个功能全面的嵌入式 Java .NET NoSQL 数据库,非常容易使用。 每个BOX都是一个独立的数据空间,有效防止数据侵入破坏一致性, 对静态类型的优化,对动态类型的缓存,使用哪种编程方式都能得到最佳性能。...
iBoxDB是一个功能全面的嵌入式 Java .NET NoSQL 数据库,非常容易使用。
每个BOX都是一个独立的数据空间,有效防止数据侵入破坏一致性,
对静态类型的优化,对动态类型的缓存,使用哪种编程方式都能得到最佳性能。
安装简单,维护容易,实时完成远程主从镜像或本地数据库文件镜像。
支持平台:
Java .NET Xamarin Mono Unity Android Windows Linux Blazor Wasm
更新内容:
1.支持创建动态类型的原型
//创建原型定义动态列类型,近似创建类定义对象列类型。
Ason prototype = new Ason("id:", 0L, "name:", "guest");
Ason obj = prototype.select();
obj.set("id", "123");
//这里输出class Long,而不是class String
System.out.println(obj.get("id").getClass());
2.支持事务组团提交
import iboxdb.localserver.*;
import iboxdb.localserver.replication.*;
DB.root("../");
long dbAddress = 1L;
DB db = new DB(dbAddress);
db.getConfig().ensureTable(prototype, "table", "id");
AutoBox auto = db.open();
int buffer = 1024 * 1024 * 100;
try (Box box1 = auto.cube()) {
Ason obj1 = prototype.select();
obj1.set("id", box1.newId());
obj1.set("name", "BOOK 01");
box1.d("table").insert(obj1);
box1.commit(buffer);
}
try (Box box2 = auto.cube()) {
Ason obj2 = prototype.select();
obj2.set("id", box2.newId());
obj2.set("name", "BOOK 02");
box2.d("table").insert(obj2);
box2.commit();
}
//上面两个事务会组合在一起提交
System.out.println(auto.select("from table"));
3.支持热复制数据库文件镜像
long mirrorAddress = System.currentTimeMillis();
auto.getDatabase().copyTo(new Mirror(mirrorAddress), buffer);
DB mirror = new DB(mirrorAddress);
AutoBox mirrorAuto = mirror.open();
System.out.println(mirrorAuto.select("from table"));
4.对于小数据库,支持跳过数据库表结构直接Select数据
auto.getDatabase().close();
mirrorAuto.getDatabase().close();
for (Map map : DB.select(dbAddress)) {
System.out.println(map);
}
3.0 是大内存版的 2.X,因为虚拟机对直接操作内存的限制,并且GC密度也会增加,
综合性能不会提升,不用急着升级。
随着机器内存的增加,GC的减少,大量只读时性能会好于2.X。
与其它 SQL 数据库的性能对比
与 MySQL 8性能对比,Java
与 SQLite 性能对比,C#
切换不同的数据库文件目录位置,测试多次,可得更准确数据。
以上所述就是小编给大家介绍的《iBoxDB 3.0 发布,Java.NET 嵌入式数据库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。