Background Image

FORUM

조회 수 15891 추천 수 0 댓글 8
?

단축키

Prev이전 문서

Next다음 문서

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

지난 2주 동안..

큐브리드로의 마이그레이션과 환경 최적화를 위해..

여러가지 많은 시도들을 했습니다.


Q&A 게시판에 많은 질문 글을 등록했고, 답변도 받았고..

버그를 찾기도 했습니다..


마이그레이션이 끝나면,

성능 상의 문제는 전혀 없을 것이라 생각했지만..


서버를 튜닝해봐도..

큐브리드의 쿼리 처리 속도는 개선되지 않는 다는 것과

현재의 DB로는 큐브리드를 사용할 수 없다는 결론을 내렸습니다.


100만개 row를 가진 테이블을 테스트 했고,

큐브리드의 select 문에 대한 처리 속도는 안정적입니다.

count(*) 등은 mysql에 비해 빠른 것으로 테스트 결과를 얻었습니다.


문제는 다른 쿼리문에 대한 처리 속도인데..

delete, update 등.. 

80만개에 대한 쿼리에 대해서..

처리 시간을 알 수가 없었습니다..

4시간이 넘어도 종료되지 않아서, 강제 종료를 했습니다..

더 기다린 것은 무의미하단 결론을 내렸습니다..


지금 마지막으로..

delete 문을 한번 더 실행하고 있는데..

delete from xe_documents WHERE regdate LIKE '2010%'and (module_srl = ** or module_srl = **);

한시간이 경과된 상태입니다.. (regdate, module_srl 등은 모두 인덱스가 걸려 있습니다..)


한달여간 큐브리드 버전으로 작업한 프로그램과 서버 구성은,,

모두 다 롤백을 해야할 것 같습니다....


지난 9월부터 utf8 지원 요청을 시작으로..

많은 기대를 했었는데.. 좀 아쉽네요..


큐브리드를 사용하기 위해서 utf8이 지원되길.. 3개월이 넘게 기다렸는데 말이죠.. 


큐브리드가 더욱 발전하길 바랍니다..


문제들이 개선되면, 

그 땐, 다시 큐브리드를 사용하고 싶네요..


그 동안, 친절한 답변에 감사드립니다.

앞으로 더 노력해 주세요. ^^

감사합니다.



  • ?
    밝은미소 2011.01.11 00:45

    조건식을 인덱스를 확실하게 타게 하려면 USING INDEX를 사용하심이 어떨지요~.

    지금 = 조건으로 module_srl을 사용하고 있으니, 이 부분만 인덱스 타게 만들어도 성능이 나오지 않을까 생각됩니다.

    아래 매뉴얼 참고하시어 USING INDEX를 한번 써 보시길 권장해 드립니다.

    http://www.cubrid.com/online_manual/cubrid_831/syntax/syntax_retreive_index.htm

  • ?
    스마트 2011.01.11 03:31

    USING INDEX 사용해 보겠습니다.

    1시 30분에 시작한 본문의 쿼리는 6시에 강제 종료했습니다.

    csql -s 로 복구하는데.. 지금까지의 경험으로 보면..

    실행시간 만큼의 복구 시간이 필요하더군요..

    10시나 11시쯤  USING INDEX 를 활용해서 쿼리를 한번 더 던져 보겠습니다..

    잘되면 좋겠네요.. 그럼 큐브리드를 계속 사용할 수 있을텐데요.. ^^

  • ?
    장현석 2011.01.11 03:43

    어제 메일드린 mcpjang입니다.

    만약 USING INDEX 적용 후에도  성능 개선이 없으시면 부담없이 연락 주세요..

    원격으로  이상 원인을 확인해 드리겠습니다.  

  • ?
    샤롱스판 2011.01.11 03:44

    조건절을 약간씩 변경해보시면서 using index reg_time_idx 또는 using index module_srl_idx 등을 시도하시는 것도 좋을 듯 합니다. 인덱스 컬럼 값 분포도를 잘 모르기 때문에.. 선 조건에 module_srl을 먼저 준다던가..or 조건 대신 in을 쓴다던가. reg_time을 타게 한다던가, module_srl을 타게 한다던가.. 등등 제품마다 옵티마이저의 동작 방식이 다르기 때문에 실행 시간을 보시면서 튜닝을 하시면 좋을 것 같습니다. 

    delete from xe_documents WHERE regdate LIKE '2010%'and (module_srl = ** or module_srl = **);

    --> delete from xe_documents WHERE module_srl IN (**, **) and regdate LIKE '2010%' using index ~~~;

    --> delete from xe_documents WHERE regdate LIKE '2010%' and module_srl IN (**, **) using index ~~~;

  • ?
    스마트 2011.01.11 13:16 SECRET

    "비밀글입니다."

  • ?
    스마트 2011.01.12 10:27

    도움 주셔서 감사합니다.

    원격지원으로 환경설정도 해주시고, 여려모로 도움을 많이 받았습니다.

    감사의 마음을 다시 한번 전합니다.


    좋은 결과로 이어졌으면 좋았을텐데..

    아쉽게도 기대했던 성능 향상으로까지는 연결되지 못했습니다.


    여러 테스트 결과..

    큐브리드를 통한 데이터 삭제 시,

    10,000건당 약 15분의 삭제 시간이 소요됨을 확인했습니다.


    쿼리문에 rownum between 1 and 100000 형태의 조건을 추가해서

    1만개, 10만개 단위로 테스트를 했습니다.

    1만개에 15분, 10만개에 2시간 반정도가 소요되었구요.

    100만개 단위로 테스트를 하다가, 

    log사이즈가 너무 커져서.. hdd디스크 용량 full로 fatal 에러가 발생하여 쿼리가 중단되었습니다.

    100만개 짜리 쿼리 자체는 3시간 정도 진행된 상태였고, 

    1만개 기준 15분으로 보면.. 약 25시간 정도의 삭제 시간이 예상되었습니다.


    인덱스를 사용한 삭제 처리였고,

    현재 원하는 서비스 환경에는 적절하지 않다고 판단이 되었습니다..


    한달여간 나름의 노력을 했고, 큐브리드 직원분들에게 많은 지원을 받았는데 

    좋은 결과로 이어지지 못해서 아쉽네요..


    향후에는 쿼리 처리 속도면에서 개선이 이루어지길 바라겠습니다.

    감사합니다.




  • ?
    샤롱스판 2011.01.11 19:50

    USING INDEX 다음에 오는 인덱스는 조건절에 명시된 컬럼(즉, regdate와 module_srl)만 포함해야 하고, 다른 컬럼을 품고 있으면 그걸 안타고 순차스캔을 합니다~ 지금 명시한 인덱스는 다른 컬럼을 포함하고 있네요~

  • ?
    샤롱스판 2011.01.11 01:10

    여러모로 노력하셨는데 일단 너무 안타깝습니다. 적절하게 참고할 만한 자료들이 없어서 더욱 고생이 많았을텐데요.. 다만, 인덱스를 안타고 풀스캔한다고 해도 백만 레코드에 대해 저렇게 나오는 것은 매우 비정상적인 시간이고, 마이그레이션 이후 DB 사이즈가 5배나 크게 잡힌다는 것도 매우 이상하고요.. 쿼리들은 CM에서 실행하신건지, CSQL에서 실행해도 똑같이 그런지.. CMT가 string타입에 대해 3배수로 컬럼 사이즈를 크게 잡는데 그 영향도 조금 있을 것 같고요..또 data_buffer 사이즈 등 서버 파라미터 설정도 영향이 있었을 것이고.. 앞으로 마이그레이션 전환 사용자를 위한 많은 문서들을 준비해야 할 것 같습니다. 수고하셨습니다. 


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 295
2926 큐브리드 포트 질문이요. 1 까망군 2009.11.03 11569
2925 큐브리드 포트 설정 질문 드립니다. 1 secret 지나가는 2013.11.29 6
2924 큐브리드 페이징 관련 문의 1 마산이프로 2011.04.15 14106
2923 큐브리드 패스워드 저장되는 파일이 별도로 있나요?? 1 dosem7 2018.01.11 225
2922 큐브리드 파일 내보내기 스케줄 기능 문의 1 쿨쿨 2017.11.23 173
2921 큐브리드 파이썬 드라이브는 어디서 다운받을 수 있나요? 2 까망군 2011.02.15 9643
2920 큐브리드 파라미터 관련 문의 1 아라천 2015.10.29 4870
2919 큐브리드 트리거 질문 드립니다. 1 speed 2020.01.14 64
2918 큐브리드 트리거 문의 2 큐브리드어려웡 2020.06.22 50
2917 큐브리드 툴에서 컬럼 설명이 입력되지 않습니다. 2 이쭌 2013.07.04 6654
2916 큐브리드 토드로 접근하고 싶은데 가능한가요? 1 신나여 2013.11.20 12931
2915 큐브리드 테이블락(?) 트랜잭션락(?) 등 락관련 문의드려요 3 MSG 2020.06.18 48
2914 큐브리드 테이블 스페이스 생성 스크립트 정보 확인 방법 3 박훤석 2009.12.12 16210
2913 큐브리드 테이블 or 데이터 삭제시 멈춤현상..... 2 니나노 2011.01.10 9701
2912 큐브리드 테이블 or 데이터 삭제시 멈춤현상(다시 글올립니다) 2 니나노 2011.01.10 8642
2911 큐브리드 테이블 fetch 4 yoon 2010.05.06 9860
2910 큐브리드 클라이언트 에서 질의 열기가 안됩니다 1 file 초리 2008.12.19 19297
2909 큐브리드 쿼리문 문의 드립니다. 2 secret 스마트 2011.01.01 12
» 큐브리드 쿼리 처리 속도에 대한.. 8 스마트 2011.01.10 15891
2907 큐브리드 쿼리 실행 오류 1 영진 2018.10.11 386
Board Pagination Prev 1 ... 10 11 12 13 14 15 16 17 18 19 ... 161 Next
/ 161

Contact Cubrid

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