제품 여행

기획연재[6] CUBRID 제품 분석 – 클릭카운터

by cubebridge posted Jun 07, 2010
이번 제품 분석에서는 클릭카운터 기능에 대해서 알아보도록 한다.

인터넷 서비스 중 접속자의 관심도 등을 알아 볼 수 있는 방법으로 조회수를 확인한다. 현재 많은 인터넷 서비스에서 조회수를 이용한 관심도 및 서비스 이용량 정도를 파악하고 있다. 이를 위하여 CUBRID에서는 클릭카운터 함수를 지원한다. 

클릭카운터란 인터넷 서비스 중 조회수 증가를 위한 select/update작업을 한번에 처리해 주는 기능을 말한다. 이는 사용자 정의 트랜잭션과 별도로 시스템 내부에서 사용되는 top operation이 적용되어 트랜잭션의 commit/rollback과 상관없이 데이터베이스에 자동으로 적용된다.

클릭카운터 기능을 사용하기 위해 사용하는 함수로는 INCR/DECR함수가 있다. INCR는 1씩 증가, DECR는 1씩 감소하는 함수이다. 각 함수는 select문의 최상위 구문에서만 적용되어 사용되며 sub select문에서는 지원하지 않는다.

select절에 INCR 함수를 명시한 경우, COUNTER 값을 1 증가하고 질의 결과는 증가하기 전의 값으로 출력한다. 그리고, INCR 함수는 질의 처리 과정에서 참여한 행(tuple)이 아니라 최종 결과에 참여한 행에 대해서만 값을 증가시킨다.

아래는 incr함수의 사용 예를 보여준다.

csql>SELECT content, INCR(read_count) FROM board WHERE id = 1;

terminal3.jpg


클릭카운트 사용 중 유의할 사항은 아래와 같다.
- 하나의 SELECT 문에 INCR/DECR 함수를 여러 개 사용할 경우, 해당 질의 내의 각각의 INCR/DECR 함수 중 하나라도 실패하면 전부 실패된다.
- INCR/DECR 함수는 숫자 형식의 도메인에 대해서만 사용할 수 있다. 적용 가능한 도메인은 SMALLINT, INTEGER와 같은 정수형 데이터 타입으로 제한된다. 기타 도메인에는 사용할 수 없다.

기타 자세한 사항은 큐브리드 홈페이지 온라인 매뉴얼을 참조하기 바란다