2008년 11월 13일 목요일

mySQL 서비스 정리

mySQL은 GPL 라이센스 이다.
  흠 GPL 라이센스에 대해 읽은 것은 많은데 딱히 뭐라 설명하긴 뭐하네.

mySQL standard
   무료이며 누구나 다운 받아 사용할 수 있다.

mySQL enterprise
    유료이며 지원을 받을 수 있고 추가적으로 모니터링 솔루션이 제공된다.

mySQL cluster
    무료이지만 지원을 받지 않고 사용하기 불가능 할 것 같다.
    내용은 혁신적이다 read/ write를 분리하며 failover도 제공한다.

mySQL embedded
    C라이브러리로 제공되며 s/w혹은 h/w 제품을 개발할때 자료 관리를 할 수 있도록 해준다. 프로세스에 mysql을 숨긴다.

Goals of mySQL
    performance, easy to use, reliabilty - 흠 우리랑 100% 동일한데..ㅋㅋ

하지만 일반(우리)와의 차이점 이라면
    이거 좋아?? -> 흠 우린 언제 좋아지나.

경쟁 우위
    storage engine, engine에 따라 memory, store를 결정할 수 있다.
    사용 목적에 따라 db engine의 변경도 자유로움

제공하는 서비스
    level     : bronze, silver, gold, platinum
    access : 7   , 16, unlimit, unlimit
    knowledge base: v,v,v,v
    emergency: x, x, 1hour, 30min

    위와 같이 고객 서비스 차별화를 통해 돈을 벌 고 있음. 해도 그만 안 해도 그만 헌데 하면 막 좋을 것 같은 이런 기분이랄까....


mySQL cluster
    network distribute server 라고 하는데 내용인 즉슨 여러 서버를 tcp/ip로 묶어 작은 패킷을 사용해 데이터를 서로 공유 한다고 함 ( xml을 사용하지 않는것을 강조 했는데 쓸데없는 overhead를 줄이기 위해서 라고 함 그것을 binary protocol이라고 했는데 뭔지 모르겠음), 위에서도 언급했다시피 storage engine에 따라 사용 목적이 다른데 isam engine같은 경우 read는 빠르나 transaction 처리가 없다 이럴때 사용자는 innoDB engine을 사용하는 db에 내용을 넣고 sync된 데이터는 isam engine에서 읽어가면 된다...말 어렵군..

   
사용자 삽입 이미지

내가 원한 그림은 아닌데...모 이런 식임..

그리고 또 하나 중요한 비즈니스는 교육
    DBA, Developer등의 교육이 있을 뿐 아니라 강사가 되기 위한 교육도 있음. 흠 강사라.

Support에 대해선
    support is one reason of choose mysql, all suppotor can fix souce code

case study
    adobe cs는 mysql embedded 솔루션이 들어가있음

apache
    mod_memcached 란것이 있음 - mod_perl과 비슷하게 메모리에 상주해서 mysql의 performance를 높여 주는기능 인듯

performance tunning service
    benchmark tool사용
    scenario를 잘 구성해서 test를 해봐야 함.
    multi user가 access해야 함 등등의 조건이 있었음
    * 가장 중요한 핵심은 테스트 환경을 올바로 구성해야 제대로 된 데이터를 뽑아 낼 수 있음

    이전, 이후, bottle neck분석 등이 된 되는 지식 서비스..

my.conf 에 대해
    mysql의 설정은 my.conf를 통해서 이루어 진다.

show status
    상태 확인

sort_buffer_size와 관련된 parameter
    > show_status 명령
     | Sort_merge_passes        | 3078       | !!shold be zero
     우리 서버는 3078 이나 되네..흠흠...sort_buffer_size를 늘려야 함


join_buffer_size
query_cache_size
query_cache_type
    > Qcache_hits - to get data
    > Qcache_lowmem_prunes

show innodb stats
    InnoDB_buffer_pool_size
    InnoDB_buffer_file_size
우리는 innoDB를 사용하진 않음.

show status like '%key%';

여러 팁 ( myisam engine )
    sort할 필드도 index를 만들어 줘야 함
    declare not null if true; - 이건 지금도 사용하는 중
    key(a,b) 일 경우 where b=5 만 사용할 경우 index를 사용하지 않는다.
        정말일까?

unique index, btree index, force index에 관한 언급이 있었음

status 초기화를 통해 상태를 더욱 잘 볼 수 있음
flush status;
run query;
show status;
흠 데이터가 너무 커서 서버를 리부팅 해야 할까??

clustering != Replication
    뭐가 다른데?

Memcached clustering

사용자 삽입 이미지
메모리에 db를 올리는건데 우리 orders자료는 수백만 건인데 어찌 다 올리지? 가능할까?

case 또 나옴
    leapfrog school house 란 교육용 solution만드는 회사 소개 함
        classroom management system

    adobe 는 libmysqld라는 library사용 중
    POS 나 biotech에서도 사용 중

    zimbra - collaboration tool에서도 사용 중
        예전에 본 적 있는데 혁신적이던데.
 
    S2 NetBox - security h/w embedded linux & mysql

댓글 없음:

댓글 쓰기