본문 바로가기

cql

Cassandra - Pycassa에서 CQL3 사용하기!!!! Python에서 Cassandra db를 사용하기 위한 도구로 Pycassa (https://github.com/pycassa/pycassa) 와 cassandra-dbapi2(https://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/) 가 대표적이다. Pycassa 는 커넥션 풀기능이 좋으나 cql3를 사용하기가 번거롭고 cassandra-dbapi2는 cql3를 사용하기 쉬우나 커넥션 풀 기능이 약하다. java로 프로그래밍한다면 jdbc가 있으니까 다운받아서 사용하면 좋지만 python을 포기하기 싫어서 이래저래 알아보던중, cassandra-dbapi2 코드 중 일부를 가져와 Pycassa에서 쉽게 cql3를 사용 할 수 있도록 플러그인(?).. 더보기
Cassandra - Table(Column Family) 생성, 수정 (CQL) 예제로 보자생성CREATE TABLE emp ( empID int, deptID int, first_name varchar, last_name varchar, PRIMARY KEY (empID, deptID)); 칼럼을 추가하고 싶을때ALTER TABLE users ADD coupon_code varchar; 칼럼의 데이터 타입을 변경하고 싶을때 ALTER TABLE users ALTER coupon_code TYPE int; 테이블 삭제(Drop)DROP TABLE users; 특정 로우의 칼럼 삭제 DELETE session_token FROM users where pk = 'jsmith'; 특정 로우 삭제 DELETE FROM users where pk = 'jsmith'; 데이터를 입력할때는INS.. 더보기
Cassandra - CQL 데이터 타입 출처 : http://www.datastax.com/docs/1.2/cql_cli/cql_data_types CQL TypeConstantsDescriptionasciistringsUS-ASCII character stringbigintintegers64-bit signed longblobblobsArbitrary bytes (no validation), expressed as hexadecimalbooleanbooleanstrue or falsecounterintegersDistributed counter value (64-bit long)decimalintegers, floatsVariable-precision decimaldoubleintegers64-bit IEEE-754 floating poin.. 더보기
Cassandra - Keyspace 생성, 관리 (CQL) keyspace : RDB에서 database와 같은 개념 생성CREATE KEYSPACE demodb WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 3}; 삭제DROP KEYSPACE demodb; 사용USE demodb; 수정ALTER KEYSPACE "Excalibur" WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 }; ※ REPLICATION 옵션 중 "SimpleStrategy" 는 단일 데이터 센터일 경우, 멀티 데이터 센터일 경우 "NetworkTopologyStrategy"를 사용. 더보기