gpt4 book ai didi

java - OrientDB 慢写

转载 作者:搜寻专家 更新时间:2023-10-30 21:29:25 24 4
gpt4 key购买 nike

OrientDB官网说:

On common hardware stores up to 150.000 documents per second, 10 billions of documents per day. Big Graphs are loaded in few milliseconds without executing costly JOIN such as the Relational DBMSs.

但是,执行以下代码显示插入 150000 个简单文档需要大约 17000 毫秒。

import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.orient.core.record.impl.ODocument;

public final class OrientDBTrial {

public static void main(String[] args) {
ODatabaseDocumentTx db = new ODatabaseDocumentTx("remote:localhost/foo");
try {
db.open("admin", "admin");

long a = System.currentTimeMillis();
for (int i = 1; i < 150000; ++i) {
final ODocument foo = new ODocument("Foo");
foo.field("code", i);
foo.save();
}
long b = System.currentTimeMillis();
System.out.println(b - a + "ms");

for (ODocument doc : db.browseClass("Foo")) {
doc.delete();
}
} finally {
db.close();
}
}

}

我的硬件:

  • 戴尔 Optiplex 780
  • Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93Ghz
  • 8GB 内存
  • Windows 7 64 位

我做错了什么?

将保存拆分为 10 个并发线程以最大限度地减少 Java 的开销,使其运行时间约为 13000 毫秒。仍然比 OrientDB 头版所说的慢得多。

最佳答案

您可以通过使用“平面数据库”和 orientdb 作为 java 中的嵌入式库来实现这一点在这里查看更多解释 http://code.google.com/p/orient/wiki/JavaAPI

您使用的是服务器模式,它向 orientdb 服务器发送许多请求,根据您的基准判断,您每秒插入约 10 000 次,这还不错,例如,我认为 10 000 个请求/秒对于任何网络服务器来说都是非常好的性能(而orientdb server其实是一个webserver,可以通过http查询,不过我觉得java用的是binary模式)

关于java - OrientDB 慢写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com