Friday, May 28, 2010

Read and Write with Cassandra in Vb.Net

This is a first example of application in that write and read datas using Cassandra and HectorSharp interface( Just download HectorSharp and compile it to create libraries for your project. Obviously, we need to create a referenco to the HectorSharp library in our project before we can use it.

In this example we use the default keyspace of Cassandra (Keyspace1) and also a default Cassandta column family (Standard1).

We'll create a column called "MyColumn" in the column family and we'll put in a value.

For this purpose, we'll use a Web Application with label, called “lbltest”, where we'll show data picked from Cassandra.

Imports HectorSharp


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

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

'Dim path = New ColumnPath(columnfamily name, supercolumn name (if present), column name)
Dim path = New ColumnPath("Standard1", "", "MyColumn")

'insert a value in db
keyspace.Insert("0", path, "My new value")

'get the value
Dim column As Column = keyspace.GetColumn("0", path)

lbltest.Text = column.Value

How you can see, working with Cassandra using HectorSharp is really simple.

Installing Cassandra in Windows

Installing Cassandra Project ( Windows is really simple, maybe more the do it on Linux.

Cassandra is a BD engine written in Java, the only requirements to install it is Java 1.6 (Is better to use the most up-to-date version).

After installing Java, download the tar.gz archive for the official site and then untar it in the chosen folder (For this example we use "C:\Cassandra").

Well, now just do a bit of configuration. Open "C:\Cassandra\conf\storage-conf.xml" and change default value of the nodes below to:


Note: normally is better to use two different disks for commit logs and datas.

Finally, we have to set "CASSANDRA_HOME" as system variable with value "C:\Cassandra"

So, now we can launch "C:\Cassandra\bin\cassandra.bat" to start the Cassandra Server.

Ok, at this point the Cassandra server will be "up-n-running".

To test it, we can launch "C:\Cassandra\bin\cassandra-cli.bat" and then give the command:

connect localhost/9160

If all works, we'll have this answer: "Connected to: "Test Cluster" in localhost/9160"

Enjoy :)