kth 개발자 블로그

개발자가 행복한 회사 kth

 

'MySQL' Tag

  • Maria 2탄 – 진화하는 Maria, 함께하는 MySQL!!

    August 9, 2012

    Overview MySQL 오픈 소스 진영은 더이상 단순 데이터 처리에만 강한 DBMS이기를 거부합니다. 이제는 대용량 처리에 적합하도록 탈바꿈 중입니다. 지금까지 MySQL에서는 단일 쓰레드로 Nested Loop 방식으로 쿼리를 처리하였기 때문에, 조인 건 수가 대형화될 수록 성능이 급속도로 악화되었습니다. MariaDB는 5.3버전부터 DB 엔진과 스토리지 엔진 간의 데이터 전송이 개선되었고, 조인 시 추가적인 블록 기반의 조인 알고리즘을 제공합니다. 물론 MySQL도 5.6버전부터는 관련 [...]

    posted in Tech Note by sdchan1

  • MySQL 트랜잭션 Isolation Level로 인한 장애 사전 예방 법

    July 10, 2012

    Overview MySQL 사용시 종종 전체 데이터를 Scan 하는 쿼리를 질의하여 서비스에 큰 영향이 발생할 수 있습니다. InnoDB 스토리지 엔진의 기본 Isolation Level이 REPEATABLE-READ이기 때문에 발생하는 현상인데, 이것은 세션 변수 일부를 변경하여 문제를 사전에 해결할 수 있습니다. 얼마 전 이와 비슷한 장애가 발생하여 원인 분석 및 해결 방안을 포스팅합니다. Symptoms Transaction Isolation Level이 REPEATABLE-READ(MySQL Default) 상태에서 Insert into Select [...]

    posted in Tech Note by sdchan1

  • 메모리 기반 RDBMS, MemSQL을 알아봅시다

    July 4, 2012

    MemSQL이란? MemSQL은 디스크 병목을 최소화하기 위해 만들어진 메모리 기반의 관계형 DBMS입니다. 메모리 기반으로 데이터 처리가 이루어지기 때문에, 엄청난 속도로 Read/Write이 가능하며, 기존의 NoSQL 또는 캐시로만 가능했던 퍼포먼스 향상이 있습니다. 실제로 디스크 기반 DBMS 대비 약 30배 이상의 성능 향상이 있다고 하니, 놀라울 따름입니다. 최근 들어 메모리 가격이 하루가 다르게 저렴해지고 있기 때문에 메모리 사이즈를 최대한 [...]

    posted in Tech Note by sdchan1

  • Maria 1탄 – MySQL의 쌍둥이 형제 MariaDB를 소개합니다.

    June 21, 2012

    kth 데이터지능팀 성동찬   MariaDB란? MySQL이 Sun Microsystems로 넘어가면서 당시 MySQL AB 출신들이 따로 나와서 MySQL을 기반으로 한 다른 오픈 소스 기반의 DBMS를 배포했다고 합니다. 바로 MariaDB가 그것이며 MySQL과 유전 정보를 그대로 고수한 “진짜” 오픈 소스 기반의 DBMS입니다. 현재 Monty Program AB와 MariaDB Community에서 개발하고 있으며, MySQL과 기본적으로 구조 및 사용 방법 등 모두 동일합니다. [...]

    posted in Tech Note by sdchan1

  • Amazon RDS에서 유실된 데이터를 복원해보기!

    June 19, 2012

    kth 데이터지능팀 성동찬   Overview Amazon Relational Database Service(Amazon RDS)는 클라우드에서 관계형 데이터베이스를 쉽게 설치, 운영 및 확장할 수 있는 서비스입니다. 자원을 유연하게 배분할 수 있는 이점이 있는 클라우드이지만, 모든 서비스는 결국에는 사람 손을 거쳐야 하고, 때로는 인재로 인한 데이터 유실 사고가 발생할 수 있습니다. 사용이 편리하게 구현되어 있지만, 사용자에게 제공하는 권한 또한 상당히 제약적(인스턴스 관리자일지라도)입니다. 오늘은 [...]

    posted in Tech Note by sdchan1

  • MySQL에서 테이블 스키마를 “무중단”으로 변경해보자!!

    May 23, 2012

    kth 데이터지능팀 성동찬   Overview MySQL은 단순 쿼리 처리 능력은 탁월하나 테이블 스키마 변경 시에는 상당히 불편합니다. 일단 테이블 스키마 변경 구문을 실행하면 임시 테이블 생성 후 데이터를 복사하고, 데이터를 복사하는 동안에는 테이블에 READ Lock이 발생하여 데이터 변경 작업을 수행하지 못합니다. (Table Lock이 걸리죠.) 이 같은 현상은 인덱스, 칼럼 추가/삭제 뿐만 아니라 캐릭터셋 변경 시에도 [...]

    posted in Tech Note by sdchan1

  • MySQL 성능 죽이는 잘못된 쿼리 습관

    May 22, 2012

    kth 데이터지능팀 성동찬 Overview 안정적인 서비스 유지를 위해서는 쿼리 작성이 상당히 중요합니다. 잘못된 쿼리 하나가 전체적인 퍼포먼스를 크게 저해하기도 하고 최악의 경우 장애 상황까지 치닫기 때문이죠 단일 코어에서 Nested Loop Join으로 데이터를 처리하는 MySQL 특성 상 쿼리 구문에 큰 영향을 받습니다. (반드시 알아야할 MySQL 특징 세 가지 참고) 그래서 오늘은 쿼리 작성 시 기피해야 하는 사항 세 가지정도 [...]

    posted in Tech Note by sdchan1

  • MySQL 테이블과 인덱스 설계시 주의해야 할 13 가지

    May 15, 2012

    kth 데이터지능팀 성동찬 안녕하세요. 오늘은 MySQL을 사용할 때 지켜야할 사항 몇 가지 정리합니다. 나름 혼자서 정리를 해 본 것들인데, MySQL로 서비스를 준비 중이라면 한 번쯤은 고려를 해봤으면 하는 내용입니다.^^ 테이블 설계 시 유의 사항 1. 반드시 Primary Key를 정의하고 최대한 작은 데이터 타입을 선정한다. 로그 성 테이블에도 기본적으로 PK 생성을 원칙으로 함 InnoDB에서 PK는 인덱스와 [...]

    posted in Tech Note by sdchan1

  • MySQL Replication 이해하기 #3 – 활용

    May 4, 2012

    kth 데이터지능팀 성동찬 Overview MySQL Replication 시리즈 마지막 3탄, “활용”에 관한 포스트입니다. 앞 선 시리즈 MySQL Replication 이해 #1– 개념와 MySQL Replication 이해 #2 – 구성)에서 기본적인 개념과 구성을 다뤘다면, 이 자리에서는 실제적으로 어떤 분야에 활용할 수 있는지 설명드리겠습니다. Scale Out High Availability Data Partitioning 자, 그럼 시작해볼까요? Scale out MySQL Replication이 가장 많이 활용되는 분야입니다. MySQL [...]

    posted in Tech Note by sdchan1

  • MySQL Replication 이해하기 #2 – 구성

    April 12, 2012

    데이터지능팀 성동찬 Overview MySQL Replication 개념에 이어, 이번에는 실 구성에 관한 내용입니다. 각 서버 구성 방법은 “리눅스에 MySQL 설치하기” 편을 참고하시기 바랍니다. (흑심을 품은 개인 블로그 홍보 2탄입니다. ㅎㅎ) 시작에 앞서서 Server_id는 다른 숫자로 설정하세요^^a Replication 구성은 다음 세 단계를 거쳐서 수행됩니다. DB 유저 생성 DB 데이터 동기화(셋 중 택 1) – DB Data File Copy [...]

    posted in Tech Note by sdchan1

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org