Interesting enough as I was reading through the Apache Cassandra website I came across an excellent post they linked to detailing why that particular company had chosen Cassandra. It was not until after I read about half way through the post that I realized it was written by one of the Akka.net guys Aaron Stannard. If you are not sure Cassandra is worth the investment in time I urge you to read his post especially the comments it will I am sure change your mind.
Since my goal is to use this with the Dot Net Platform having a C# driver is extremely important. Datastax wrote their own driver which runs on Framework 4.0. They also provide nice documentation and how tos which is extremely helpful. One other awesome DB that I will also investigate is Foundation DB since it also has a supported driver but it's a little more restrictive in its use.
The free version is the exact same software. The only difference is that you're limited to 6 processes in production. Development and testing processes are unlimited.The team at Foundation DB have a great product but when I first investigated it's use about a year ago the Dot Net Story was not that strong. Now with all the recent changes I am looking forward to giving it another go. In fact I am planning on testing it against Cassandra once I have built my initial prototype.
One last thing about Event Stores before I continue, on the Dot Net Side there is a great project called NEventStore which has already done all the hard work with whole bunch of different DBs out of the box, like Ravendb and Mongodb, which can be an excellent solution as well as another great product called EventStore which some may consider the gold standard for Event Stores.
Besides the C# driver provided by Datastax there are a few others like Fluent Cassandra but it was recommended to me by one of the contributors to Fluent Cassandra that if I was using the latest build of database that I might be better of using the Datastax driver.
As a part of my setup I decided to download Cassandra directly from the Apache Cassandra website not using the Datastax download. The setup was simple enough, just follow these simple steps.
- Download the database .gz file from Apache Cassandra website
- Extract the .gz it to a local directory on your windows machine using a tool like Peazip.
- Download python 2.x version (skip to step 5 if you already have python installed)
- Install python with the msi
- Add the python path under System Properties -> Environmental Variables -> System Variables ->Path
- Ensure you have the Java installed with the latest version if not download and install it.
- Ensure that the path has for Java has been added System Properties -> Environmental Variables -> System Variables ->Path
- Open a command prompt under administrator
- Navigate to the bin directory under the parent directory you extract Cassandra to.
- Finally type cassandra -f and you will have a running Cassandra db.
|System Properties -> Environmental Variables -> System Variables ->Path|
At some point I will get Docker working properly on windows with casandra container but this setup will do nicely for now. Next time I will just do a quick demostration on what its like to interact with the datastax C# driver then from there I will demonstrate a basic event store.
Thanks for reading....