티스토리 뷰
이론적으로 데이터베이스(DB, Database), 데이터베이스 관리 시스템(DBMS, Database Management System), 데이터베이스 시스템(DBS, Database System)은 모두 각자의 정체가 있습니다. DBMS는 하나 이상의 DB를 관리하는 시스템으로 통상 오라클, SQL Server, MySQL과 같은 제품을 지칭합니다. 각 DBMS별로 관리하는 DB의 형태와 구조가 다르기 때문에 DB는 DBMS에 의존적이고 서로 다른 DBMS가 동일한 DB를 사용할 수는 없고 다른 DBMS의 DB를 사용하려면 통상 전환 과정을 거쳐야 합니다. DB와 DBMS로 구성된 시스템을 통칭하여 DBS, 데이터베이스 시스템이라고 합니다. "데이터베이스"라고 하면 단어적 의미는 데이터를 가지고 있는 DB를 의미하는 것이지만 상황과 문맥에 따라 DBMS나 DBS를 이야기하기도 하는데 DB가 DBMS에 의존적인 상황이라면 특정 제품과 직접적인 연관성을 갖는 DBMS나 DBS를 DB로 지칭하는 것도 납득할 수 있는 수준이라 할 수 있겠습니다.
최근의 DBMS들은 상용과 무료 데이터베이스를 떠나서 어떻게 하면 개발자와 긴밀한 협력과 유대를 이어나갈지 고민하고 있습니다. 그래서 개발자 입장에서는 필요하다면 어떠한 데이터베이스라도 개발 및 스터디를 위한 환경을 어렵지 않게 구축할 수 있습니다. 다음의 내용은 개발 환경 구축이 용이하고 국내 개발자에게 친숙하거나 추후 밀접한 연관성이 있을 수 있는 DBMS를 중심으로 최신 정보를 정리한 것입니다.
■ 오라클(Oracle)
누가 뭐라고 해도 대표적인 기업용 데이터베이스 시스템임에는 틀림없습니다. 특히 국내 개발자의 경우에 한번 사용한 데이터베이스를 그대로 고집하는 경향이 있고 오라클 데이터베이스에 대해서는 IT 부서의 책임자 지위에 있는 분들의 깊은 신뢰를 무시할 수 없는 것도 사실입니다. 연관 기술의 성숙으로 오픈 소스 데이터베이스의 성능이 상당한 수준에 올라왔음에도 불구하고 여전히 오라클이 시장에서 맹위를 떨치고 있는 이유라 하겠습니다.
오라클은 Cloud의 C를 의미하는 Oracle Database 12c를 배포하고 있으며 12c와 함께 11g Release 2를 배포하고 있습니다. 대용량 메모리 환경과 실시간 응용에 맞춘 In-Memory database와 Pluggable Database가 눈에 띄입니다.
(개발자 버전으로 무료로 사용 및 배포할 수 있으며, 11GB까지의 데이터 용량을 저장할 수 있고 1GB 메모리와 1개의 CPU만 사용한다는 제한이 있습니다)
■ SQL Server
운영체제가 윈도우인 경우 우선 검토하게 되는 데이터베이스가 SQL Server인 것은 어찌보면 자연스러운 흐름일 수 있습니다. 현재 SQL Server 2014를 배포하고 있으며 SQL Server 2016 preview가 나온 상태입니다. 클라우드 기술에 대한 대처와 인메모리 보안 기술 및 인메모리 OLTP 엔진 등에 눈길이 갑니다. 무료인 개발자 버전은 최대 10GB 용량, 1GB 메모리 사용, 최대 4개의 CPU사용이라는 제한이 있습니다.
다운로드 : https://www.microsoft.com/ko-kr/server-cloud/products/sql-server-editions/sql-server-express.aspx
■ MySQL
인터넷의 확산과 더불어 가장 폭발적인 성장을 했던 데이터베이스로 썬사에서 인수했다가 다시 오라클사에 인수되어 현재는 무료인 커뮤니티 버전과 상용인 엔터프라이즈 버전을 동시에 배포하고 있습니다. 현재 5.6.25 버전을 배포하고 있습니다. 많은 경우 XAMPP처럼 웹서버 및 PHP 모듈과 함께 배포하는 경우도 많으므로 연관 통합 모듈을 통해서 MySQL를 사용하는 것도 방법입니다.
다운로드 : https://dev.mysql.com/downloads/mysql/
■ 큐브리드(CUBRID)
수만대의 서버를 운용하는 포털에서 가장 많이 사용하는 데이터베이스는 뭐니뭐니해도 MySQL입니다. 그러나, 위에서 언급한 것처럼 1위 업체인 오라클의 MySQL 인수, GPL 라이선스에 대한 다양한 해석등 포털과 같은 인터넷 서비스 업체에게는 MySQL로 인한 리스크가 존재하는 것이 사실입니다. 네이버(NHN)가 큐브리드를 인수해서 MySQL보다 개방적인 라이선스로 오픈소스화하고 내부 서비스에 대한 적용을 지속적으로 확대하고 있는 것도 이러한 환경적 리스크를 대비함과 동시에 데이터베이스 기술 발전을 통한 서비스 성능 및 품질 개선이라는 두마리 토끼를 잡으려 했을 수도 있겠다 싶습니다. 현재 9.3.2 버전을 배포하고 있습니다. 샤딩, 분할, 복제, 2PC 등 고도의 신뢰성이 필요한 비지니스 업무 수행에 필요한 필수 데이터베이스 기능도 지원하고 있으므로 주목할 만 합니다.
다운로드 : http://www.cubrid.com/zbxe/download
■ PostgreSQL
MIT에서 데이터베이스 수업에 사용할 정도로 가장 교과서적인 데이터베이스라 할 수 있습니다. 특히 대부분의 위키 시스템이 PostgreSQL을 기본 데이터베이스로 적용할 정도로 PostgreSQL의 Full text 검색은 주목할만 합니다. 왠만한 리눅스 배포판에는 기본 장착되어 있을 정도로 MySQL과 쌍벽을 이루는 오픈소스 데이터베이스입니다. 현재 9.4.4를 배포하고 있습니다.
다운로드 : http://www.postgresql.org/download/
■ MariaDB
오라클의 가장 강력한 위협 상대였던 MySQL을 오라클이 인수한 이후 데이터베이스 코드의 GPL 유지를 위해 생겨난 쌍둥이 데이터베이스라 해도 무방합니다. 실제로 MySQL 데이터베이스 파일에 대한 바이너리 호환성도 가지고 있습니다. 현재 5.5.44와 10.0.20을 배포하고 있습니다. MySQL을 윈백할 경우에는 MySQL 버전에 상응하는 MariaDB를 사전에 인식해 놓을 필요가 있습니다.
다운로드 : https://downloads.mariadb.org/
■ IBM DB2
메인 프레임에서 중소형 서버 군으로 범위를 넓혀가려는 대표적인 기업용 데이터베이스의 하나입니다. 주목할 점은 업계의 최강자 오라클을 타겟으로 해서 저렴한 가격이라는 마케팅 전략과 함께 마이그레이션 도구 지원이나 구문 호환성 확보등 다양한 노력을 기울이고 있다는 점입니다. 현재 DB2 Version 10.5를 배포하고 있습니다. 무료로 배포하는 개발자 버전 DB2 Express-C는 무료 DBMS가 맞나? 싶을 정도로 오라클이나 SQL Server의 개발자 버전과는 큰 차이가 있습니다. 데이터 용량은 15TB까지 사용할 수 있으며 메모리는 16GB, CPU 코어는 2개까지 사용할 수 있습니다.
다운로드 : http://www-01.ibm.com/software/data/db2/express-c/download.html
■ Firebird
예전 볼랜드사의 코드를 기반으로 오픈소스화 한것으로 상당기간 업데이트가 없었는데 최근 프로젝트가 활성화되고 있는 것으로 보입니다. 라이선스가 MySQL보다 개방적이어서 상용 프로그램에 Firebird를 같이 포함시켜서 배포해도 무방합니다. 현재 2.5.4를 배포하고 있으며 3.0 베타도 선보이고 있습니다. 지속적인 버그 수정과 개선이 이루어지고 있는 살아 있는 프로젝트라 참 반가웠던 DBMS였습니다.
다운로드 : http://www.firebirdsql.org/en/firebird-2-5-4/
■ SQLite
다양한 모바일 기기의 등장과 더불어 가장 많이 사용되고 있는 데이터베이스가 아닐까 싶습니다. 별다른 환경 설정이 필요없고 범용 DBMS에서 사용하는 SQL를 사용할 수 있는 임베디드 데이터베이스 시스템 또는 Standalone 데이터베이스 시스템입니다. C 라이브러리로 응용 프로그램에 간편하게 라이브러리 형태로 포함합니다. 리눅스, 윈도우등 다양한 시스템에서 간편하게 사용할 수 있으며 trac과 같은 협업시스템의 기본 데이터베이스로 사용하기도 합니다. 특히 안드로이드와 같은 모바일 기기에서 사용하는 데이터베이스로는 SQLite가 딱입니다. 동시 접속이 많지 않은 시스템등에서는 가벼운 SQLite를 검토할 필요가 있습니다.
다운로드 : https://www.sqlite.org/download.html
■ Apache Derby
완전 Java 기반의 데이터베이스 시스템으로 SQLite처럼 여러 자바 응용에서 간편하게 임베디드 데이터베이스 시스템 처럼 사용하기도 하지만 클라이언트/서버 구조도 지원하기 때문에 일정 부분 범용 데이터베이스 시스템 처럼 사용할 수 도 있습니다. 오라클이 썬을 인수한 이후로 JDK(Java Development Kit)에 기본 배포하고 있으며 MS의 비주얼스튜디오와 같은 통합 개발 환경(IDE)인 넷빈즈에서 더비를 기본 데이터베이스 시스템으로 간편하게 관리할 수 있도록 도구를 제공하고 있습니다. 최근 자바 기반의 다양한 응용에서 별도의 설치가 필요없는 Derby를 기본 데이터베이스로 설정하여 배포하는 사례가 지속적으로 늘어나고 있습니다. 현재 10.11.1.1을 배포하고 있습니다.
'IT 일반' 카테고리의 다른 글
윈도우에서 깃(git) 설치하기 (0) | 2015.08.12 |
---|---|
형상 관리와 버전 관리 (0) | 2015.08.11 |
네자리 자연수를 곱셈으로 뒤집기 - 2015 정보올림피아드 문제풀이 (2) | 2015.04.27 |
2015년 정보올림피아드 진법 문제 풀기 (10) | 2015.04.21 |
C언어 매크로 사용하기 - 2015 정보올림피아드 문제 풀이 (0) | 2015.04.16 |