JSON ドキュメントをDb2データベースに保管します

JSON ドキュメントは、データベース内のコレクション (または表) に保管されます。 これらのドキュメントは、キー値の組 (ここで、キーはストリング) のマップとして表されます。 値は、String、Integer、Double、 java.util.Date のようなプリミティブな Java™ オブジェクト、および他の DBObject インスタンスで表されるネストされた JSON 文書とすることができます。

JSON ドキュメントは、インターフェースの DBObject インスタンスによって表されます。 一般的な実装は、BasicDBObject オブジェクトを使用して行います。 JSON 配列は、BasicDBList クラスによって表されます。 オブジェクトを手動で構成することも、BasicDBObjectBuilder クラスで使いやすい構文を使用することもできます。

コレクションは DBCollection クラスによって表されます。 ドキュメントを挿入するには、その前に、DB インスタンスから DBCollection を取得する必要があります。

Javaプログラムの次のコードは、コレクションの取得方法を示しています
DBCollection empColl = db.getCollection("employees");
 BasicDBObject obj = new BasicDBObject();
 obj.put("name", "Joe");
 obj.put("age", 50);
 obj.put("salary", 60000);
 empColl.insert(obj);

デフォルトでは、挿入操作はデータベースからの成功の確認を待機します。 書き込みの安全性を代償にしてスループットを向上させるには、WriteConcern.NONE または WriteConcern.NORMAL を使用できます。その場合、挿入はキューに入れられてバッチ処理され、低いコミット頻度で挿入されて、処理速度は大幅に向上しますが、Db2 サーバー・サイドでのトランザクション・ログ・スペース要件も増大します。 Db2サーバーは、原子性、一貫性、独立性および耐久性 (ACID) を引き続き提供しています。 この API により、速度向上のために規則が緩和されます。

 DBCollection empColl = db.getCollection("employees");
 for(int i=0; i<100; i++){
	 //Queues the object to be inserted
   empColl.insert(dbObject[i], com.ibm.nosql.json.api.WriteConcern.NORMAL); 
 }
//Waits until all work sent from this thread on this db instance is processed 
db.waitQueue();