본문 바로가기

Cassandra

Cassandra - Index 설정하기 Cassandra는 index가 아니면 조회 조건으로 사용 할 수 없다. index 생성 문은.... CREATE INDEX state_key ON users (state);CREATE INDEX index명 ON table명 (column명); 더보기
Cassandra - Set, List, Map 사용하기 카산드라는 collection 을 column 값(value)으로 입력 할 수 있다. collection의 종류 로는 set, list, map 이 있다. 생성과 사용 법은 아래 글을 보자 CREATE TABLE users (user_id text PRIMARY KEY,emails set,groups list,option map); INSERT INTO users (user_id, emails, groups, option)VALUES ('doubleP', {'purepleya@gmail.com'}, ['home', 'company'], {'java' : 3, 'python' : 2}); SETUPDATE usersSET emails = emails + {'ma-pd@nate.com'}WHERE user_.. 더보기
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 - Keyspace 에 생성된 column family(table) 조회 Keyspace 조회 방법SELECT * FROM system.schema_keyspaces;또는DESC KEYSPACES; Column Family 조회 방법SELECT columnfamily_name, commentFROM system.schema_columnfamiliesWHERE keyspace_name = 'test'; 더보기
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"를 사용. 더보기
Cassandra - USER 관리 (CQL) ALTER USERALTER USER user_name WITH PASSWORD 'password' NOSUPERUSER | SUPERUSER; CREATE USERCREATE USER user_name WITH PASSWORD 'password' NOSUPERUSER | SUPERUSER; DROP USERDROP USER user_name; LIST USERSLIST USERS; 더보기