데이터베이스 관리 시스템
데이터베이스 관리 시스템(DBMS, Database Management System)은 데이터베이스(DB)를 체계적으로 관리하기 위한 시스템을 말한다. 시스템 소프트웨어의 일종이다.
개념
데이터베이스(DB)가 데이터를 모아둔 집합이라면, 데이터베이스 관리 시스템(DBMS)은 그러한 데이터베이스(DB)를 관리하는 시스템이다. DBMS에는 정형 데이터를 관리하는 관계형 데이터베이스 관리 시스템(RDBMS)과 비정형 데이터를 관리하는 노에스큐엘(NoSQL) 등이 있다.
- 데이터(data) : 어떤 값을 포함하고 있는 가공되지 않은 1차 자료를 말한다.
- 데이터베이스(database) : 데이터를 모아둔 집합이다. DB라고 한다.
- 데이터베이스 관리 시스템(DBMS, database management system) : 데이터베이스를 체계적으로 관리하기 위한 시스템이다.
- 정보(情報, information) : 특정한 목적에 맞게 데이터를 정리하여 의미 있는 내용을 이끌어 낸 것을 말한다.
종류
관계형 데이터베이스 관리 시스템
- 관계형 데이터베이스 관리 시스템(RDBMS, Relational Database Management System)은 정형화된 데이터를 분석하기 위해 행과 열로 구성된 2차원의 표로 데이터를 표현하는 데이터베이스 관리 시스템(DBMS)이다. 현재 사용되는 대부분의 데이터베이스는 관계형 데이터베이스 모델을 기반으로 한다. RDBMS에는 Oracle, MySQL, MariaDB, MS-SQL, Access, Sybase, PostgreSQL, DB2, Informix, InterBase, Firebird, SQLite, Tibero, Cubrid, Altibase, SUNDB 등이 있다.
- 오라클(Oracle) : 미국 오라클사에서 만든 관계형 데이터베이스 관리 시스템(RDBMS)이다. 오라클은 MySQL 또는 MS-SQL과 마찬가지로 구조화 질의어인 SQL 기반으로 되어 있다.
- MySQL : '마이에스큐엘'은 오픈 소스 기반의 관계형 데이터베이스 관리 시스템(RDBMS)이다. 1995년 몬티 와이드니어스(Monty Widenius)가 개발했다. '마이'(My)는 그의 큰 딸 이름이다.
- 마리아디비(MariaDB) : 기존의 MySQL 5 버전을 포크하여 만든, 오픈 소스 기반의 관계형 데이터베이스 관리 시스템(RDBMS)이다. MySQL을 개발했던 몬티 와이드니어스(Monty Widenius)가 개발했다. '마리아'(Maria)는 그의 둘째 딸 이름이다.
- MS-SQL : '엠에스에스큐엘'은 미국 마이크로소프트가 개발한 관계형 데이터베이스 관리 시스템(RDBMS)이다. Microsoft SQL Server라고도 한다. Windows 기반의 IIS 서버에서 주로 사용한다.
- 액세스(Access) : 미국 마이크로소프트가 만든 관계형 데이터베이스 관리 시스템(RDBMS)이다. 1992년 개발되었고, 이후 마이크로소프트 오피스(Microsoft Office) 제품군에 포함되었다. 파일 확장자는 2003 버전까지는 .mdb였고, 2007 버전부터 .accdb로 변경되었다.
- 사이베이스(Sybase) : 1984년 미국에서 개발된 관계형 데이터베이스 관리 시스템(RDBMS)이다. 미국 마이크로소프트사의 MS-SQL은 사이베이스를 기반으로 제작하여 기능이 매우 유사하다. 사이베이스는 2010년 5월 독일의 SAP 회사에 인수되었다.
- 포스트그레스큐엘(PostgreSQL) : 오픈 소스 기반의 객체-관계형 데이터베이스 관리 시스템(RDBMS)이다. 포스트그레 에스큐엘이라고도 한다. 1982년 미국 버클리대학교 학생들이 개발한 인그레스(Ingres)를 개선한 제품이다.
- DB2 : '디비투'는 1983년 미국 IBM이 개발하여 판매하고 있는 상용 관계형 데이터베이스 관리 시스템(RDBMS)이다.
- 인포믹스(Informix) : 미국 인포믹스 소프트웨어가 개발한 관계형 데이터베이스 관리 시스템(RDBMS)이다.
- 인터베이스(InterBase) : 미국 엠바카데로 테크놀로지스(Embarcadero Technologies)가 관리하는 관계형 데이터베이스 관리 시스템(RDBMS)이다. 용량이 40MB로 매우 작고 관리자가 거의 필요 없는 편리한 RDBMS이다. 인터베이스를 기반으로 파이어버드가 만들어졌다.
- 파이어버드(Firebird) : 인터베이스를 기반으로 만들어진 무료 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)이다. 용량이 매우 작고, 메모리 소모도 작은 가벼운 RDBMS이다. 리눅스, 윈도, iOS, 유닉스 등 다양한 운영체제에서 작동한다. 파이어버드의 로고는 불새이다.
- 에스큐엘 라이트(SQLite) : 2000년 리처드 힙(Richard Hipp)이 개발한 관계형 데이터베이스 관리 시스템(RDBMS)이다. 서버에 설치되는 다른 RDBMS와 달리 SQLite는 응용 프로그램에 임베디드(Embedded) 방식으로 삽입된다. SQLite는 용량이 매우 작으며, 웹 브라우저와 안드로이드 운영체제 등에 기본 탑재되어 있다. 저작권이 소멸된 퍼블릭 도메인이므로 누구나 무료로 사용할 수 있다.
- 티베로(Tibero) : 한국의 ㈜티맥스소프트의 자회사인 ㈜티맥스데이터가 운영하는 관계형 데이터베이스 관리 시스템(RDBMS)이다. 오라클의 대체품으로 제작하였기 때문에 오라클과 유사하며, 대부분의 쿼리가 호환된다.
- 큐브리드(Cubrid) : 한국의 ㈜큐브리드가 개발한 오픈 소스 기반의 관계형 데이터베이스 관리 시스템(RDBMS)이다. 2006년 ㈜큐브리드가 개발했고, 2008년 네이버㈜의 계열사로 편입되었다. 2010년 ㈜큐브리드가 분사하여 기술지원을 맡고 있다.
- 알티베이스(Altibase) : 한국의 ㈜알티베이스가 개발한 메모리 기반의 관계형 데이터베이스 관리 시스템(RDBMS)이다. ㈜알티베이스 설립자인 김기완이 처음 개발했다. 모든 데이터를 메모리에 올린 후 처리하기 때문에 속도가 빠르다.
- 선디비(SUNDB) : 한국의 ㈜선재소프트가 개발한 메모리 기반의 관계형 데이터베이스 관리 시스템(RDBMS)이다. 인메모리 RDBMS인 알티베이스(Altibase)를 개발했던 김기완이 개발했다. 모든 데이터를 메모리에 올린 후 처리하기 때문에 속도가 빠르다. 또한 분산 클러스터 방식에 따라 다수의 소형 서버에 데이터를 분산하여 관리하기 때문에 대용량 DB 관리가 가능하고, 운영 중인 시스템을 중단하지 않은 채 DB 서버를 추가 및 확장할 수 있다.
역사
1974년 [[[IBM]]]은 RDBMS 프로토 타입 개발 프로젝트 인 System R을 개발하기 시작했다. System R은 1981년에 출시한 SQL/DS로 처음 상용화되었다. 하지만 최초의 상업적으로 이용이 가능한 RDBMS은 1979년 오라클이었다. RDBMS의 다른 예로 DB2, SAP Sybase ASE 및 Informix가 있다.
시장의 점유율
2018년도 7월 DB-Engines 기준(ref)[[1]]
1. Oracle
2. MySQL(/front)
3. Microsoft SQL Server
4. PostgreSQL
5. MongoDB
6. DB2
7. Redis
8. Elasticsearch
9. Microsoft Access
10. Cassandra
노에스큐엘
- 노에스큐엘(NoSQL)은 빅데이터(big data) 등 비정형 데이터를 분석하기 위한 데이터베이스 관리 시스템(DBMS)이다. NoSQL은 "Not Only SQL"의 약자이다. 몽고디비(MongoDB), 에이치베이스(HBase), 카산드라(Cassandra), 레디스(Redis) 등이 있다.
- 몽고디비(MongoDB) : 빅데이터와 같은 비정형 데이터를 분석하기 위해 사용하는 오픈 소스 기반의 데이터베이스 관리 시스템(DBMS)이다.
- 에이치베이스(HBase) : 하둡(Hadoop) 플랫폼을 위한 오픈 소스 기반의 비관계형 분산 데이터베이스 관리 시스템(DBMS)이다. 구글의 빅테이블을 참고하여 자바로 개발했다. 아파치재단이 관리하고 있다.
- 카산드라(Cassandra) : 빅데이터 등 비정형 데이터를 처리하기 위한 오픈 소스 기반의 비관계형 분산 데이터베이스 관리 시스템(DBMS)이다. 페이스북이 처음 개발했고, 아파치재단에서 관리하고 있다.
- 레디스(Redis) : Remote Dictionary Server의 약자로서, "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 2009년 살바토르 산필리포(Salvatore Sanfilippo)가 처음 개발했다. 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 DBMS이다. BSD 라이선스를 따른다.