nosql:connect_read_write_oracle_nosql_db_11gr2
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
nosql:connect_read_write_oracle_nosql_db_11gr2 [2013/06/26 10:59] – [Wert aus dem Store auslesen, bearbeiten und prüfen ob der Wert sich in zwischen geändert hat] gpipperr | nosql:connect_read_write_oracle_nosql_db_11gr2 [2013/06/26 11:01] – [Wert aus dem Store auslesen, bearbeiten und prüfen ob der Wert sich in zwischen geändert hat] gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== 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 => [[nosql: | ||
+ | |||
+ | Aufruf: | ||
+ | <code java> | ||
+ | |||
+ | // Node liste | ||
+ | | ||
+ | | ||
+ | // Config erzeugen | ||
+ | | ||
+ | | ||
+ | // Consistency definieren | ||
+ | | ||
+ | |||
+ | // Durabiltiy definieren | ||
+ | | ||
+ | | ||
+ | // Store Zugriff öffnen | ||
+ | | ||
+ | | ||
+ | | ||
+ | // Mit dem Store arbeiten | ||
+ | // ---------- | ||
+ | .... | ||
+ | // ---------- | ||
+ | | ||
+ | | ||
+ | // Store wieder schließen | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Dokumentation: | ||
+ | |||
+ | ==== Wert in den Store schreiben ==== | ||
+ | |||
+ | Die einfachste Methode eine Wert in den Store zuschreiben ist die Methode put der Klasse KVstore: | ||
+ | |||
+ | Beispiel: | ||
+ | <code java> | ||
+ | // Key mit Minor und Mayer Komponente anlegen | ||
+ | Key k = Key.createKey(" | ||
+ | // Wert als Byte Array anlegen | ||
+ | | ||
+ | // Wert in den Store schreiben | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Existiert der Key wird der Wert überschrieben. | ||
+ | |||
+ | Dokumentation : [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | ==== Wert aus dem Store auslesen ==== | ||
+ | |||
+ | <code java> | ||
+ | // Key erzeugen | ||
+ | Key datakey = Key.createKey(" | ||
+ | |||
+ | // Daten aus dem Store mit den Key wieder lesen | ||
+ | | ||
+ | // Daten auslesen | ||
+ | Value vdata = vv.getValue(); | ||
+ | |||
+ | // Nutzdaten wieder herstellen | ||
+ | | ||
+ | // Daten ausgeben | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | Dokumentation: | ||
+ | |||
+ | ==== putIfVersion() | ||
+ | |||
+ | Jeder Satz im Store hat eine interne Versionsnummer, | ||
+ | |||
+ | |||
+ | <code java> | ||
+ | // Schlüssel erzeugen | ||
+ | // nur der Mayor Part wird gefüllt | ||
+ | Key datakey = Key.createKey(mayorkey); | ||
+ | | ||
+ | // Daten aus dem Store wieder lesen | ||
+ | ValueVersion vv = kvstore.get(datakey); | ||
+ | // Version merken | ||
+ | Version matchVersion = vv.getVersion(); | ||
+ | // Value auslesen | ||
+ | Value vdata = vv.getValue(); | ||
+ | String data = new String(vdata.getValue()); | ||
+ | System.out.println(" | ||
+ | | ||
+ | //Daten ändern | ||
+ | data=" | ||
+ | vdata = Value.createValue(data.getBytes()); | ||
+ | | ||
+ | // wert wieder zurückschreiben | ||
+ | Version newVersion = kvstore.putIfVersion(datakey, | ||
+ | | ||
+ | // falls Null konnte nicht zurückgeschrieben werden | ||
+ | // | ||
+ | if (newVersion == null) { | ||
+ | //Auf den fehlgeschlagenen Versuch nun reagieren | ||
+ | throw new MyException(" | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | ==== Gesamten Store auslesen ==== | ||
+ | |||
+ | Beispiel: Zählen aller Datensätze in einem Store mit Hilfe des storeIterator der Klasse KVstore. | ||
+ | |||
+ | <code java> | ||
+ | public static void countAll() { | ||
+ | |||
+ | // Iterator Objekt für den gesamten Store erstellen | ||
+ | // zur Zeit (R2) wird nur die Direction.UNORDERED untersützt | ||
+ | Iterator< | ||
+ | |||
+ | int storeCount = 0; | ||
+ | |||
+ | while (ifulldb.hasNext()) { | ||
+ | |||
+ | // Key aus dem Store laden | ||
+ | KeyValueVersion e = ifulldb.next(); | ||
+ | storeCount++; | ||
+ | } | ||
+ | |||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Quellen ==== | ||
+ | |||
+ | Beispiele: | ||
+ | * http:// |
nosql/connect_read_write_oracle_nosql_db_11gr2.txt · Zuletzt geändert: 2013/08/19 15:12 von gpipperr