메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

MySQL 데이터 이전(마이그레이션) 및 위험 관리

한빛미디어

|

2010-04-12

|

by HANBIT

14,459

제공 : 한빛 네트워크
저자 : Mac Slocum
역자 : 배경호, http://twitter.com/kenbae7
원문 : MySQL migration and risk management

오라클의 썬 인수 후에 무수한 질문들이 쏱아져 나왔다. MySQL 지원은 어떻게 되는거지? MySQL 사용자들은 어떻게 해야 하는거지? DB 관리자들은 이제 어떤 관점으로 관리 포인트를 잡아야 하는 거지?
로널드 브래드포드 로널드 브래드포드가 마지막 질문에 답변해 줄 것입니다. 브래드포드는 RDBMS 전문가이고 곧 있을 MySQL Conference and Expo에서 주제 발표를 하기로 되어 있기도 합니다. 수년간 MySQL 인테그레이션에 관한 키 포인트들에 대해서 DBA들에게 가이드를 해 왔습니다. 아래의 Q&A에서 오라클에서 MySQL로 마이그레이션 하는 장점과 단점에 대해 설명해 주었습니다. (힌트: 비용절감 측면만이 아님) 그리고 MySQL의 미래와 그 사용자 집단에 대해서도 언급 했습니다.

오라클에서 MySQL로 옮겨타기

Mac Slocum: 오라클에서 MySQL로 마이크레이션하는 장점은 무엇입니까? 비용이 가장 큰 이유인가요?

Ronald Bradford: 그같은 마이그레이션을 고려하는 기업에게 오라클 라이센스 비용이 대개는 가장 큰 요소입니다. 또 다른 큰 이유는 LAMP 제품군 (역주.리눅스, 아파치, MySQL, PHP의 약자로 오픈소스 서버 제품 패키지를 의미)이 제공하는 많은 기능들, 프로젝트 관리, 버그 트래킹, 위키, 블로그, 그리고 CRM 등은 MySQL에서 가장 잘 돌아가기 때문이기도 합니다.

또, 값싼 최신 멀티코어 서버와 적절히 수평 확장성을 고려한 아키텍쳐가 한 통에 크게 담겨 수직 확장성을 생각해야 하는 데이터보다 위험 관리에 더 유리하기 때문이기도 합니다. 1에서 10%의 데이터에 문제가 생기는 것이 데이터 100%에 문제가 생기는 것 보다 훨씬 유리하니까요.

MS: 오라클에서 MySQL로 마이그레이션하는데 생기는 중요 이슈는 무엇입니까?

RB: 가장 큰 이슈는 마이그레이션 프로젝트에서 적절한 교육과 기술 습득 부분에 가장 적게 예산이 잡힌다는 부분입니다. 대개 라이센싱과 교육 프로그램에 대한 비용이 오라클 이외의 솔루션에는 적게 잡히는 것이 당연 하지만 MySQL은 오라클이 아닙니다. 대개의 기업 혹은 단체에서 직원들이 새로운 기술, 특히 기존 시스템을 유지해야만 할 경우에 필요한 새로운 기술을 습득하는데 걸리는 시간을 과소 평가하면 안됩니다.

두번째 이슈는 MySQL에 대해 부정적인 생각을 가지고 있는 직원들입니다. 예를 들면, 제가 관여한 사이트들 중 규모로 보았을 때 상위 20개의 프로젝트의 경우, 경영층이 MySQL로 바꾸자고 결정을 내렸을 때, 기술진들, 시스템 아키텍트들과 고급 DBA들은 그 생각에 동의하지 않았을 뿐 아니라 대놓고 싸우기까지 했습니다.

세번째는 모니터링입니다. MySQL은 이 부분에 있어서 부족한 점이 있습니다. 오픈 소스 모니터링 제품군 들과는 잘 묶여 있지만 상업 제품군들과는 호환성이 떨어집니다.

이런 이유들로 업무적으로 중요도가 상대적으로 떨어지는 시스템들에 시간을 두고 진행하는 것이 성공적인 마이그레이션 모델입니다. 일단 상대적으로 작은 프로젝트를 성공한 경험을 가지고 보다 더 큰 시스템 마이그레이션 프로젝트로 차근 차근 진행하는 것이 현명합니다.

MySQL의 미래

MS: 썬 인수 후의 어수선함이 가라앉고나면 MySQL에는 어떤 변화가 일어날까요?

RB: 오라클은 향후 삼년간 썬 뿐만 아니고 MySQL에 대한 투자를 서면으로 약속한 바 있습니다. 오라클의 광범위한 경험과 R&D 예산이 기존 제품군에 사용된 것처럼 MySQL에도 같은 투자가 이루어졌으면 하는 것이 제 바람입니다.

MySQL이 썬에 처음인수되었을 때는 기대했던 것 만큼 MySQL 사용자 커뮤니티의 활성화가 이루어지지 않았습니다. 버전 5.4.1이 아무도 모르게 출시되었을 때 많은 사용자들이 느낀 배신감은 이만 저만이 아니었죠. MySQL이 오라클의 내부로 기존의 기술적인 개발 과정이 흡수되기 까지는 많은 시간이 걸릴 것으로 생각합니다. 이 때문에 신버전이 출시되기까지는 시간이 한참 걸릴 것 같습니다.

저는 MySQL에 이루어 졌으면 하는 것이 두가지가 있습니다. 제품 자체에(애드온이나 외부 기능이 아니라) 탑재된 온라인 백업 솔루션과 좀더 완성도 높은 모니터링 기능(역주. instrumentation: 계측 방식, 혹은 대시보드라고도 불리는 소프트웨어 엔지니어링에서 내부 기능의 동작에 대한 정보를 제공하는 부분)이 제공되었으면 하는 것 입니다.

MS: MySQL개발자들이 오라클 인수 후 사용자들과의 관계가 더욱 두터워 질까요?

RB: 오픈소스라는 문화는 상업 제품과는 다른 매우 독특한 특징을 가지고 있습니다. MySQL 개발에 기여했던 사람들은 MySQL 커뮤니티에 지속적으로 기여하고, 글도 쓰고, 블로그에도 활발히 활동할 것 입니다. 오라클 인수 후 빠져나간 인원이 벌써 보이는 데, 오라클의 직원과 오픈소스 개발자들간에 어떠한 제약을 두는 것은 MySQL의 커뮤니티에 매우 위험한 요소가 될 것 입니다. 반대 측면을 보면, 오라클 개발자들이 MySQL의 열린 개발 방식에 익숙해 지는 것 역시 쉽지는 않겠죠.

MS: 먼티 위데니어스(역주. MySQL를 만든 주 개발자) 같은 사람들의 작업이 MySQL 호환 애드온 제품 시장을 키울 것이라 생각하십니까?

RB: MySQL 호환 제품 시장은 MySQL의 경영층이 오픈소스보다 상업 시장에 더 관심을 가지기 시작하면서 부터 생기기 시작했습니다. 제 생각엔 MySQL 호환 제품 시장은 계속 커질 것 입니다. 어떤 분이 MySQL 커뮤니티에서 말씀 하신 "트레이드 마크가 찍혀있는 MySQL 제품은 그저 많은 MySQL 제품들의 한 버전일 뿐이다"라고 말에 저는 동의합니다. 오픈소스로 공개된 MySQL 버전이 정식 MySQL 제품과 비슷하거나 오히려 더 훌륭한 경우도 있습니다. 단지 상업적인 지원이나 문서화가 없다는 것 뿐이죠.

MS: NoSQL (역주. 정해진 테이블 스키마를 가지고 있어야 하는 관계형 데이터베이스. relational database의 한계를 극복하기 위한 데이터베이스 구조로 구조화된 저장소. structured storage라고도 불린다) 제품군으로 분류되는 다양한 프로젝트가 있는데, 이들이 RDB 시장을 잡아 먹을거라 생각하십니까? 아니면 새로운 시장을 만들 것이라 생각하십니까?

RB: MySQL은 DB시장에서 게속 성장해 왔습니다. 오라클과 다른 제품들도 그랬죠. 이는 어떤 특정 제품이 아닌 시장 자체의 요구가 계속 성장했다는 것을 의미합니다. NoSQL 군들도 마찬가지로 시장의 요구를 더 크게 만들 것이라 생각합니다.

NoSQL 제품들에는 매우 훌륭한 기능들이 있습니다. 그리고 새로 부각되는 어떤 토폴로지건 현재 쓰이고 있는 제품들이 가진 약점을 최소화하고 강점을 최대화하는 아키텍쳐를 가진 솔루션이어야 합니다. Memcached, Tokyo Tyrant, Redis나 Cassandra 같은 KVD(Key-Value Database)들은 매우 이상적인 기능들을 가지고 있습니다. MongoDB나 CouchDB 같은 제품들은 어떤 다른 상황에 이상적일 수 있습니다.

또 다른 분야는 프리 텍스트 검색부분입니다. Sphinx, Lucene 나 Solr 같은 제품들은 웹사이트 웹 애플리케이션들에 아주 중요한 제품들입니다.

최근 트위터는 카산드라로 디비를 바꾼다고 발표했습니다. 이는 이러한 제품들이 이미 HA / HS (High available and scalable) 환경에서 문제가 없다는 것을 증명하는 것입니다. 어떤 제품을 선택하느냐는 급변하는 비즈니스 환경에 있어 그 상황에 어떤 제품이 가장 적합 하냐라고 하는 선택의 문제입니다.

MS: 4월에 열리는 MySQL Conference and Expo에서 발표하실 텐데요, "MySQLCamp for Oracle DBAs"라는 발표가 참가자들에게 어떤 면에서 도움이 될 것이라고 생각하십니까?

RB: 오라클 DBA들에게 단 두 세션에서 아주 깊이있는 내용을 전달하기란 쉽지 않은 일 입니다. 하지만 저는 참석해 주실 분들과 제 20년간의 오라클, MySQL, 그리고 기타 RDBMS의 경험을 나눌 것 입니다. 그리고 타 제품군에 편안한 분들이 어떤 방식으로 MySQL에는 접근하는 것이 가장 좋을지, 그 방법론에 대해서도 이야기 할 것 입니다. 참석자들은 MySQL이 가진 강점과 약점에 대해서 명확히 이해게 되실 것 입니다. 또 많은 분들이 빠지기 쉬운 함정에 관한 얘기도 나눌 것 입니다.

제가 한마디로 드리고 싶은 말씀이 있다면, "어떤 것도 가정하지 마라"라는 것 입니다. MySQL은 오라클이 아닙니다. 용어, SQL문, 구조 등이 MySQL과 오라클을 사용하는데 있어 성능 및 최적화에 큰 차이점이 있습니다.
TAG :
댓글 입력
자료실

최근 본 책0