MySQL

내위키
(MariaDB에서 넘어옴)

오픈소스 관계형 데이터베이스 관리 시스템. 초기에는 무료이며 가볍고 빠르다는 장점으로 소규모 데이터베이스 서버에 많이 쓰였지만 성능이 계속 향상되어 이제는 엔터프라이즈급 데이터베이스까지도 소화할 수 있을 만큼 성장했다. 위키백과, 카카오톡도 MySQL을 썼고, 구글도 MySQL을 여기 저기 많이 쓴다. 기술지원과 추가 도구를 사용할 수 있는 유료 버전인 엔터프라이즈 에디션과 무료로 쓸 수 있는 커뮤니티 에디션으로 나뉜다.

개인이나 소규모 웹사이트 같은 곳에서나 쓰는 데이터베이스라는 이미지가 강했으나 계속된 기능 개선 그리고 활발한 커뮤티니의 활용에 힘입어서 점점 엔터프라이즈급 서비스로도 발을 넓혀 왔다. 이제는 대규모 웹사이트 중에도 MySQL을 쓰는 곳이 심심치 않고, 카카오뱅크는 국내 은행권 최초로 MySQL을 도입했다. 다만 전체 데이터베이스를 다 MySQL로 한 것은 아니고, 가장 중요한 은행 거래 트랜잭션 같은 코어 부분만은 오라클을 쓰고 외부 서비스와 연계되는 데이터베이스에는 MySQL을 썼다. 그러나 이러한 서비스 역시도 높은 안정성과 신뢰성, 성능을 필요로 하기 때문에 업계에서 굉장한 화제가 되었다. 원래는 MySQL에서 갈라져 나온 MariaDB를 생각했는데 이중화 문제에서 MySQL 쪽 솔루션이 좋아서 이쪽으로 쓰게 되었다고. 이렇게 엔터프라이즈급으로 광범위해진 사용범위와 오픈소스라는 장점까지 겹쳐서 오라클에 이어 데이터베이스 시스템 시장 점유율 2위를 차지하고 있다.

MySQL 이전에도 상용 데이터베이스에 전혀 꿀리지 않는 기능을 제공하는 오픈소스 데이터베이스PostgreSQL이 있었지만 기능에 치중한 나머지 너무 무겁고 느리다는 단점이 있었다. MySQL은 일단 속도에 치중하고 기능은 나중에 붙이자는 전략을 썼다. 처음에는 트랜잭션도 안 됐다. 어쨌든 기능보다 속도라는 작전이 먹혀서 PostgreSQL은 MySQL에게 빠르게 밀렸다. 지금은 속도 면에서 오히려 PostgreSQL이 더 빠르다는 벤치마크 결과가 종종 나오지만 이미 MySQL이 대세가 되어 버린지라 대세를 뒤집기는 힘들 듯.[1] 그러나..

선마이크로시스템오라클이 인수하고 그에 따라 MySQL도 오라클로 넘어가자 오픈소스 쪽 분위기가 안 좋다. 그도 그럴 것이, 오라클오픈소스를 알게 모르게 적대시해 왔고 오픈소스 소프트웨어를 인수하면 단물만 빼먹은 후 제대로 유지 안 하고 방치하거나 오픈소스의 정책을 망각하고 폐쇄적인 정책으로 돌변하는 짓을 일삼았다. 했다. 특히 선마이크로시스템을 인수한 후 자바를 무기로 계속 특허권 분쟁을 일으키고 반면 오픈오피스.org처럼 돈 안되어 보이는 건 방치하다시피 하다 보니 더 이미지가 나빠졌다. 게다가 MySQL이 같은 데이터베이스라는 점에서, 잠재적인 경쟁자를 흡수하고 일부러 개발을 더디게 해서 자기들 주력제품의 시장 지위를 공고하게 하려는 거 아니냐... 이런 의심이 많다. 물론 오라클은 강력하게 부인하면서 지원을 아끼지 않겠다는 입장이지만, 이미 상당수 오픈소스 참여 개발자들이 이탈했고 주요 리눅스 배포판들도 마리아DBPostgreSQL로 갈아타는 분위기가 이어지고 있다. 그에 따라 MySQL의 개발도 이전에 비해 지지부진해지고 업데이트 주기도 길어지고 있는 모양새다.[2]

마리아DB

MySQL에 대한 우려도 하나 둘 현실이 되어 오픈소스 커뮤니티와 협력관계가 망가지고 있다. 개발이 진행 중인 소스코드를 공개 저장소에 올리지 않는 것이 그 예. 오라클은 오픈소스가 아닌 오픈코어라는 되도 않는 개드립 정책으로 자신들의 행태를 정당화시키고 있다. 즉 핵심 코어만 공개하고 그로부터 파생되는 각종 도구나 확장은 공개 안하겠다는 것.

급기야 MySQL의 아버지라 할 수 있는 마이클 위드니우스가 MySQL을 바탕으로 새롭게 마리아DB(MariaDB)를 개발했다.MySQL 쓰던 곳은 데이터베이스만 마리아DB로 바꿔 주면 거의 손볼 게 없을 정도로 뛰어난 싱크로율을 보인다. 아직도 유틸리티 이름이나 프로그래밍 라이브러리에서는 'mysql'이라는 이름을 많이 볼 수 있을 정도. 개발자들도 호환성을 가장 중요시하는 분위기. 시간이 지나면서 오히려 MySQL보다 새로운 기능을 더 빨리 도입하는 모습도 보이고, 점점 마리아DB 쪽이 가속이 붙는 모습이다.반대로 MySQL은 오픈소스 개발자들이 이탈하면서 기능 업데이트 발표 주기가 길어지고 있다.

하지만 마리아DB와 MySQL 사이에서 고민하다가 이중화 솔루션 관련 문제로 MySQL을 선택한 카카오뱅크의 사례에서 볼 수 있는 것처럼 지원 솔루션 쪽은 오랜 역사를 가지고 있고 아직은 점유율이 높은 MySQL 쪽이 더 좋은 상태다. 양쪽 모두 각자 개발을 진전하면서 기본적으로는 호환은 되지만 세세하게 들어가면 차이 나는 부분들이 점점 많아지고 있다. 일단은 현재로서는 마리아DB 쪽은 MySQL 호환성에 신경을 쓰고 있다. 지원 솔루션도 마리아DB가 점유율을 확대하면 더 늘어날 것은 자명하다.

여전히 MySQL의 점유율이 압도적이지만 오픈소스계의 분위기는 빠르게 마리아DB로 넘어가면서 시장 점유율을 빠르게 올리고 있다. 리눅스 배포판 중에 MySQL을 빼고 마리아DB로 대체하는 배포판이 늘고 있고, 심지어 구글까지도 그동안 사용하던 MySQL을 몽땅 마리아DB로 바꾸겠다고 선언해버렸고 위키백과, 카카오톡마리아DB로 바꿨다. 웹호스팅 서비스들도 별다른 호환성 문제가 없기 때문에 점점 MySQL을 마리아DB로 바꾸는 추세다. 사실 오라클이 MySQL을 인수했을 때 엔터프라이즈급까지 슬금슬금 넝보는 경쟁자 제거 차원이 아닌가 하는 의심을 많이 받았던 만큼 MySQL이 똥망한다고 해서 오라클이 충격 먹을 것 같지는 않지만 그 이유가 MySQL을 능가하는 대체제라면... 게다가 금융권에서도 마리아DB를 채택하는 조짐이 나타나고 있다. 싱가포르개발은행(Development Bank of Singapore, MBS)가 데이터베이스의 상당 부분을 오라클에서 마리아DB로 이전하는 데 성공했다.[3]

한편으로는 마이클 위드니우스를 좋지 않은 시각으로 보는 사람들도 있다. 오라클이 그럴 줄 모르고 팔았냐는 것이다. 오라클오픈소스 소프트웨어를 가진 회사를 사서 단물만 빨아먹고 오픈소스는 개판으로 만들어 놓은 게 어제 오늘 일이 아닌데 그거 모르고 팔았나? 마리아DB는 잘 되면 또 어디에 팔거냐는 비아냥. 반론으로는, 그가 돈을 번 건 MySQL이 선으로 넘어갔을 때지 오라클 덕이 아니었다는 견해다. 선은 오픈소스에 호의적이었고 적지 않은 오픈소스 프로젝트를 육성했다. 그렇지 않았다면 아파치재단부터 해서 오픈소스 진영이 자바 기반의 오픈소스 프로젝트를 그렇게 많이 진행하지는 않았을 것이다. 그럼에도 비판론자들은 마이클 위드니우스가 MySQL이 오라클로 넘어간 다음에도 한동안 MySQL 상용 버전 개발을 진행하고 있었던 점을 지적하고 있다.

각주