'Drizzle'에 해당되는 글 1건

  1. 2013.07.01 MySQL 클론의 역습 - 3 (Drizzle 편)

이번에는 MySQL 클론들 중에 맏형격인 Drizzle에 대해서 적어 볼까 한다.



3. Drizzle


Drizzle은 Cloud 환경 기반 Database이다. 

Drizzle은 Cloud 환경에 최적화 되었으며, 경량이고(하지만 고성능), 어떤 특정 회사가 개발하고 소유하는 것이 아니라 개발자 커뮤니티를 통해 개발되고 공유되고 있다. 

Drizzle(이슬비)라는 네이밍이 참으로 적절한것 같다.


처음 Drizzle에 대해서 조사할 때 "Cloud 환경 기반"이라는 것이 어떤 특징을 가져야 하는 가에 대해서 이해하지를 못했었다. 

Google신을 닥달해 본 결과 본인은 Cloud 환경이란 "한정된 하드웨어 리소스를 서로 공유해서 사용해야 하는 환경"으로 이해했다. 


하드웨어 리소스를 효과적으로 사용하기 위해 Drizzle은 MySQL을 대체하는 것이 목적이 아니라 MySQL을 최대한 다이어트 시키는 것을 선택했다.

그래서 MySQL과 개발 환경이 비슷하지만 완벽하게 호환이 되지는 않는다.


사실 Drizzle은 MySQL이 Oracle에 인수되기 훨씬 전에 이미 프로젝트가 시작되었기 때문에 앞서 소개된 두개의 DBMS가 MySQL처럼 MySQL의 대체제가 목적은 아니었다.

Drizzle은 초심을 잃어버린 MySQL에 반기를 들고, 초심으로 돌아가고자 튀어나온 DBMS로 개발도 개발자 커뮤니티를 중심으로 진행되고 있는 진정한 의미의 Open source Project라고 할 수 있다.


그럼 Drizzle은 어떤 군더더기들을 뺏을까?


  • Drizzle에는 trigger나 stored procedures가 없는데, Drizzle의 개발자들은 이 두가지의 기능 때문에 MySQL이 필요 이상으로 비대해 졌다고 생각했고, 이 기능들의 필요성에 대해서는 다른 방식으로 풀 수 있을거라고 생각했다.
  • Drizzle에서는 오직 utf-8만 지원한다. 
  • MySQL의 100만 줄이 넘는 소스 코드를 1/3 미만으로 줄였다.
  • 기본 storage engine으로 InnoDB를 채택했으며, MyISAM은 아에 빼버렸다.


Drizzle이 추구하는것이 무엇인지 느낌이 오는가?


그 외 replication을 굉장히 쉽게 구축할 수 있도록 수정하는 등, 관리 포인트를 최소화 함으로써 개발자나 관리자의 수고를 덜어주는데 집중했다.


전체적인 인상은 Cloud 환경이나, 간단한 웹프로그램을 위해 최소, 최적화된 경량 DBMS라는 느낌이 강하다.


Drizzle에 대해서는 조사만 하고 실제로 설치하고 돌려보지 않아서 뭐라 쓸만한 내용이 별로 없는데, 시간이 되는데로 테스트해보고 결과를 따로 포스팅 하도록 하겠다.



Posted by 얌노트