1. 다운로드
리눅스 및 맥, 윈도우즈등 다양한 플랫폼을 지원한다.
http://www.planetcassandra.org/cassandra/
2. 설치
윈도우환경에서 개발할 것이므로 윈도우 MSI installer를 다운로드받고 설치를 한다. 설치 과정은 특별히 선택할게 없었다.
설치 후 윈도우 메뉴에서 아래의 이미지처럼 설치 결과를 확인할 수 있다.
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