Symfoware

Symfowareについての考察blog

Oracle NoSQL DatabaseへJavaでデータの登録、検索、削除

Oracle NoSQL Databaseをインストールしてみました。
Debian squeezeにOracle NoSQL Databaseをインストールする


別の端末から、データの登録や検索を行うプログラムを作成してみます。


設定の変更



データベースの設定を行うとき「localhost」と指定していましたが、
どうやら別の端末から接続する時は、これでは都合が悪いようです。

一旦、データフォルダを削除し、以下の内容で設定をやり直しました。


# /opt/kv-1.1.100/bin/kvctl runadmin -port 5000 -host localhost
kv-> configure mystore
kv-> plan -execute -name "Deploy DC" deploy-datacenter "Boston" "Savvis"
1
kv-> plan -execute -name "Deploy n01" deploy-sn 1 192.168.1.4 5000 "comment"
2
kv-> plan -execute -name "Deploy admin" deploy-admin 1 5001
3
kv-> addpool BostonPool
kv-> show topology
dc=[dc1] name=Boston
sn=[sn1] dc=dc1 192.168.1.4:5000 status=RUNNING

kv-> joinpool BostonPool 1
AllStorageNodes: sn1
BostonPool: sn1

kv-> plan -execute -name "Deploy the store" deploy-store BostonPool 1 300
4




「192.168.1.4」がテスト端末のIPアドレスです。
DNSが正しく設定されている場合は、端末名のほうがよいと思います。






依存しているjarファイル



データベースへの接続に必要なjarファイルは、lib/kvclient-1.1.100.jarのみでした。
これをコピーして、ビルドパスに含めておきます。






サンプル



簡単な登録、検索、削除を行うサンプルはこんな感じになりました。


package sample;

import oracle.kv.KVStore;
import oracle.kv.KVStoreConfig;
import oracle.kv.KVStoreFactory;
import oracle.kv.Key;
import oracle.kv.Value;
import oracle.kv.ValueVersion;


public class MainProccess {
    
    public static void main(String[] args) throws Exception {
        KVStore store = null;
        String storeName = "mystore";
        String hostName = "192.168.1.4";
        String hostPort = "5000";
        
        //キーストアを作成
        store = KVStoreFactory.getStore(new KVStoreConfig(storeName, hostName + ":" + hostPort));
        
        //登録するキーとデータ
        String keyString = "TestKey";
        String valueString = "日本語のテストデータ";
        
        //データの登録
        store.put(Key.createKey(keyString), Value.createValue(valueString.getBytes()));
        
        //データの取得
        ValueVersion valueVersion = store.get(Key.createKey(keyString));

        System.out.println(keyString + " " + new String(valueVersion.getValue().getValue()));
        
        //データの削除
        store.delete(Key.createKey(keyString));
        
        valueVersion = store.get(Key.createKey(keyString));
        if (valueVersion == null) {
            System.out.println("valueVersion is null.");
        } else {
            System.out.println(keyString + " " + new String(valueVersion.getValue().getValue()));
        }
        
        store.close();        
    }
}





実行結果。

TestKey 日本語のテストデータ
valueVersion is null.






関連記事

テーマ:データベース - ジャンル:コンピュータ

  1. 2011/10/30(日) 00:00:52|
  2. Oracle
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<bitbucket アカウントとリポジトリの作成 | ホーム | Debian squeezeにOracle NoSQL Databaseをインストールする>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/834-3b74cd73
この記事にトラックバックする(FC2ブログユーザー)