nosql:connect_read_write_oracle_nosql_db_11gr2
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Die Oracle NoSQL DB abfragen
Verbindung zum Store aufbauen
Über die Factory Klasse KVStoreFactory wird mit Hilfe der Klasse KVStoreConfig die Verbindung zu einem Store aufgebaut.
Notwendige Parameter:
- Name des Stores
- Liste mit den SN Nodes für den Zugriff auf den Store
- Parameter für Consistency und Durability definieren siehe ⇒ Übersicht Key-Value Store der Orace NoSQL DB 11g R2
Aufruf:
// Node liste String[] kvhosts = {"nosqldb01:5000","nosqldb02:5000","nosqldb03:5000"} // Config erzeugen KVStoreConfig kvconfig = new KVStoreConfig("GPIDB", kvhosts); // Consistency definieren kvconfig.setConsistency(Consistency.NONE_REQUIRED); // Durabiltiy definieren kvconfig.setDurability(Durability.COMMIT_NO_SYNC); // Store Zugriff öffnen KVStore kstore = KVStoreFactory.getStore(kvconfig); // Mit dem Store arbeiten // ---------- .... // ---------- // Store wieder schließen kstore.close();
Dokumentation: KVstore Connect
Wert in den Store schreiben
Die einfachste Methode eine Wert in den Store zuschreiben ist die Methode put der Klasse KVstore:
Beispiel:
// Key mit Minor und Mayer Komponente anlegen Key k = Key.createKey("MAIN_KEY", "SLAVE_KEY"); // Wert als Byte Array anlegen byte[] b = ("Wert").getBytes(); // Wert in den Store schreiben kvstore.put(k, Value.createValue(b));
Existiert der Key wird der Wert überschrieben.
Dokumentation : KVstore put
Wert aus dem Store auslesen
// Key erzeugen Key datakey = Key.createKey("ABCDEFG"); // Daten aus dem Store mit den Key wieder lesen ValueVersion vv = kvstore.get(datakey); // Daten auslesen Value vdata = vv.getValue(); // Nutzdaten wieder herstellen String data = new String(vdata.getValue()); // Daten ausgeben System.out.println(data);
Dokumentation: Simple Read
Gesamten Store auslesen
Beispiel: Zählen aller Datensätze in einem Store mit Hilfe des storeIterator der Klasse KVstore.
public static void countAll() { // Iterator Objekt für den gesamten Store erstellen // zur Zeit (R2) wird nur die Direction.UNORDERED untersützt Iterator<KeyValueVersion> ifulldb = kvstore.storeIterator(Direction.UNORDERED, 10); int storeCount = 0; while (ifulldb.hasNext()) { // Key aus dem Store laden KeyValueVersion e = ifulldb.next(); storeCount++; } System.out.println(" --------------------------------------"); System.out.println(" -- Total Count of Records in the Database :: " + storeCount); System.out.println(" --------------------------------------"); }
Quellen
nosql/connect_read_write_oracle_nosql_db_11gr2.1372081962.txt.gz · Zuletzt geändert: 2013/06/24 15:52 von gpipperr