데이터베이스 시장에서 가장 널리 사용되고 있는 Oracle, MySQL, MariaDB는 각각 독특한 역사와 특징을 가지고 있습니다.
이들 데이터베이스의 탄생 배경과 발전 과정, 그리고 상호 관계를 살펴보겠습니다.
Oracle Database는 1977년 래리 엘리슨(Larry Ellison)과 동료들이 설립한 Software Development Laboratories(현재의 Oracle Corporation)에서 시작되었습니다.
당시 IBM의 System R 프로젝트에서 발표된 SQL 논문에 영감을 받아 개발되었으며, 상용 관계형 데이터베이스 관리 시스템(RDBMS) 중 최초로 SQL을 지원했습니다.
MySQL은 1994년 핀란드의 마이클 위데니우스(Michael Widenius, "Monty"라는 별명으로 유명)와 데이비드 악셀마르크(David Axelmark)에 의해 개발되기 시작했습니다.
재미있는 사실: MySQL의 이름은 마이클 위데니우스의 첫째 딸 이름인 "My"에서 따온 것입니다.
SQL(Structured Query Language)과 결합하여 MySQL이라는 이름이 탄생했습니다.
이는 데이터베이스 역사상 가장 개인적이고 따뜻한 명명 사례 중 하나입니다.
MySQL AB라는 회사를 통해 상용화되었으며, 오픈소스와 상용 라이선스의 듀얼 라이선스 모델을 채택했습니다.
2008년 Sun Microsystems가 MySQL AB를 약 10억 달러에 인수했습니다.
이때까지 MySQL은 웹 개발과 중소 규모 애플리케이션에서 널리 사용되고 있었습니다.
2010년 Oracle이 Sun Microsystems를 인수하면서 MySQL도 Oracle의 소유가 되었습니다.
이 인수는 오픈소스 커뮤니티에서 큰 논란을 불러일으켰습니다.
MariaDB는 2009년 MySQL의 원래 개발자인 마이클 위데니우스("Monty")가 Oracle의 MySQL 인수에 대한 우려로 시작한 프로젝트입니다.
이름의 유래: MariaDB의 이름은 마이클 위데니우스의 둘째 딸 이름인 "Maria"에서 따온 것입니다.
MySQL(My + SQL)에 이어 MariaDB(Maria + DB)라는 이름으로, 아버지의 사랑이 담긴 또 다른 데이터베이스가 탄생한 것입니다.
위데니우스는 "내 딸들의 이름으로 두 개의 데이터베이스를 만들었다"며 자랑스러워했습니다.
MySQL의 포크(fork)로 시작되어 MySQL과 높은 호환성을 유지하면서도 독립적인 발전 경로를 걸어가고 있습니다.
2012년 MariaDB Foundation이 설립되어 오픈소스 개발을 담당하고, MariaDB Corporation이 상용 서비스와 지원을 제공하는 구조로 발전했습니다.
마이클 위데니우스는 데이터베이스 역사상 가장 특별한 아버지입니다.
그의 두 딸 My와 Maria의 이름이 각각 MySQL과 MariaDB가 되어 전 세계 개발자들이 매일 사용하고 있습니다.
위데니우스는 인터뷰에서 "내 딸들이 자라서 자신들의 이름이 데이터베이스가 된 것을 자랑스러워할 것"이라고 말했습니다.
마이클 위데니우스는 "Monty"라는 별명으로 더 유명합니다.
이 별명은 영국의 코미디 그룹 "Monty Python"에서 따온 것으로, 그의 유머러스한 성격을 보여줍니다.
실제로 MySQL과 MariaDB의 많은 기능과 명령어에도 유머러스한 요소들이 숨어있습니다.
MySQL의 상징인 돌고래 로고의 이름은 "Sakila"입니다.
이 이름은 MySQL AB에서 진행한 "Name the Dolphin" 콘테스트에서 선정되었으며, 아프리카 스와힐리어에서 따온 것입니다.
MySQL 샘플 데이터베이스 중 하나인 "Sakila Database"도 이 돌고래의 이름을 따서 만들어졌습니다.
MariaDB는 바다표범(seal)을 로고로 사용합니다.
이는 MySQL의 돌고래와 같은 해양 동물이면서도 구별되는 정체성을 보여주기 위한 선택이었습니다.
바다표범은 민첩하고 적응력이 뛰어난 동물로, MariaDB의 특성을 잘 보여준다고 할 수 있습니다.
많은 사람들이 모르는 사실이지만, Oracle이라는 이름은 CIA의 프로젝트 코드명에서 따온 것입니다.
래리 엘리슨과 동료들이 CIA를 위한 데이터베이스 프로젝트를 진행할 때 프로젝트명이 "Oracle"이었고, 이후 회사명과 제품명으로 사용하게 되었습니다.
"신탁"이라는 의미의 Oracle은 "모든 질문에 답을 주는 시스템"이라는 뜻을 담고 있습니다.
MySQL은 한때 매우 독특한 버전 넘버링 시스템을 사용했습니다.
메이저 릴리스 사이에 몇 년이 걸리는 경우가 많아서, 5.0에서 5.1, 5.5, 5.6, 5.7을 거쳐 갑자기 8.0으로 건너뛰었습니다.
버전 6과 7을 건너뛴 이유는 MySQL Cluster와 MariaDB의 버전과의 혼동을 피하기 위해서였습니다.
마이클 위데니우스가 핀란드 출신인 것은 우연이 아닙니다.
핀란드는 리누스 토르발스(Linux 창시자)를 비롯해 많은 오픈소스 거장들을 배출한 나라입니다.
추운 북유럽의 긴 겨울이 프로그래밍에 집중할 수 있는 환경을 만들어준다는 농담도 있습니다.
MySQL 패밀리에는 잘 알려지지 않은 MaxDB도 있습니다.
이는 마이클 위데니우스의 아들 Max의 이름을 따서 만들어진 데이터베이스입니다.
하지만 MaxDB는 MySQL이나 MariaDB만큼 성공하지 못했고, 현재는 거의 사용되지 않고 있습니다.
MySQL과 MariaDB의 개발 철학에는 흥미로운 차이가 있습니다.
MySQL은 "하위 호환성"을 최우선으로 하는 반면, MariaDB는 "혁신과 개선"을 더 중시합니다.
이 때문에 MariaDB는 MySQL보다 더 빠르게 새로운 기능을 도입하고 있습니다.
Oracle은 MySQL을 인수한 후에도 오픈소스 정책을 유지하고 있지만, 일부 고급 기능은 상용 버전에서만 제공됩니다.
Oracle은 MySQL을 엔터프라이즈 시장보다는 웹 및 중소규모 애플리케이션 시장에 포지셔닝하고 있습니다.
MariaDB는 MySQL의 직접적인 대체재로 설계되었습니다.
대부분의 MySQL 애플리케이션이 수정 없이 MariaDB에서 동작하며, 많은 Linux 배포판이 MySQL 대신 MariaDB를 기본 데이터베이스로 채택했습니다.
Oracle Database:
- 대용량 트랜잭션 처리에 최적화
- 복잡한 쿼리 처리 성능 우수
- 멀티코어, 멀티노드 환경에서 뛰어난 확장성
MySQL:
- 읽기 중심 워크로드에서 우수한 성능
- 단순한 쿼리 처리가 빠름
- 웹 애플리케이션에 최적화
MariaDB:
- MySQL 대비 향상된 쿼리 최적화
- 병렬 복제 지원으로 확장성 개선
- 다양한 스토리지 엔진 지원
Oracle Database는 여전히 대기업과 미션 크리티컬한 애플리케이션에서 선택받고 있습니다.
복잡한 비즈니스 로직과 대용량 데이터 처리가 필요한 환경에서 그 가치를 인정받고 있습니다.
MySQL과 MariaDB는 웹 애플리케이션, 스타트업, 그리고 클라우드 네이티브 애플리케이션에서 널리 사용되고 있습니다.
특히 MariaDB는 많은 클라우드 제공업체에서 관리형 서비스로 제공되고 있습니다.
MariaDB는 순수 오픈소스 정책으로 개발자 커뮤니티의 지지를 받고 있으며, Red Hat Enterprise Linux, Ubuntu, SUSE 등 주요 Linux 배포판의 기본 데이터베이스로 채택되었습니다.
클라우드 컴퓨팅의 확산과 함께 관리형 데이터베이스 서비스가 인기를 얻고 있습니다.
AWS RDS, Google Cloud SQL, Azure Database 등에서 이들 데이터베이스를 서비스로 제공하고 있습니다.
Oracle, MySQL, MariaDB는 각각 다른 목적과 환경에 최적화된 데이터베이스입니다.
Oracle은 엔터프라이즈급 안정성과 성능을, MySQL은 웹 개발의 편의성을, MariaDB는 오픈소스의 자유로움과 혁신을 대표합니다.
이들 데이터베이스의 역사를 이해하면 각각의 강점과 특징을 더 잘 파악할 수 있으며, 프로젝트의 요구사항에 맞는 최적의 선택을 할 수 있을 것입니다.
결국 '최고의 데이터베이스'는 존재하지 않으며, 상황과 요구사항에 맞는 '최적의 데이터베이스'를 선택하는 것이 중요합니다.