트위터가 최적화한 '마이SQL' 소스 공개

일반입력 :2012/04/11 17:34    수정: 2012/04/12 10:09

트위터 서비스에 마이SQL(MySQL) 데이터베이스를 최적화시키는 비법이 공개됐다. 회사가 5억명 이상 회원들의 정보를 저장하고 매일 1억명이 넘는 방문자들의 데이터 입출력을 다루기 위한 노하우를 오픈소스로 푼 것이다.

미국 씨넷은 지난 9일 트위터가 그 사용자들로부터 생성된 데이터를 저장하기 위해 쓰는 데이터베이스 기술을 수없이 조율한 이력을 내놨다고 보도했다.

이들이 사용중인 마이SQL은 웹서비스 시장에서 광범위하게 쓰이는 오픈소스 기반 관계형 데이터베이스관리시스템(DBMS)이다.

트위터 개발자 제레미 콜과 다비 아놋은 공식 엔지니어링 블로그를 통해 마이SQL은 트위터 서비스상의 타임라인, 사용자정보, 메시지, 관심그래프같은 트위터 데이터 대부분을 감당하는 스토리지 기술이라고 설명했다.

이어 지식을 공유함으로써 오픈소스 소프트웨어 혁신을 촉진할 수 있다는 믿음에 따라 우리는 마이SQL에 투입한 작업을 BSD뉴라이선스 기반으로 기트허브(GitHub)에 올려놓기로 했다고 밝혔다.

기트허브는 웹기반 오픈소스 협업 네트워크 사이트다. 앞서 기업용 인맥관리 서비스 링크드인이 자사가 축적한 분산처리기술 '하둡' 기반의 데이터관리 최적화 기술을 공개한 곳도 여기다.

트위터가 기트허브에 공개한 코드는 일반적인 마이SQL에 ▲더 용량이 큰 NUMA 시스템에서 메모리할당을 최적화하고 ▲더 많은 상태 변수를 추가하고 ▲서버측 스테이트먼트 타임아웃 지원기능을 향상시키고 ▲이노DB 버퍼 풀을 추출하거나 복구할 수 있도록 하고 ▲SSD 장비에서 돌아갈 때 최적화한 성능을 제공하는 내용을 포함한다.

관련기사

트위터측 개발자들은 관련 솔루션 개발업체들이 이 기술을 활용해 기존 마이SQL 커뮤니티와 함께 마이SQL DBMS를 더 잘 활용할 수 있기를 기대한다고 밝혔다.

한편 BSD라이선스는 미국 캘리포니아대학이 관장하는 오픈소스 소프트웨어용 라이선스의 일종이다. 한국저작권위원회 오픈소스라이선스정보시스템에 따르면 BSD라이선스는 GNU자유소프트웨어재단의 일반공중라이선스(GPL)보다 훨씬 개방적인 4개항의 간단한 문구로 돼 있다.