venerdì 28 maggio 2010

Leggere e Scrivere con Cassanda in VB.Net

Ecco un primo esempio di applicazione in vb.net che scrive e legge dei dati su Cassandra utilizzando l’interfaccia HectorSharp (http://hectorsharp.com/). Basta scaricare il progetto HectorSharp e compilarlo per avere le librerie necessarie allo scopo. Ovviamente, bisogna creare il riferimento alla libreria di HectorSharp nel nostro progetto.

In questo esempio utilizzeremo il keyspace di default installato con Cassandra (Keyspace1) e una column family sempre di default (Standard1).

Creeremo nella column family una column che chiameremo "MyColumn" e ci metteremo dentro un valore.

Per questo esempio utilizzeremo un’applicazione Web in cui ci sarà una label, denominata “lbltest”, in cui visualizzeremo il valore che recupereremo da Cassandra.

Imports HectorSharp

[…]

'connessione al db
Dim cf As New KeyedCassandraClientFactory(New CassandraClientPoolFactory().Create(), _
New KeyedCassandraClientFactory.Config())
Dim client = cf.Make(New Endpoint("localhost", 9160))

'definizione db (keyspace)
Dim keyspace = client.GetKeyspace("Keyspace1")

'Dim path = New ColumnPath(nome columnfamily, nome supercolumn, nome column)
Dim path = New ColumnPath("Standard1", "", "MyColumn")

'inserimento di un valore in db
keyspace.Insert("0", path, "My new value")

'recupero del valore
Dim column As Column = keyspace.GetColumn("0", path)

lbltest.Text = column.Value


Come potete vedere, lavorare con Cassandra utilizzando HectorSharp è veramente molto semplice ed intuitivo.

Installazione di Cassandra su Windows

Installare Cassandra Project (http://cassandra.apache.org/) su Windows è molto semplice, forse più semplice che su Linux.

Essendo un motore DB scritto in Java, l'unico prerequisito di cui necessita è che sulla macchina su cui si vuole far girare Cassandra ci sia installato Java 1.6 (Conviene utilizzare sempre il JDK più aggiornato).

Dopo aver installato Java, bisogna scaricare l'archivio tar.gz dal sito ufficiale e scompattarlo in una cartella a scelta (In questo esempio utilizzeremo "C:\Cassandra").

Ora, bisogna fare un minimo di configurazione. Aprire il file "C:\Cassandra\conf\storage-conf.xml" e cambiare i valori di default dei nodi sottostanti in questo modo:

<commitlogdirectory>C:\Cassandra\commitlog</commitlogdirectory>
<datafiledirectories>
<datafiledirectory>C:\Cassandra\data</datafiledirectory>
</datafiledirectories>

Nota: è buona norma utilizzare due dischi diversi per i commitlog e per i dati.

Infine, bisogna settare come variabile di sistema "CASSANDRA_HOME" con valore "C:\Cassandra"

Fatto questo, si può lanciare il file "C:\Cassandra\bin\cassandra.bat" per far partire il server.

Ok, a questo punto il vostro server Cassandra sarà "up-n-running".


Per testare se tutto è ok, potete lanciare "C:\Cassandra\bin\cassandra-cli.bat" e poi dare il comando:

connect localhost/9160

Se tutto funziona la risposta sarà "Connected to: "Test Cluster" in localhost/9160 "


Buon lavoro :)