Background Image
  1. 인덱스, 아는 만큼 보인다!......DBMS 개발...

    인덱스, 아는 만큼 보인다! DBMS 개발자가 전하는 인덱스 활용 노하우 고성능 서비스를 구축하기 위한 DB 쿼리 튜닝의 핵심은 인덱스를 얼마나 잘 활용하는가에 달려 있다. 지난 3년 동안 CUBRID를 NHN 내/외부 서비스에 적용하면서 의외로 많은 개발자들이 DB 인덱스에 대해 “잘” 알지 못하고 “잘” 활용하지 못한다는 것을 발견하였다. 본 기고문에서는 6월 30일에 출시된 CUBRID 2008 R4.0에 적용된 다양한 인덱스 기법을 중심으로 인덱스 구조와 인덱스 활용 노하우를 쉽게 설명하고자 한다. 단, MySQL, MS-SQL, Oracle 등 다른 DBMS에서도 이와 동일/유사한 인덱스 기법이 적용되어 있으므로 본 기고문에서 소개할 인덱스 활용 노하우가 CUBRID에 국한되지 않는다는 점을 강조하고 싶다. * 본 게시글은 월간 마이크로소프트웨어 8월호에 게재된 내용의 원작입니다. 월간 마이크로소프트웨어에서는 약간 내용이 줄어서 게재된 관계로 본 게시글과 차이가 있을 수 있습니다. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 강동완 | NHN Bu...
    Date2011.08.12 Category제품 여행 Byadmin Views31871
    Read More
  2. 죽지 않아야 한다. 날리지 말아야 한다. 빨...

    무중단 서비스를 위한 DB 서버 이중화 구축 죽지 않아야 한다. 날리지 말아야 한다. 빨라야 한다. * 본 게시글은 월간 마이크로소프트웨어 7월호에 게재된 내용입니다. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 오보명 obm@nhn.com | NHN Business Platform 서비스 플랫폼 개발 센터에서 플랫폼 확산 업무 및 오픈소스 라이선스 컨설팅 업무를 담당하고 있다. 4년 전 CUBRID라는 국산 DBMS와 인연을 맺은 이후, CUBRID 의 국내/해외 확산 업무를 담당하고 있으며 CUBRID 글로벌 커뮤니티 사이트(http://cubrid.org)를 운영하면서 전세계 개발자들과 소통하고 있다. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2011년 6월 17일(금) 자정 00:00부터 오전 09:30분까지 국내 홈쇼핑 선두 업체의 쇼핑 사이트가 시스템 점검을 이유로 서비스 운영을 일시 중단했다. 해당 업체의 2010년 매출액과 ...
    Date2011.08.03 Category제품 여행 Byadmin Views48855
    Read More
  3. 기획연재[6] CUBRID 제품 분석 – 클릭카운터

    이번 제품 분석에서는 클릭카운터 기능에 대해서 알아보도록 한다. 인터넷 서비스 중 접속자의 관심도 등을 알아 볼 수 있는 방법으로 조회수를 확인한다. 현재 많은 인터넷 서비스에서 조회수를 이용한 관심도 및 서비스 이용량 정도를 파악하고 있다. 이를 위하여 CUBRID에서는 클릭카운터 함수를 지원한다. 클릭카운터란 인터넷 서비스 중 조회수 증가를 위한 select/update작업을 한번에 처리해 주는 기능을 말한다. 이는 사용자 정의 트랜잭션과 별도로 시스템 내부에서 사용되는 top operation이 적용되어 트랜잭션의 commit/rollback과 상관없이 데이터베이스에 자동으로 적용된다. 클릭카운터 기능을 사용하기 위해 사용하는 함수로는 INCR/DECR함수가 있다. INCR는 1씩 증가, DECR는 1씩 감소하는 함수이다. 각 함수는 select문의 최상위 구문에서만 적용되어 사용되며 sub select문에서는 지원하지 않는다. select절에 INCR 함수를 명시한 경우, COUNTER 값을 1 증가하고 질의 결과는 증가하기 전의 값으로 출력한다. 그리고, INCR 함수는 질의 처리 과정에서 참여한 행(tuple)이 아니라 최종 결과에 참여한 행에 대해서만 값을 증가시킨다. 아래는 incr함수의 사용 ...
    Date2010.06.07 Category제품 여행 Bycubebridge Views38161
    Read More
  4. 기획연재[5] CUBRID 제품 분석 – CUBRID서비...

    이번 시간에는 CUBRID 서비스 제어에 대해서 간략하게 소개하도록 하겠다. 이전 제품여행을 탐독(?) 했던 독자들은 CUBRID 구조에 대한 내용을 기억하고 있을 것이다. 다시 간략하게 상기 시킨다면 아래와 같다. 1. Database서버 – 데이터가 저장 2. Broker – CUBRID와 AP를 연결해 주는 미들웨어 3. CUBRID Manager Server – CUBRID와 Broker를 관리해 주는 관리 프로그램 위에 소개된 부분은 각각의 구동이 가능한 CUBRID의 제품군들이다. 각각의 제어 방법을 소개하면 아래와 같다. 1. Database서버 구동/정지 – cubrid server start <db_name>/cubrid server stop <db_name> 2. Broker 구동/정지 – cubrid broker start/cubrid broker stop 3. CUBRID Manager Server 구동/정지 – cubrid manager start/cubrid manager stop 하지만 위와 같이 각각의 구동은 잘 사용하지 않는다. CUBRID에서는 위의 각각의 작동을 한번에 제어하는 명령어를 제공하고 있으며 이를 좀더 효율적으로 사용하기 위한 몇 가지 parameter설정 방법을 알려주도록 하겠다. 현재 CUBRID 서비스를 일괄 구동하기 위한 방법은 “cubrid service start”라는 명령어를 통하여 이루어진다. 그렇다면 “cubri...
    Date2010.03.03 Category제품 여행 Bycubebridge Views35649
    Read More
  5. 기획연재[4] CUBRID 제품 분석 – CSQL 인터...

    CUBRID의 구조에 대해서 간략하게 맛보았다. 모든 DBMS 사용자가 DB에 접속하려고 책상 앞에 앉았다면, 가장 먼저 찾는 것이 무엇일까? 어떤 것이나 마찬가지겠으나 우리는 DBMS와 소통이 필요하다.(몇 년째 화두인…^^) 소통의 통로를 각 DBMS는 sqlplus, mysql, pgsql 등의 인터프리터로 만들어 놓았다. CSQL이란 바로 이와 같이 사용자와 DBMS가 소통할 수 있는 기본적인 통로라 할 수 있겠다. 물론 많은 3rd party툴과 이미 1회에서 소개했던 여러 가지 오픈 소스 툴을 이용하여 CUBRD와 소통할 수도 있겠으나 조금 더 가까이에서 조금 더 깊게 DBMS를 건드려 보도록 하자. CSQL을 무엇에 쓸 것인가? 크게 두 가지를 위해 CSQL은 사용된다. 1. SQL명령어를 수행하기 위해서 사용된다. 2. DBA가 관리를 위해 수행하는 업무를 받아들이는 통로로 사용된다. 1번은 3rd party의 다양한 툴들이 해결해 줄 수 있는 문제이겠지만… 2번의 경우는 오직 CUBRID를 위해서만 제공되는 CSQL에서만 가능한 것이다. CSQL과 CUBRID Manager Client, 3rd party 툴 등과의 차이점은 무엇인가? - CSQL은 Broker를 통하지 않고 DB에 직접 접속한다. Broker에서의 발생하는 문제는 CSQL접속에 아...
    Date2010.01.25 Category제품 여행 Bycubebridge Views38727
    Read More
  6. 기획연재[3] CUBRID 제품 분석 – CUBRID제품...

    CUBRID 기획 연재 시리즈로 지난 시간 CUBRID기반의 지원 툴에 대해서 알아보았다. 지난 시간에 예로 들었던 모든 툴들의 사용법은 홈페이지 개발자->튜토리얼에 있으니 참조하고 부족한 부분이나 이해되지 않는 부분에 대해서는 덧글로 문의 바란다. CUBRID를 처음 접하는 사람들이 가장 궁금해 할 것이 무엇인가 고민하다가 이번 시간에는 CUBRID제품 구조에 대해서 간략하게 다뤄보려고 한다. CUBRID와 타 DBMS의 가장 두드러진 차이점이 무엇일까? 여러가지가 있겠으나 하나 꼽는다면 DB와 AP가 연결되는 구조라고 할 수 있겠다. 어떤 구조를 이야기 하는 것인가? 2-Tier, 3-Tier에 대한 이야기다. 각각에 대해서 간략하게 설명하는 아래와 같다.(S/W관점에서 이야기 하겠다.) 1) 2-Tier : Client Side에 프리젠테이션/비지니스 로직을 작성하고, Server Side에는 데이터베이스가 위치하는 구조이다. 많이 알고 있는 대부분의 DBMS는 2-Tier구조로 되어 있다. 2) 3-Tier : Client Side에 프리젠테이션 로직을 작성하고, Server Side에 비지니스 로직과 데이터베이스가 위치하는 구조이다. 인터넷 서비스를 예로 들면 Application Server와 Database Server라고 볼 수 있으...
    Date2009.12.30 Category제품 여행 Bycubebridge Views36733
    Read More
  7. 기획연재[2] CUBRID 제품 분석 – CUBRID 지...

    CUBRID 기획 연재 시리즈로 지난 CUBRID Manager에 이어 이번에는 CUBRID기반의 지원 툴에 대해서 알아보기로 한다. CUBRID는 기본적으로 JDBC, ODBC, OLEDB 등을 지원한다. CUBRID Manager(이하 CM)는 기본적으로 JDBC를 이용해 쿼리를 수행을 지원하고 있는데, JDBC 연결 툴에는 어떤 것들이 있는지 살펴보도록 한다. 이미 살펴본 사용자라면 CUBRID홈페이지(http://www.cubrid.com/zbxe/bbs_developer_tutorial)에서 해당 툴들을 한번씩 봤을 것이다. 아래는 언급된 CM지원 툴 이외에 CUBRID기반의 모든 가능한 지원 툴에 대해서 간략히 부연 설명을 한 것이다. CUBRID의 JDBC 먼저 JDBC를 이용하여 CM이 아닌 제 3의 툴에서 CUBRID에 접속하도록 하자. CUBRID JDBC는 CUBRID를 설치하게 되면 $CUBRID/jdbc경로에 있다. 이는 windows를 이용하는 사용자가 앞으로의 살펴볼 제 3의 툴에서 가장 먼저 알아둬야 할 경로일 것이다. CUBRID JDBC의 이름은 cubrid_jdbc.jar이다. SQuirreL SQL(http://squirrel-sql.sourceforge.net) Squirrel SQL은 오픈 소스이며, JDBC를 이용하여 다수의 DBMS에 접근이 가능하다. sourceforge에서 다운로드 받을 수 있으며, 버전에 따라 요구하...
    Date2009.11.27 Category제품 여행 Bycubebridge Views35138
    Read More
  8. 기획연재[1] CUBRID 제품 분석 – CUBRID Man...

    최근 DBMS 업계의 움직임이 심상치 않다. 오라클의 MySQL인수와 더불어 IBM의 공격이 날로 거세지고 있는 가운데, 국내 업체들도 선전을 하고 있는 듯 하다. 이러한 최근 상황을 반영이라도 하듯 얼마전 NHN의 큐브리드 교체설에 대한 기사와 함께 큐브리드의 다운로드 수치는 매월 4천 여건씩 약 6만 여건의 누적 다운로드 수를 기록하면서 큐브리드에 관심이 날로 커지는 듯 하다. 이러한 큐브리드에 대한 관심을 배가시키고 제품에 대한 이해도를 높이기 위해 주기적으로 큐브리드에 대해 살펴보는 연재를 기획해 보았다. CUBRID2008을 들여다 보는 창 CM CUBRID2008을 접하게 되는 사용자들이 실제적으로 가장 많이 보는 것은 어떤 것일까? CUBRID2008 엔진 자체의 개발자가 아니라면 당연히 Cubrid Manager일 것이다. 간단하게 CM으로 명명하자. CUBRID2008에 좀 더 쉽게 접근할 수 있는 도구인 CM에 대해서 알아보고 친구들(?)이라 할 수 있는 기타 툴을 소개하도록 하겠다. CM은 뭐하는 도구인가? CM 곧 Cubrid Manager는 말 그대로 CUBRID를 관리하는 관리도구이다. CM은 사용자들이 편리한 UI를 통하여 CUBRID를 관리할 수 있도록 하며, 질의를 수행하고 결과를 볼 ...
    Date2009.10.24 Category제품 여행 Bycubebridge Views37786
    Read More
  9. 막무가내 DBA의 DISK 장애 대처

    2009.04.05. 드디어 올 것이 오고야 말았다. DB장애도 아닌, application 장애도 아닌.. 천재지변과 같은 hardward 장애가 오고 만 것이다. 기본적인 서비스 구성으로 replication을 통해 master - slave 로 구축해놓은 system이었다. 그런데 replication 을 구성해놓은 master 서버가.. 돌아가셨다. 정확히 말하면 master DB가 아니라 master DB의 데이터를 가지고있는 disk가.. 사라지셨다. 음? 출장가셨나? ㅡ,.ㅡ 컴퓨터에 C: D: 드라이브가 있고, 내 데이터는 D: 에 들어가있는데 어느날 갑자기 D: 윈도우 탐색기에서 사라졌을떄의 기분.. 느껴보셨쎄요? 안겪어봤으면 말을하지마세요 -_- 각설하고. 어떻게 빨리 서비스를 정상 작동시킬 수 있을까? 이렇게 문제가 발생했을 때 서비스를 정상적으로 돌리는것은 결국 master -> slave로 절체하는 시간 싸움이다. CIBRID는 기본적으로 Broker - DBserver 구조로 되어있다. 다시 말해서 client(JDBC) -> Broker -> DBServer로 request가 전달된다. client는 connection url이라는 string에 brokerIP, databasename을 이용하여 broker로 연결한다. broker라는 놈은 databases.txt라는 파일에 난 어느host의 어느 database로 연...
    Date2009.04.16 Category제품 여행 By프란체스카 Views54177
    Read More
  10. 초보 PM의 CUBRID 2008 R1.4 릴리스 후기

    이번 주에 셋째 아들(R1.4)이 릴리스되었다. 점점 더 릴리스가 손에 익어 가는 것 같지만, 아직 갈 길이 멀다. 5월이나 6월쯤의 상반기 메이저 버전이 릴리스되기 전에 릴리스가 내 손에 모두 익어야 할텐데, 만만치는 않은 것 같다. 제품 개발 사이클 CUBRID 2008 R1.3이 릴리스 되자마자 한숨 돌릴 틈도 없이 바로 서스테이닝(Sustaining) 이슈의 스펙을 정리해야 했다(서스테이닝=1차 생산 업무. NHN의 서스테이닝 부서=제품 양산 부서, LG전자 사업부). 일반적으로 개발자들은 릴리스가 되고 다음 릴리스를 준비하는 동안 아주 짧은 시간이지만 몸과 맘의 여유를 가지고 새로운 개발을 준비할 수 있다. 하지만 문서와 스펙을 담당하는 PM은 릴리스될 때는 매뉴얼과 릴리스 노트를, 릴리스를 준비할 때는 스펙을 작성해야 한다. (다음 그림을 보면, 릴리스 앞 뒤로 쉴 틈이 없다.) 스펙의 어려움 개발 담당자가 없는 스펙을 이번에 할당받았다. 이는 1. 스스로 해당 기능을 공부하고 정리한 뒤, 바뀔 방향에 대해서 주변 사람과 토의하여 결론을 내야 하고 2. CUBRID 오픈 소스 프로젝트 홈페이지(nFORGE)에 올려서 개발자들과 올바른 방향을 이끌어 내야 한다는 걸 의미한...
    Date2009.03.18 Category제품 여행 By일동차렷? Views33256
    Read More
Board Pagination Prev 1 2 Next
/ 2

Contact Cubrid

Tel. 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales