Background Image
나머지...
2018.12.28 10:24

DBMS? 힐끗 다른 쪽을 바라봤다

조회 수 999 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

Databases-comparisons-on-DBEngine.jpg


 시스템 소프트웨어 개발자로 딱 60살까지만 이런저런 시스템, 특히 대용량 데이터를 다루는 시스템을 직접 설계하고 만들어보고 싶은 마음은 지금도 여전하다.

그리고 그러한 미련에 들어온 DBMS 개발바닥이다. 원래 우직하니 한 우물만 파는 스타일은 아닌데.. 어찌어찌 하다보니 10년째 데이터 처리 엔진쪽으로만 일하고 있는 자신을 바라보며 기특하단 생각도 든다. 하지만 최신 유행하는 다른 분야로 발빠르게 움직이지 못한 것이 못내 아쉬울 때도 종종 있다. 


이런 내 마음에는 아랑곳 없이 데이터환경이 휙휙 바뀌면서 하루가 멀다하고 새로운 모양의 시스템, DB들이 마구 쏟아져 나온다. 이런 추세속에서 여전한? 것들을 하고 있는 내 자신을 바라보고 있자면 old school에서 벗어나지 못하고 있는 듯 느껴져 왠지 마음이 급해진다. 이 글을 쓰고 있는 지금도 어디에선가는 새로운 DB(용어따지기 좋아하는 사람들을 위해 여기서 'DB'는 데이터베이스 자체가 아니라 DBMS혹은 DMS를 의미한다는 것을 밝힌다)가 글로벌 DB시장에 런칭하는 소리가 들리는 듯 하니 말이다.


그러나 이쪽 분야에서 일을 하면 할수록 데이터를 다루는 일에 신구라는 것이 없다는 생각이다. 다만 어떤 정보들을 관리할 것인가가 시스템의 선택에 중요한 역할을 하는 시대라는 것..

이젠 RDBMS(Relational Database Management System)를 두고 흔히 '전통적인 DBMS'라는 말을 쓰는 것을 자주 듣는다. 그 전통적인 DBMS의 엔진개발자로 오래 일해왔지만 보면 볼수록 공부할 부분이 많아진다는 생각엔 변함이 없다. 그와 더불어 이젠 요즘 유행하는 블록체인이나 인공지능쪽을 공부해볼까 하는 생각도 간혹 할때가 있지만 아직은 데이터를 처리하는 시스템 소프트웨어 개발자로 일하는 것이 더 즐겁다. 물론 블록체인이나 인공지능쪽이 데이터와 무관해서는 아니다. 오히려 그것들은 데이터의 처리방식보다는 데이터의 내용과 더 직접적인 관계가 있는 영역이라고 생각한다. 


전통적인 RDBMS에서 데이터는 관계성을 가지며 릴레이션 혹은 테이블이라는 스키마들로 모델링 된다. 모든 데이터는 도메인을 갖고 있으며 도메인에 추가된 제약조건들을 만족하는 값으로만 그 identity를 갖는다. 

E. F. Codd 박사가 'A Relational Model of Data for Large Shared Data Banks'를 통해 대용량(그 당시의) 데이터를 어떻게 다룰 것인지 릴레이션과 튜플, 그리고 정규화에 대해 이야기했던 시점으로부터 약 50년의 세월이 흘렀다. 그리고 대용량 데이터의 기준이 달라졌다. 아니 그 후로 지금까지 죽 계속 달라져왔다고 해야 맞을 것이다. 


비즈니스 쪽에서 '빅데이터'를 거론하며 마치 '빅데이터 시스템'이라는 것이 존재하는 것 마냥 사람들이 '빅데이터!''빅데이터!'를  외칠 때에도 시스템 소프트웨어 개발자들은 기존과 동일한 기술기반으로 빅데이터라는 놈을 해결했다. 그러나 아직까지도 빅데이터가 하둡을 의미하는 것으로 생각하는 사람이 존재하듯 특정 시스템을 모든 빅데이터문제를 해결해줄 답안으로 생각하는 사람도 분명 있을거라 생각한다. 


그러나 수많은 데이터 처리 기술들이 존재하는 이유는, 무엇을 정보로 볼 것이며 데이터를 어떻게 바라볼 것인가이다. 다시말해 정보를 어떻게 관리할 것인가가 시스템을 선택하고 설계하는데 있어 최우선적으로 고려해야 할 사항이다. 


RDBMS는 릴레이션이라는 관계성을 데이터에 부여함으로써 정보를 관리하는 한 가지 효과적인 방법을 제시했을 뿐이고 지금까지도 수많은 정보들을 관리하는데 유용하게 쓰이고 있을 따름이다. 


몇달 전 회사 근처에서 그래프 데이터베이스(이하 GDBMS) 관련 밋업이 있어 참석했던 적이 있다. 
그 회사에서 GDBMS를 개발하고 있는 개발자의 과반수가 예전, 같은 연구실 혹은 같은 회사 동료로 함께 일했던 경험이 있다보니 그네들이 만들고 있다는 것이 도대체 무언지 더 궁금한 것도 있었지만, 예전부터 GDBMS에 조금은 관심이 있던 차에 잘됐다 싶었다.


GDBMS는 DBMS시장에서 아직까지도 전통적인 강자인 RDBMS에 비하면 아직 갈 길이 멀지만 시장 성장세가 아주 빠른 제품에 속한다. 

그도 그럴것이 GDBMS는 SNS로 대변되는 '실시간으로 쏟아지는 대량의 비정형 데이터' 를 처리하기에 전통적인 RDBMS보다 우월한 면도 없지 않기 때문에, 최근 SNS를 통해 늘어나는 데이터의 처리가 곧 비즈니스가 되는 현실에선 RDBMS보다 나아보일 수도 있다.


그럼 GDBMS는 RDBMS랑 뭐가 어떻게 다른 것일까?

Graph라는 단어가 의미하듯 GDBMS는 그래프를 이용한? DBMS임에는 분명하다. '그래프'라는 용어를 수학적으로 이해하지 못하는 경우, 혹은 DBMS에 관해 전혀 지식이 없거나 데이터 관리 시스템에 대해 잘 알지 못하는 사람들은 그래프와 그래픽을 혼동하는 경우도 꽤 많다. 그래서 밋업에서 "그래픽데이터베이스라고 하는데 도대체 그래픽으로 뭘 보여준다는 건가요?" 라는 질문을 하는 경우도 봤다. 

그래프는 간단히 말하면 점(vertex)과 선(edge)으로 표현된다. 여기서 점은 흔히 객체로 모델링 되고 선은 관계 내지는 행동(상태의 변경)을 표현하기 위한 수단이 된다. 

GDBMS는 쉽게 말하자면 사용자에게 이러한 그래프의 개념으로 데이터를 모델링할 수 있도록 해주는 DBMS이다. 


앞서 데이터를 처리하는데 있어 중요한 것은 무엇을 정보로 볼 것인가와 데이터를 어떻게 바라볼 것인가라고 썼다. 

정보는 데이터 그 자체일 수도 있고 관련있는 데이터들의 집합 혹은 데이터의 위치, 데이터가 존재하는 이유, 데이터가 생성된 이력 등 무수히 많은 형태가 존재한다. 그동안 사람들, 그리고 수많은 조직들은 정말 제한적인 데이터모델 안에서 아주 많은 일들을 처리하며 살아왔다. 

하지만 90년대 초반부터 꿈틀대더니 이젠 이것 없이는 못살게 된 인터넷의 발달부터 인터넷기술을 밑에 깔고 등장한 많은 문화들, 그 중에 텍스트, 이미지, 사운드를 안가리고 매초마다 엄청난 정보데이터를 양산하는 SNS라는 문화적 기재로 인해 처리해야하는 정보의 성격에 아주 큰 변화가 일어났다. 불과 20년 남짓만에 정보의 구성요소가 되는 데이터를 바라보는 뷰가 하나 더 늘어야 하는 시대가 된 것이다. 데이터를 바라보는 뷰가 바로 데이터 모델이다. RDBMS는 릴레이션이라는 뷰를 제공함으로써 데이터를 모델링하기 쉽도록 해준 것 뿐이다. 


RDBMS가 주류시스템 소프트웨어가 된 당시에는 월스트리트로 대변되는 금융, 보험업무로부터 발생하는 데이터가 여러 비즈니스 영역들 가운데서도 가장 많았다. 또한 이 데이터들은 한 번 잘못 기입되거나 누락되면 엄청난 책임을 져야하는 경우가 많았기 때문에 이들에 대한 보장을 안정적으로 해줄 수 있는 시스템이 필요했다. 말로 풀어썼지만 간단히 말하자면 ACID속성을 갖는 트랜잭션 정보의 처리가 무엇보다 중요했다는 것이다. 그러한 데이터 처리환경에서 마치 자연선택설에 의한 결과인듯 DBMS는 트랜잭션처리에 특화된 성능과 안정적 우월성을 바탕으로 대부분의 데이터 처리 시스템의 기반으로 자리매김했다. 


수십년의 세월동안 데이터의 속성이 바뀌어도 데이터의 양과 응용방식이 바뀌어 왔음에도 DBMS가 아직까지도 그 자리를 내어주지 않은 것은 DBMS또한 그러한 환경변화에 매우 잘 적응하며 발전해왔기 때문이다. 2000년 초반 '클라우드'라는 개념이 대두되고 5년남짓일까 너도나도 여기저기서 클라우드 클라우드할 때만해도 DBMS는 위기를 느끼지 않았던듯 하다. 그러나 뭔가 얻어맞은 듯한 느낌이 들정도로 DBMS시장의 근간을 흔든 일이 2010년 초반 '빅데이터'라는 개념의 대두와 더불어 일어났다. 바로 NoSQL 이었고  MongoDB, Cassandra 등 수많은 NoSQL 제품들이 재조명되거나 봇물터지듯 시장으로 쏟아져 나왔다. 시스템의 구상과 개발이야 이전부터 있어왔지만 NoSQL의 약진은 빅데이터의 유행과 그 근간을 함께 한다. 빅데이터가 과연 무엇이냐를 놓고 2010년 초반 그 정의나 분류에 대해 참 말이 많았다. 아니 개념조차 제대로 잡지 못한채 스스로 자신이 빅데이터 전문가라며 당시 컨설팅을 하고 다닌 사람들이 이젠 어엿하게 빅데이터 시장에서 명함만 내밀어도 인정받는 사람들이 된 2010년 말에와 회상해 보면 NoSQL은 ACID를 다 만족시키지 않아도 된다는 어찌보면 당연한 것을 '그래 난 내가 원하는 것만 보장할래'라는 배짱 튀기기로 밀고 나간 것이었다.


이래서 DBMS보다 가볍다. 그래서 DBMS보다 특정 연산에 빠르다. 저래서 DBMS보다 싸다. 그래서.. 등등 

많은 이유들이 특정 트랜잭션 혹은 데이터 처리환경에서 그들의 손을 들어줬다. 그만큼 전통적인 DBMS는 비즈니스 레벨에서 데이터 처리 영역이 보다 세분화되어 대부분의 데이터 처리가 아닌 특정 데이터처리에 적합하다는 말을 들어야 하는 때가 왔다. 사실 아직도 ACID를 만족하는 트랜잭션 처리 분야는 데이터 처리 시장에서 매우 큰 부분을 차지하는 중요한 시장이다. 그럼에도 불구하고 상대적인 박탈감? 같은 것이 느껴진달까.. 예전에는 DBMS로 다 했는데 이젠 이건 뭐가 저건 뭐가 더 낫다는 결과들이 제시되며 왠지 '야 그동안 많이 해먹었으니 이젠 내려와라' 하는 느낌이다. 


그러나 과연 그럴까..? 데이터 처리 엔진을 굳이 유형별로 구분하고 분류해 두고 이런 환경엔 이게 최고 저런 환경엔 저게 최고라는 식의 논리로 한 시점에 베스트인것으로 보이는? 시스템을 설계하는 것으로 다 된 것일까? 데이터의 본질을 생각하면 정보의 본질을 생각하면 정보의 사용성이 어디에서 기인하는지를 생각해보면 그리고 거기에 더해 사용자의 편의성 정보관리의 주체와 기간 데이터의 유지비용 및 데이터 흐름의 적시성 등을 생각해보면 왜 지금도 새로운 데이터 처리 시스템들이 시장에 등장하고 있는지 알 수 있다. 


그럼에도 불구하고 데이터 처리의 기본은 데이터에 요구하는 속성에 기인한다. 

트랜잭션에 관한 이론은 이러한 데이터 처리에 있어 가장 근본적인 문제를 다룬 것이다. 마치 경제학에서 수요와 공급이 수많은 경제이론을 설명하는 이유와 시발점이 되는 것처럼 트랜잭션은 처리할 데이터의 가장 중요한 속성을 어떻게 볼 것인가를 짚고 있는 것이다. 그리고 그러한 것을 연구하는 분야가 바로 데이터 처리 시스템 연구분야이고 DBMS는 개발이 완료된 더이상 생각할꺼리가 별로 없는 시스템이 아니라 끊임없이 발전해나가고 있고 발전해 나가야 하는 시스템이다. 그래서 DBMS는 아직도 파야할 것이 많다. 


혹자들은 DBMS를 이미 legacy라 부르거나 기술하고 있을지도 모른다. 하지만 television을 레거시라 하진 않는다. 

DBMS는 브라운관TV가 아니다. television이다. 


  1. CM을 통해 SQL을 분석해보자.

    SQL을 수행하다 보면 SLOW SQL이 많이 발생합니다. 이럴때, 해당 SQL의 실행계획을 확인 함으로써, 지연을 발생시키는 부분을 쉽게 찾을 수 있습니다. 1. SQL 서식화. - 보통 SQL을 LOG에서 copy 할경우 가시적으로 보기 힘든경우 사용합니다. 2. 질의 실행 계획보기. - 질의편집기에 SQL을 작성 후, 질의 실행계획보기를 통하여 해당 SQL의 실행계획을 확인 할 수 있습니다. 2.1 질의실행계획보기 --계속 - 질의 실행 계획보기를 실행 시, 질의 계획의 원본, 트리출력, 그래픽출력 등으로 쉽게 확인이 가능합니다. - 이글에서 주로 다룰 내용은 트리출력이며, 보다 사용자가 보기 편리한 구조로 이루어져 있습니다. - 해당 내용을 분석하면, olympic 테이블과 record 테이블은 서로 inner join으로 조인이 이루어 집니다. - olympic 테이블은 FULL SCAN이 일어났으며, 모두 디스크 io가 발생하였습니다. - record 테이블은 primary key(host_year)을 사용하여 인덱스 범위검색을 하였습니다. - 이때, olympic 테이블에서 추출한 레코드는 총 25개 이며, record 테이블에서는 2000개의 레코드를 추출하였습니다. - olympic 테이블에서의 전체 row는 25건이며, 페이지로는 1게 ...
    Date2019.01.01 Category제품 여행 By박동윤 Views1290 Votes0
    Read More
  2. ‘시작하세요! 큐브리드’ 전자책 다운로드 1천건 돌파!!!

    '시작하세요! 큐브리드' 전자책 다운로드 수가 1,000건을 넘었습니다(10월 20일 기준 1,007건). 금년 2월 8일부터 무료 다운로드가 시작되었으니 약 8개월 10일 정도 걸렸으며, 일 평균 다운로드 수는 4건입니다. 원래 ‘시작하세요! 큐브리드’ 도서는 2015년 5월 출간된 이후 하드 카피와 전자책(PDF) 형태로 유료 판매를 했었으며, 금년 2월에 출판사인 위키북스의 도움으로 전자책을 무료로 전환했습니다. CUBRID 사용자 확산을 위한 조치였는데, 기대 이상으로 많은 분들이 다운로드를 받아가셨습니다.  [도서 다운로드: http://www.cubrid.com/notice/3808747]  참고로, 2008년 2월에는 ‘큐브리드 7.3을 이용한 데이터베이스 이해와 실습’이라는 도서를 출간한 적이 있습니다. 당시 도서 출간 목적은 대학에서 데이터베이스 이론을 가르치면서 DBMS 실습 과정에 CUBRID를 활용하도록 하기 위함 이었습니다. 따라서, 데이터베이스의 이론적인 배경이 부족한 학생들에게 데이터베이스에 대한 기초적인 지식을 습득할 수 있도록 콘텐츠가 구성되어 있습니다. 얼마전 10월 황금연휴 기간에 교보문고 강남점에 간 적이 있었는데, 아직도 책장에 꽂혀 있어서 깜짝 놀랐습니다. 출...
    Date2017.10.20 Category알려요~ By정병주 Views1283 Votes0
    Read More
  3. 오픈소스 DBMS 10년의 여정

    10년 전인 2008년 11월 22일 NHN(현, 네이버)의 첫번째 개발자 행사인 DEVIEW 2008을 통해 CUBRID 오픈소스 버전이 첫 선을 보였습니다. 사용자 확산을 위해 2006년 5월 무료 라이선스를 선언을 한 이후 2008년 초부터 1년 가까이 오픈소스 전환을 위한 준비 과정을 거쳐 결국 오픈소스 DBMS로 변신을 한 것입니다.   -> CUBRID 2008 신제품이 출시되던 날…   오픈소스 DBMS 전환에 대한 사용자들의 인식을 제고하기 위해 버전 표기는 기존 숫자(CUBRID 6, 7) 중심에서 연도 체계 방식으로 변경하여 “CUBRID 2008”로 명칭을 했으며(2013년 3월 출시한 CUBRID 9부터 다시 숫자 표기로 변경), 라이선스의 경우 많은 논의 과정을 통해 엔진은 소스 코드 수정/배포 시 공개 의무가 있는 GPL v2 or higher, 인터페이스와 도구는 자유롭게 수정/배포가 가능한 BSD 라이선스를 채택했습니다.   CUBRID 2008 출시 후 초기 2년 동안의 미션은 개발자 및 사용자 확산이었습니다. CUBRID Inside라는 개발자 중심의 커뮤니티 행사를 통해 내부 개발자와 외부 개발자간에 만남의 장을 마련했고, 닉네임 Pcraft님 같은 경우에는 CUBRID Manager에 컨트리뷰션을 하시다가 추후 CUBRID 개발팀...
    Date2018.11.30 Category오픈소스 이야기 By정병주 Views1243 Votes0
    Read More
  4. 클라우드와 리눅스, 그리고 마이크로소프트

    2014년 10월 미국 샌프란시스코에서 개최된 마이크로소프트 기자간담회에서 2월에 취임한 신임 CEO인 사티아 나델라(Satya Nadella)는 “Microsoft loves Linux”라는 메시지를 전달함으로써 시장에 충격을 주었습니다. 왜냐하면 전임 CEO인 스티브 발머(Steve Ballmer)는 리눅스를 “암(cancer)”적인 존재라는 표현으로 적대시 해왔고, 마이크로소프트 회사 자체가 독점(proprietary) 소프트웨어를 통해 엄청난 수익을 창출한 대표적인 기업이기 때문입니다.  마이크로소프트는 CEO가 바뀌었을 뿐인데 어떻게 리눅스를 바라보는 회사의 입장이 180도 바뀌었을까요? 사티아 나델라 CEO의 설명을 들어보면 이미 마이크로소프트 애저(Azure) 플랫폼의 VM (Virtual Machine) 중에 약 20% 정도가 오픈소스 운영체제라는 것입니다. 따라서, 마이크로소프트 애저 플랫폼을 확산시키기 위해서는 리눅스 사용자들을 수용할 수 밖에 없었던 것이며, 실질적으로 ‘마이크로 소프트의 밥줄은 윈도우가 아니다.’라는 기사를 확인해 보면, 2015년 4사분기 기준으로 매출 실적 1위는 클라우드 서버, 2위는 게임 부문, 3위 오피스, 4위 윈도우 순으로 나타납니다. (윈도우의 전체 매출 비중은 10%)...
    Date2017.09.06 Category시장 살펴보기 By정병주 Views1237 Votes0
    Read More
  5. No Image

    DB2, Informix, Sybase ASE, Postgres DBMS 데이터를 CUBRID로 이관하는 방안에 대하여...

    DBMS 보급과 관련하여 과거와는 달리 민간 및 공공기업에서 서비스 중요도 및 비용등을 고려하여 다양한 제품을 도입하여 사용하고 있다. 뿐만 아니라 시스템 사용연한 도래, 유지보수 비용절감, 클라우드 전환 및 차세대 시스템 도입을 통해서 기존 DBMS를 다른 DBMS로 변환하는 경우가 빈번하게 발생하고 있다. DBMS 변경으로 응용체계 전환 및 데이터 전환, 운영 및 사용자 기술전환등이 수행되는데 기술적 측면 및 비용적인 부분에서 예상보다 많은 리스크를 직면하게 되기도 한다. 성공과 실패는 면밀한 전환환경에 대한 분석 및 계획과 수행하는 기술자들의 자질에(기술 및 도전적 & 긍정적 마인드) 의해 결정된다. 이러한 여러 요소들 중에서 여기서 다루고자 하는 부분은 전환에 있어 기본이면서 중요한 데이터 전환에 대한 부분이다. 큐브리드는 국산을 제외한 외산 DBMS중에 민간 및 공공기간을 통틀어 점유율이 높다고 볼 수 있는 Oracle 및 MS-SQL, MySQL에 대해서 데이터 이관 툴을 제공하고 있다. 해당 제품명은 CMT(Cubrid Migration Toolkit)이며 Linux 및 Windows 버전을 기본으로 GUI 및 Terminal 방식을 지원하고 있다. 그 이외에도 비록 시장 점유율은...
    Date2019.07.15 Category제품 여행 By김창휘 Views1209 Votes0
    Read More
  6. [CUBRID inside] Query Process란?

    CUBRID는 open source DBMS입니다. 소스 코드가 공개되어 있어 언제든지 확인하고 기여할 수 있습니다. 많은 사람이 CUBRID의 contributor가 되길 바라봅니다. Query Process란? Query Process는 DBMS의 입력값인 SQL을 낮은 수준의 명령으로 변환하고 그것을 실행하는 전체 작업을 말합니다. SQL에서 가장 먼저 진행되어야 하는 것은 TEXT로 작성된 SQL을 parse tree 구조로 만드는 것입니다. 이 작업은 PARSER에서 진행되는데, CUBRID는 PT_NODE 구조체를 반복적으로 사용하여 SQL을 parse tree로 변환합니다. 이 단계에서 syntax check가 진행되고 오타나 잘못된 예약어 등을 체크합니다. 그리고 SEMANTIC CHECK를 진행하는데, 여기서 작성된 테이블명이나 칼럼명 등이 존재하는 것인지 체크합니다. 다음으로 OPTIMIZER가 parse tree를 최적화하고 PLAN을 생성합니다. parse tree를 최적화하는 것을 QUERY REWRITE 혹은 TRANSFORMATION이라고 합니다. 좋은 성능을 위해 SQL을 다시 작성한다고 생각하면 됩니다. 동일한 데이터를 조회하는 SQL은 다양한 형태로 작성될 수 있습니다. 그렇기 때문에 가장 효과적인 방안으로 변환을 하는 것입니다. 여러 재작성 방법이 있는데 ...
    Date2020.12.24 Category제품 여행 By박세훈 Views1151 Votes1
    Read More
  7. JPA와 CUBRID 연동 가이드

    JPA? JPA는 자바의 ORM 기술 표준으로 인터페이스의 모음입니다. 표준 명세를 구현한 구현체들(Hibernate, EclipseLink, DataNucleus)이 있고, JPA 표준에 맞춰 만들면 사용자는 언제든 원하는 구현체를 변경하며 ORM 기술을 사용할 수 있습니다. 이번 CUBRID 연동 가이드에서는 대표적으로 많이 사용하는 Hibernate를 사용하여 작성했습니다. 버전 정보 SpringBoot: 2.7.8 Hibernate: 5.6.14.Final Java: 11 CUBRID: 11.0.10, 11.2.2 JPA와 CUBRID 연동 1) 라이브러리 설정 Maven 프로젝트에 JPA(Hibernate), CUBRID JDBC 라이브러리를 넣기 위해 pom.xml에 설정을 합니다. CUBRID JDBC를 받기 위해 repository도 같이 추가해야 합니다. 2) JPA 설정 필요한 라이브러리를 다 받은 뒤 JPA 설정 파일인 persistence.xml에 설정을 해줘야 합니다. 해당 파일은 표준 위치가 정해져 있기 때문에 /resources/META-INF/ 밑에 위치해야 합니다. DBMS 연결 시 필요한 정보와 JPA 옵션들을 설정해 줍니다. 기본적으로 driver, url, user, password를 설정하고, 방언(dialect)도 필수적으로 설정해야 합니다. DBMS가 제공하는 SQL 문법과 함수들이 조금씩 다르기 때문에 JPA가 어떤 DBMS...
    Date2023.02.22 Category나머지... By김동민 Views1136 Votes3
    Read More
  8. CUBRID contribute의 두번째 걸음, CUBRID 디버깅 하기

    디버깅은 실행중인 프로세스를 컨트롤할 수 있어 문제점을 찾거나 현재 로직을 확인 할 때 유용한 방법입니다. 이번에는 GDB를 활용하여 CUBRID server 프로세스를 디버깅해보도록 하겠습니다. GDB 사용에 앞서 CUBRID 빌드가 되어 있어야 합니다. CUBRID  빌드 관련 내용은 아래 링크를 확인하세요. http://www.cubrid.com/blog/3814572   디버깅을 위해서는 'debug' 모드로 빌드해주세요.  1 2 [root]vi build.sh build_mode="debug" cs   빌드시 에러가 발생한다면 표준에러만 파일로 리다이렉션하여 확인하는 것이 좋습니다.  1 2 [root]vi build.sh 2> error.out vi error.out cs 빌드가 완료가 되었다면 bash_profile 파일에 PATH 관련 정보를 추가 저장합니다. CUBRID 위치는 build시 저장한 위치로 변경하세요.  1 2 3 4 5 6 7 8 9 10 cd ~ [root]vi .bash_profile export CUBRID=/cubrid10.1/CUBRID   export CUBRID_DATABASES=$CUBRID/databases export PATH=$PATH:$CUBRID/bin export LD_LIBRARY_PATH=$CUBRID/lib:$LD_LIBRARAY_PATH CLASSPATH=$CUBRID/jdbc/cubrid_jdbc.jar export CLASSPATH [root]source .bash_profile cs demo DB를 생성합니다.​ 1 2 3 4 5 6 c...
    Date2018.08.09 Category제품 여행 By박세훈 Views1088 Votes0
    Read More
  9. CUBRID Network Diagram (CUBRID Version 9.3, 10.1)

    CUBRID Network Diagram 큐브리드를 사용하다 보면 네트워크 연결 구성에 대해 궁금할 수 있습니다. 이런 궁금증에 대해 간단한 이미지와 설명으로 큐브리드 네트워크 연결 구성에 쉽게 다가 올 수 있도록 기술 하였습니다. 들어가기에 앞서 큐브리드 네트워크 연결 구성에 대해 이해하기에 OS 환경 및 CUBRID 버전에 따른 약간의 차이점이 있습니다. 아래의 2가지 기능 차이에 대해서 숙지 하시면 큐브리드 네트워크 다이어그램에 대해 쉽게 이해하실 수 있습니다. - Windows 큐브리드 버전에서는 SHARD Broker 기능과 HA 환경을 제공 하지 않습니다. (SINGLE 구성만 제공) - Linux 큐브리드 버전 9.3에서는 SHARD Broker기능을 제공 하지만 10.1버전에서는 SHARD Broker 기능을 제공 하지 않습니다. 큐브리드 네트워크 다이어그램 세부 정보 < Master / Slave / Replica Node > HA 환경의 데이터 베이스를 구성하는 서버 - cub_master : 실제 데이터 베이스 프로세스와 연결을 담당하는 프로세스 - cub_manger : CUBRID Manger 프로그램의 관리모드 사용을 위한 프로세스 < SINGLE > HA환경이 아닌 싱글로 운영 되는 데이터 베이스 서버 - cub_master : 실제 데이터 베이스 ...
    Date2019.11.02 Category제품 여행 By윤준수 Views1084 Votes1
    Read More
  10. DBMS? 힐끗 다른 쪽을 바라봤다

    시스템 소프트웨어 개발자로 딱 60살까지만 이런저런 시스템, 특히 대용량 데이터를 다루는 시스템을 직접 설계하고 만들어보고 싶은 마음은 지금도 여전하다. 그리고 그러한 미련에 들어온 DBMS 개발바닥이다. 원래 우직하니 한 우물만 파는 스타일은 아닌데.. 어찌어찌 하다보니 10년째 데이터 처리 엔진쪽으로만 일하고 있는 자신을 바라보며 기특하단 생각도 든다. 하지만 최신 유행하는 다른 분야로 발빠르게 움직이지 못한 것이 못내 아쉬울 때도 종종 있다. 이런 내 마음에는 아랑곳 없이 데이터환경이 휙휙 바뀌면서 하루가 멀다하고 새로운 모양의 시스템, DB들이 마구 쏟아져 나온다. 이런 추세속에서 여전한? 것들을 하고 있는 내 자신을 바라보고 있자면 old school에서 벗어나지 못하고 있는 듯 느껴져 왠지 마음이 급해진다. 이 글을 쓰고 있는 지금도 어디에선가는 새로운 DB(용어따지기 좋아하는 사람들을 위해 여기서 'DB'는 데이터베이스 자체가 아니라 DBMS혹은 DMS를 의미한다는 것을 밝힌다)가 글로벌 DB시장에 런칭하는 소리가 들리는 듯 하니 말이다. 그러나 이쪽 분야에서 일을 하면 할수록 데이터를 다루는 일에 신구라는 것이 없다는 생각이다. 다...
    Date2018.12.28 Category나머지... By조성룡 Views999 Votes0
    Read More
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 Next
/ 16

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales