小编And*_*wry的帖子

MongoDB ACKNOWLEDGED 写关注比 UNACKNOWLEDGED 更快?

我有一个非常简单的测试程序,它使用ACKNOWLEDGED批量插入比使用UNACKNOWLEDGED. 而且它不仅仅是快了一点 - 我看到了将近 100 倍!

我对这两种写关注之间的区别的理解仅仅是ACKNOWLEDGED客户端等待服务器确认操作已执行(但不一定持久),而UNACKNOWLEDGED客户端只知道请求已发送到金属丝。因此,前者实际上可以以更高的速度执行似乎很荒谬,但这就是我所看到的。

我在 64 位 Windows 7 上使用 Java 驱动程序 (v2.12.0) 和 Oracle 的 Java JDK v1.7.0_71 和 mongo 版本 3.0.0。我正在运行 mongod,完全开箱即用(新鲜安装),没有分片或任何东西。在每次测试之前,我确保集合为空并且没有非默认索引。

如果您能深入了解为什么我总是看到与我期望的相反的东西,我将不胜感激。

谢谢。

这是我的代码:

package test;

import com.mongodb.BasicDBObject;
import com.mongodb.BulkWriteOperation;
import com.mongodb.BulkWriteResult;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;
import com.mongodb.WriteConcern;

import java.util.Arrays;

public class Test {

  private static final int BATCHES = 100;
  private static final int BATCH_SIZE = 1000;
  private static final int …
Run Code Online (Sandbox Code Playgroud)

java bulkinsert mongodb database-performance

5
推荐指数
0
解决办法
1973
查看次数

标签 统计

bulkinsert ×1

database-performance ×1

java ×1

mongodb ×1