1. 다운로드
리눅스 및 맥, 윈도우즈등 다양한 플랫폼을 지원한다.
http://www.planetcassandra.org/cassandra/
![](https://t1.daumcdn.net/cfile/tistory/274A9C4557341E1922)
2. 설치
윈도우환경에서 개발할 것이므로 윈도우 MSI installer를 다운로드받고 설치를 한다. 설치 과정은 특별히 선택할게 없었다.
설치 후 윈도우 메뉴에서 아래의 이미지처럼 설치 결과를 확인할 수 있다.
![](https://t1.daumcdn.net/cfile/tistory/2214353F57341E9A21)
3. 실행 및 데이터베이스 생성
Cassandra CQL Shell을 실행하면 카산드라 콘솔이 생성되며 아래의 스크립트를 추가해본다.
(본 블로거도 카산드라 초보이므로 카산드라 웹사이트에서 참고하여 대충 만들었다.)
CREATE KEYSPACE demo
WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
CREATE TABLE demo.users (
lastname text PRIMARY KEY,
age int,
city text,
email text,
firstname text
);
DROP TABLE demo.users;
4. C# 프로젝트
Nu-Get을 통하여 driver를 설치
Install-Package CassandraCSharpDriver
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Cassandra;
namespace CassandraSample
{
class Program
{
static void Main(string[] args)
{
Cluster cluster = Cluster.Builder().AddContactPoint("127.0.0.1").Build();
ISession session = cluster.Connect("demo");
session.Execute("insert into users (lastname, age, city, email, firstname) values ('Jones', 35, 'Austin', 'bob@example.com', 'Bob')");
Row result = session.Execute("select * from users where lastname = 'Jones'").First();
Console.WriteLine("{0} {1}", result["firstname"], result["age"]);
Console.ReadLine();
session.Execute("update users set age = 36 where lastname = 'Jones'");
Row result2 = session.Execute("select * from users where lastname = 'Jones'").First();
Console.WriteLine("{0} {1}", result2["firstname"], result2["age"]);
Console.ReadLine();
session.Execute("delete from users where lastname = 'Jones'");
RowSet rows = session.Execute("select * from users");
foreach (Row row in rows)
Console.WriteLine("{0} {1}", result2["firstname"], result2["age"]);
Console.ReadLine();
}
}
}
5. 결론
그냥 실행만 해보는 수준이다 보니 카산드라가 다른 NoSQL이나 MSSQL과 같은 DB에서 지원하는 기능을 얼마나 지원해주고 더 나은 부분을 확인은 할 수 없었다. 다만, 위에 보는 거와 같이 쉽게 연동이 가능해 보이며 ANSI SQL을 지원하기에 이미 MSSQL, ORACLE, MYSQL의 DB를 사용해본 사람이라면 쉽게 접근할 수 있지 않을까 싶다.
Reference: https://academy.datastax.com/resources/getting-started-apache-cassandra-and-c-net