Background Image

FORUM

조회 수 16931 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
안녕하세요.
늘 정성스런 답변 감사드립니다.

CUBRID의 복재 기능에 대해서 한가지 더 질문드릴 점이 있어서 문의 드립니다.

예를 들어 시스템을 구성하여

(1) CUBRID A - MASTER
(2) CUBRID B - SLAVE

와 구성했다고 가정하였을 때, 효율적인 쿼리 분산에 대해 질문 드립니다.
(1) 의 경우 INSERT, UPDATE, (+ SELECT)를 사용하고
(2) 의 경우 SELECT
를 사용한다고 가정합니다.
고객 데이터의 경우 번호가 키로 쓰인다고 가정하겠습니다.
즉 (앞번호가 0-5, 6-10 으로 2집단이 있다고 가정합니다. 쿼리는 단순 SELECT 쿼리입니다)

질문은 다음과 같습니다.

-- 첫번쨰 질문
이 경우 DB의 캐쉬에 대한 성능이 크게 좌우할 수 있으므로,
각 Transaction시 SELECT연산에 대하여 RR(Round-Robin) 로 (1), (2)을 돌아가면서 SELECT 쿼리할경우 Cache-Hit ratio가 떨어질 수 있으므로,
0-5 인 사용자는 큐브리드 (1) 에서 쿼리,6-10인 사용자는 큐브리드 (2)에서 쿼리와 같이 Routing Rule을 정하여 쿼리해야 하는 방식이 필요하다고 판단하고 있습니다. 즉 이와 같은 방식으로 구현하여야 cache-hit ratio에 의한 성능향상을 기대할 수 있을것 같습니다.
이러한 고민에 대해서 확인 부탁드립니다. ^^
(RR 과 같이 구성할 경우와 Cubrid (1), (2), (3) 에 대해서 Rule-Base로 분산하여 Select 연산의 성능 차이가 나는지요? 난다면 크게 나는지요?)

- 두번째 질문
큐브리드 (1) 에는 WRITE 연산만 (Insert, Update) 연산만 사용하고,
(2)에는 Select 연산만 사용할 경우 이러한 구성이 권장할만한 (?) 구성일지 궁금합니다.
생각에는 (1)에서 Write에 의한 연산이 발생한다면 (2)에도 DB Write에 의한 부하가 많이 발생할 것 같아 조금 우려스럽습니다.
이러한 경우 복제에 의한 일반적인 구성은 어떤 구성이 일반적인지 알 수 있을런지요.
쿼리의 빈도수는 예상하건데 (SELECT 5, INSERT 3, DELETE 3) 정도로 발생할 것으로 예상합니다.

감사드립니다.
좋은 주말 보내세요
  • ?
    정만영 2009.02.23 20:29
    먼저 답변이 늦어 죄송합니다.
    첫번째 질문 사항,
    큐브리드 복제는 하나의 데이터베이스 서버로 응용의 성능 요구 사항을 만족하기 힘들 때, 특히, 읽기 연산을 여러 데이터베이스 서버에 분산시킴으로써 전체 시스템의 성능을 향상시키는 데 활용할 수 있습니다. 큐브리드 복제의 경우, 마스터는 읽기/쓰기 연산을 모두 허용하나, 슬레이브는 읽기 연산만 허용하기 때문에, 큐브리드 복제를 이용한 성능 향상 효과는 쓰기 연산은 제한적이고 읽기 연산이 많은 응용에서 탁월하다고 할 수 있고, 성능 문제는 읽기 연산이 많을 수록 효과를 볼 수 있지 않을까 생각 됩니다.
    두번째 질문 사항.
    큐브리드의 복제는 단방향 복제만을 지원합니다, 즉, 마스터 데이터베이스의 경우에는 읽기/쓰기 연산이 모두 가능하나 슬레이브 데이터베이스에는 읽기 연산만을 허용 합니다.. 단방향 복제 방식을 이용한 1:N 구성이 가능하기 때문에 여러개의 슬레이브 DB를 사용할 수 있습니다. 만약 insert, delete가 많을 경우는 복제의 효과를 크게 볼 수 없겠지만, 조회하는 select 질의가 많은 곳에 적용하신면 1개의 데이터베이스를 운용하는 것보다 좋은 성능을 볼 수 있을 것입니다.
     
  • ?
    kkckc 2009.02.23 21:24
    안녕하세요.
    먼저 답변에 감사드립니다.

    질문사항들에 대해서 제가 적절하게 질문하지 못한 것 같아 다시 설명드리겠습니다.
    즉, 질문의 요지는 다음과 같습니다. 질문을 조금 바꾸겠습니다. ^^;

    첫째 질문 =
    (A) CUBRID - MASTER
    (B) CUBRID - SLAVE
    (C) CUBRID - SLAVE

    에를 들어 그룹1의 사용자를 (B) 에서만 질의하고,그룹2의 사용자를 (C) 에서만 질의할 경우 캐쉬에 의한 성능 향상을 기대할 수 있는지에 대한 질문입니다. 만약 있다면 어느정도 예상할 수 있는지, 없다면 그냥 그룹1, 그룹2를 상관하지 않고 RR로 질의를 해도 될지 알고 싶습니다.

    둘째 질문 =
    질문의 요지는 MASTER에서는 INSERT, UPDATE 연산만 하고 SLAVE에서는 SELECT 연산만 수행할 경우 이러한 구성이 복재에서 권장하는 구성인지가 질문의 요지입니다.

    =================
    감사합니다 ^^
    좋은하루 보내세요.
  • ?
    정만영 2009.02.23 23:03

    첫번째 질문 사항
    슬레이브 데이터베이스 머신이 각각 다르다면  말씀하신 캐쉬 성능 향상을 기대할 수 있습니다. 그리고 Round-Robin(연속)되는 사용자 그룹을 나눈다면의 어느 사용자 그룹이 더 많은 요청을 할 것이가?.. 이 부분을 더 중점을 두셔야 할 것으로 보입니다. 여러가지 환경적인 상황에 따라 편차가 많이 있기 때문에 정확한 성능 정보(데이터)를 말씀 드릴수 없지만 앞서 말씀드린 1개의 DB 서버 보다는 좋은 성능을 볼 수 있을 것입니다.

    두번째 질문 사항.
    현재 두번째 문의 사항처럼 사용하고 있는 고객 사이트가 있으며, 문제 없이 운영되고 있습니다.
    원하시는 답변인지 모르 겠지만, 큐브리드 복재는 조회하는 질의의 분산 효과를 보기 위한 기능과 운영 중인 데이터베이스 서버에 장애가 발생했을 경우 복제 데이터베이스 서버로 신속하게 대체함으로써 장애 발생시 긴급하게 대처할 수도 있는 그 효용성이 매우 크다고 할 수 있습니다.


     

  • ?
    kkckc 2009.02.24 00:03
    감사합니다 ^^

  1. SQLGate for CUBRID 영구 무료 라이선스 제공

  2. 어찌해서 설치는됫는데...

  3. UPDATE/INSERT를 한번에 하는 쿼리 질문드립니다.

  4. 메니지먼트 접속 불가 문제

  5. 이젠 매니저가 ㅠㅠ

  6. 큐브리드 호스팅에 대해서 질문입니다.

  7. 이중화 관련 질문 하나 더 드립니다.^^

  8. 설치 에러 로그 확인 부탁 드립니다.

  9. 큐브리드용 제로보드(4.1)에 대한 문의(adodb 관련)

  10. Linked server

  11. loaddb 관련

  12. 복재 기능의 SELECT 분산 관련 질문 드립니다.

  13. 윈도우 구동시 데이터베이스 구동 관련 문의

  14. 보관로그 관련

  15. 윈도우 구동시 데이터베이스 구동 관련 문의 2

  16. service tray 실행 안됨

  17. 프로세스 점유에 대해 질문 드립니다.

  18. php 모듈

  19. JAVA 프로시져

  20. DB 자동 시작 다시 한번더 질문 드립니다.

  21. cci 관련 질문 드립니다.

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 199 Next
/ 199

Contact Cubrid

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