공부해봅시당
[쉽게 배우자! DataBase] 대표적인 3대 DB를 알아보자 본문
대표적인 3대 DB를 알기 전에
먼저 대표적인 3대 DB란 기본적으로, 현재 가장 대중적으로 쓰이는 RDBMS를 효율적으로 사용하기 위한 언어를 제공하는 시스템을 말한다.
따라서 3대 DB를 알아보기 전에 간단하게 RDBMS이 무엇인지만 알고 넘어가려고 한다.
RDBMS란?
RDBMS란 Relational DataBase Management System의 약자로, 말 그대로 관계형 데이터 베이스 시스템을 뜻한다.
또한 이름에서부터 예상할 수 있겠지만 RDBMS는 DBMS의 한 종류이다.
DBMS에는 한 가지만 있는 것이 아니라 여러 가지 종류가 있다는 것이다.
아래는 위 4가지 종류를 그림으로 간략히 표현한 것이다.
오늘의 목표는 대표적인 3대 DB를 알아보는 것인데, 대표적인 3대 DB 모두 RDBMS를 기반으로 하기 때문에 RDBMS를 다른 DBMS와 함께 간략히 소개하였다.
여기서는 살짝 '아~ 이런게 있구나' 하는 느낌으로 넘어가고, RDBMS에 대한 세부사항은 다른 포스팅에서 다뤄보도록 하자
(DBMS에 대한 설명은 이전 포스팅에서 간단하게 다루었으므로 DBMS가 궁금하신 분은 링크를 참고하기 바란다 :
https://study0304.tistory.com/3 )
3대 DB를 왜 알아야 할까
앞에서 3대 DB는 RDBMS를 효율적으로 사용하기 위한 언어를 제공한다고 언급하였다.
이때 우리가 사용하는 언어의 이름을 'SQL(Structured Query Language)'라고 한다.
SQL로 쉽게 데이터를 관리할 수 있게 된 것이다.
(혹시 오해할 수 있기 때문에 미리 말하자면 SQL은 프로그래밍 언어가 아니다. SQL은 데이터베이스와 대화하기 위한 수단일 뿐이다.)
우리는 데이터를 만들고, 만든 데이터를 읽고, 수정하고 삭제하는 작업을 할 때 SQL을 사용한다.
이 작업을 우리는 Create(생성), Read(읽기), Update(수정), Delete(삭제)라고 하고, 보통 줄여서 CRUD 작업이라고 표현한다.
이때 관계형데이터 베이스와 SQL의 중요성은 아래 문장으로 충분히 이해가 가능할 것이다.
현실적으로 기업의 핵심 데이터는 대부분 관계형 데이터베이스 구조로 저장이 되고, 관계형 데이터베이스를 유일하게 조작할 수 있는 SQL 문장에 의해 관리되고 있으므로 관계형 데이터베이스와 SQL의 중요성은 아무리 강조해도 지나치지 않다
- SQL 자격검정 공식수험서 SQL 전문가 가이드 p.149
여기서 우리가 대표적 3대 DB를 알아야 하는 이유를 알 수 있다.
3대 DB는 DB를 개발한 각각의 회사의 특징을 가진 SQL언어와 저장 특성을 보이기 때문이다.
따라서 우리가 DB를 사용할 때, 무작정 '수업에서, 혹은 책에서 이걸 쓰라고 했으니까 이걸로 써야지'가 아니라 어떠한 이유 때문에 이 DB를 쓰는건지, 다른 DB와 비교해 어떤 장점과 단점이 있는건지를 알고 사용할 필요가 있는 것이다
3대 DB의 역사 요약
3대 DB의 특징과 장단점을 알기 위한 최고의 방법은 그들의 역사를 탐구해보는 일이다.
따라서 우리는 3대 DB의 역사를 살펴보면서 각 DB의 특징을 알아보도록 하자
(먼저, 대표적인 3대 DB에 대해 각자의 의견이 다를 수 있겠지만, 여기서는 ORACLE사의 ORACLE, MySQL AB사의 MySQL, MariaDB사의 MariaDB를 칭하는 것으로 한다.)
3대 DB의 시간에 따른 주요 변화를 살펴보면 아래 그림과 같다
오라클의 역사
오라클사의 창업주인 3인 -래리 앨리슨, 봅 마이너, 애드 오츠가 처음 만든 회사는 'SDL(System Develop-ment Laboratories)' 라고 하는 소규모의 컨설팅 회사였다.
이들은 1976 11월, IBM의 'Journal of Research and Development'에 실린 E.F. 코드 박사의 논문을 접한 뒤 RDBMS의 상업적 성공을 확신하여 RSI라는 회사를 창설하게 된다.
과거 함께 진행했던 프로젝트 이름에서 영감을 받아 'Oracle'이라는 이름으로 내놓은 RDBMS는 고객들에게 깊은 인상을 주기 충분했다.
하지만 개발 초기 단계인지라 미숙한 부분이 많았다.
따라서 버전 1과 버전2를 출시한 후, 단점을 보완하여 버전 3을 내놓았다.
(오라클 RDBMS는 기존 어셈블리언어에서 거의 전체를 다시 코딩하여 C언어로 버전 3를 내놓았다.)
C언어로 변경된 버전 3은 윈도우, 리눅스, 유닉스 등 다양한 운영체제에서 활용할 수 있게 하는 기틀이 되었다.
이때 회사명이 현재의 Oracle Corporation으로 변경되게 된다.
이후 오라클사는 1984년 버전 4를 소개하면서 판매량이 급격이 증가하게 된다.
버전 4에서부터 읽기 일관성과 트랜잭션을 완전히 지원하게 되면서 생긴 성과였다.
이에 만족하지 않고 현재까지 계속하여 업그레이드하며, 다양한 기능을 갖추게 된다.
하지만 오픈소스가 아닌 비공개 소스이기 때문에 요금을 지불해야 해서 대기업들이 주로 이용하고 있다.
MySQL과 MariaDB의 역사
MySQL은 1995년 MySQL AB사에서 처음 출시하였다.
MySQL AB사 창립자 중 1인이자 MySQL의 핵심개발자인 몬티와이드니어스는 오픈소스로 제작하여 MySQL를 배포하였다.
무료로 배포함에도 대용량처리가 가능하다는 점과 높은 안정성, 높은 성능까지 가진 MySQL의 인기는 갈수록 커지게 된다.
하지만 썬 마이크로시스템즈에 인수된 후 오라클이 썬 마이크로시스템즈를 인수하면서 문제가 발생한다.
공동 창업주였던 몬티와이드니어스가 추구하던 '오픈소스'에서 '오픈코어' 전략을 추구하는 오라클에 따라 유료 서비스를 시작하게 된 것이다.
(이때 오픈코어는 오픈소스를 활용한 확장기능이나 엔터프라이즈 기능은 공개하지 않는 전략을 말한다.)
이는 오라클이 썬 마이크로시스템즈를 인수하기로 계획한 시점부터 발생한 갈등으로, 결국 오라클에 인수되기도 전인 2009년 몬티와이드니어스는 기존 MySQL의 핵심 개발자들과 함께 MariaDB사를 세워 MariaDB를 오픈소스로 배포하게 된다.
아래는 당시의 기사 중 일부를 발췌한 것이다
현재 오라클은 당장 이익에 취해 MySQL을 폐쇄적인 방향으로 이끌고 있습니다
.....
오라클은 MySQL 개발 방향에 대해 이미 오픈소스 커뮤니티와 협력을 중단한 상태로, 이는 올바른 오픈소스 활용법이라고 볼 수 없습니다
- 몬티 와이드니어스
이후 2010년 오라클이 썬 마이크로시스템즈를 인수하면서 MySQL은 유료로 전환된다. (현재, 학생용 & 비상업용은 무료라고 한다)
앞서 말했다시피 MariaDB의 창업자는 MySQL의 핵심 개발자이자 공동 창업자인 몬티 와이어드니스였다.
이에 따라 MariaDB는 MySQL과 높은 호환성을 보이는 것이 특징이다.
이후 MariaDB는 MySQL 기술력으로 개발했기 때문에 MySQL보다 성능상으로 더 우위라는 평을 받는다.
더해, '오픈소스'로 배포한다는 점에 MySQL을 사용하던 기업들도 최근에는 MariaDB로 전환하고 있는 추세이다.
MySQL에서 MariaDB로 전환한 대표적인 기업으로는 위키백과, 카카오톡, 구글 등이 있다.
(참고로 MySQL에서의 My과 MariaDB에서의 Maria라는 이름은 모두 몬티와이드니어스의 딸 이름이라고 한다!)
아직은 MySQL과 상당 부분 비슷하지만 MariaDB사에서 MySQL과의 차별점을 보여주겠다고 공언했기 때문에 앞으로를 주목해볼만 하다.
최종정리
Oracle
- 오라클사에서 판매 중인 상업용 데이터베이스
- 윈도우, 리눅스, 유닉스 등 다양한 운영체제에서 설치 가능
- MySQL보다 대량의 데이터 처리 용이
- 대기업에서 주로 사용하며 글로벌 DB 시장 점유율 1위
- 비공개 소스, 폐쇄적 운영
- 가장 널리 사용되는 RDBMS
MySQL
- MySQL사에서 개발했지만 현재는 오라클에 합병됨
- 다양한 운영체제에서 설치 가능
- 상업용으로 이용할 경우 비용 발생(비상업용일 경우 무료)
- 가격이 비교적 저렴하여 다수의 중소기업에서 사용중인 RDBMS
MariaDB
- MySQL이 오라클에 인수합병된 후 불확실한 라이선스 문제를 해결하기 위해 출시된 오픈소스
- MySQL과 동일한 소스코드를 기반으로 하고 있기 때문에 MySQL과 호환성이 좋음
- MySQL과 비교해 애플리케이션 부분 속도가 약 4~5천배 정도 빠름
- 빠른 속도로 업그레이드 중이며, MySQL과의 차별점을 보여주겠다고 공언했기 때문에 앞으로가 기대됨
참고자료
https://www.datanet.co.kr/news/articleView.html?idxno=114558
DBMS의 탄생과 발전, 그리고 역사 - 데이터넷
오늘날 대부분의 기업에서 사용되고 있는 DBMS는 컴퓨터가 발명된 이후 오랫동안 기업들의 필수 애플리케이션으로 자리해 왔다. 현재는 오라클이 전 세계적으로 DBMS 분야에서 명성을 날리고 있
www.datanet.co.kr
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hshee78&logNo=140111329650
오라클(Oracle) 데이터베이스의 역사
오라클 데이터베이스의 역사 오라클사의 창업주인 3인 - 래리 엘리슨(Larry Ellison), 봅 마이너(Bob M...
blog.naver.com
https://coding-factory.tistory.com/78
[DB기초] DBMS 개념과 종류 및 장단점 분석
DBMS란? 데이터베이스를 직접 응용 프로그램들이 조작하는 것이 아니라 데이터베이스를 조작하는 별도의 소프트웨어가 있는데 이를 데이터베이스 관리 시스템(DBMS : DataBase Management System)이라고
coding-factory.tistory.com
다양한 데이터베이스
'SQL 첫걸음'을 공부하고 정리한 글입니다DBMS에는 여러 종류가 있다.데이터베이스의 사용 용도나 이를 제어하는 프로그래밍 환경 등 각각의 조건에 들어맞는 다양한 DBMS가 고안되었기 때문이다.D
velog.io
https://letitkang.tistory.com/126
[Database] 마리아 DB ? 오라클 ? Mysql ?
오늘은 Database 차이에 대해서 간단히 정리해보겠습니다. 1. 마리아 DB 마리아DB는 오픈소스 데이터베이스입니다. 마리아DB는 관계형 데이터베이스의 초기 개발자 일부가 참여하여 Mysql의
letitkang.tistory.com
https://dololak.tistory.com/766
[MariaDB] MariaDB란? Maria DB 다운로드 및 설치 방법
Maria DB란? Maria DB(마리아 DB)는 오픈소스(무료) RDBMS(관계형 데이터베이스)입니다. MySQL과의 관계 MySQL은 1995년 MySQL AB사에서 오픈소스로 제작된 DBMS로 무료 DBMS이면서 대용량 DBMS로서 높은 안정성..
dololak.tistory.com
https://cipleme.tistory.com/13
[MySQL] MariaDB 히스토리
개요 MySQL은 오픈소스의 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 1994년 마이클 와이드니어스와 데이빗 액스마크에 의해 MySQL은 개발이 되었고, 1995년도 최초의 국제화판이 출시된 역사 깊
cipleme.tistory.com
https://engkimbs.tistory.com/931
[MariaDB] MariaDB란 무엇일까? MariaDB 소개 (MariaDB Overview)
■ MariaDB란? MariaDB는 MariaDB사가 제작한 오픈소스 RDMBS 소프트웨어입니다. MariaDB가 무엇인지 알기위해서는 MySQL이란 유명 RDBMS를 알아야합니다. 왜냐하면 MySQL에서 떨어져나온 RDBMS가 MariaDB이기 ..
engkimbs.tistory.com
https://bae9086.tistory.com/264
1.MariaDB란?(MySQL과의 차이점)
1.1MariaDB란? Monty Program AB회사에서 만든 하나의 독립적인 RDBMS. -MySQL 커뮤니티 코드 베이스를 이용해서 탄생하였으며, Monty Program AB에 의해서 다듬어진 MySQL입니다. MySQL의 경우 커뮤니티 버전은..
bae9086.tistory.com
https://1coding.tistory.com/21
[MySQL] MySQL이란? (장점, 역사)
MySQL MySQL은 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템(RDBMS: Relational DBMS)입니다. MySQL은 오픈 소스이며, 다중 사용자와 다중 스레드를 지원합니다. 또한, C언어, C++, JAVA, PHP 등 여.
1coding.tistory.com
http://tcpschool.com/mysql/mysql_intro_intro
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
https://ko.wikipedia.org/wiki/MariaDB#MySQL%EA%B3%BC%EC%9D%98_%ED%98%B8%ED%99%98%EC%84%B1
MariaDB - 위키백과, 우리 모두의 백과사전
MariaDB는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다. MySQL과 동일한 소스 코드를 기반으로 하며, GPL v2 라이선스를 따른다. 오라클 소유의 현재 불확실한 MySQL의 라이선스 상태에 반
ko.wikipedia.org
https://ko.wikipedia.org/wiki/MySQL
MySQL - 위키백과, 우리 모두의 백과사전
MySQL(마이에스큐엘, )[2]은 세계에서 가장 많이 쓰이는[3] 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다.[4] 다중 스레드, 다중 사용자 형식의 구조질의어 형식의 데이터베이스 관리 시
ko.wikipedia.org
오라클 데이터베이스 - 위키백과, 우리 모두의 백과사전
ko.wikipedia.org
https://www.guru99.com/mariadb-vs-mysql.html
MariaDB vs MySQL: What is the Difference Between MariaDB and MySQL
Details Last Updated: 14 June 2021 What is Maria DB? MariaDB is a fork of the MySQL database management system. The RDBMS offers data processing capabilities for both small and enterprise tasks. This DBMS is an improved version of MySQL. It comes with nume
www.guru99.com
https://m.blog.naver.com/sundooedu/221301384166
데이터베이스 관리 시스템(DBMS)의 정의와 종류
데이터들이 모여있는 데이터들의 집합인 데이터베이스(Database)를 관리할 수 있는 데이터베이스 관리시스...
blog.naver.com
https://www.bloter.net/newsView/blt201302030001
MySQL 개발자 "오라클, 잘못 가고 있다"
www.bloter.net
'STUDY > DATABASE' 카테고리의 다른 글
[DATABASE] SQLD 데이터 독립성에서부터 스키마 3계층까지 (2) | 2024.03.08 |
---|---|
[자습시간! DataBase] 트랜잭션에 대해 알아보자 (0) | 2021.07.28 |
[자습시간! DataBase] JDBC와 DBCP에 대해 알아보자 (0) | 2021.07.12 |
[자습시간! DataBase] InnoDB와 MyISAM을 알아보자 (0) | 2021.07.12 |
[쉽게 배우자! DataBase] DataBase와 DBMS란 무엇일까 (8) | 2021.07.04 |