데이터란 무엇일까요? 데이터는 실체를 나타내는 값들의 집합이라고 볼 수 있습니다. 아무런 가공 과정 없이 수집된 값이나 자료 자체를 데이터하고 부르며, 이렇게 수집된 데이터를 분석한 뒤 새로운 사실을 유추하여 내린 결론을 정보(information)라고 합니다. 또한, 데이터베이스는 Data + Base 단어 그대로 서로 관련된 데이터들을 효율적으로 관리하기 위해 구조화한 데이터 집합을 뜻합니다. 그렇다면 이 데이터베이스는 어떻게 관리해야 할까요?
DBMS
DBMS란 DataBase Management System의 줄임말로, 컴퓨터에 저장된 데이터베이스를 관리해주는 소프트웨어를 지칭합니다. 만약 데이터를 파일 단위로 직접 관리한다면 수십여 건 정도는 각자의 노하우를 기반으로 무리 없이 사용할 수 있습니다. 하지만, 데이터 수가 증가하여 관리해야 할 파일 또한 늘어나게 된다면 분명히 언젠가 한계에 부딪힐 것은 자명한 사실입니다. 때문에 DBMS를 활용하여 데이터를 데이터베이스로 정리하여 좀 더 효율적으로 데이터를 통제하고 관리하게 되었습니다.
DBMS는 1960년대의 계층형 DB를 사용하는 HDBMS인 IMS가 최초로 출시된 이래, 네트워크형, 관계형, 객체형 등으로 진화를 거듭해오고 있습니다. 현재 출시된 DBMS의 종류는 매우 다양하며, 현재에는 관계형 DBMS (RDBMS)를 주로 사용 중에 있습니다. 대표적인 RDBMS에는 Oracle, MySQL(MariaDB), PostgreSQL, Microsoft SQL Server, IBM DB/2 등이 있으며, 각각의 RDBMS는 서로 다른 특징과 장단점을 가지고 있으며, 본 강좌 <바로 실행해보면서 배우는 SQL>에서는 MysQL(MariaDB)를 기준으로 설명하고자 합니다.
MySQL과 MariaDB
MySQL은 오라클에서 제공하고 있는 오픈소스 RDBMS입니다. Windows, Linux, Unix 등 다양한 운영체제에 설치하여 사용할 수 있으며, Community 버전만 무료로 제공되고 있습니다. 상업적으로 사용하려면 비용을 지불해야 하지만, 저렴한 가격과 범용성 등으로 다수의 기업에서 사랑받고 있는 DBMS입니다.
MariaDB는 MySQL에서 파생된 오픈소스 RDBMS입니다. MySQL을 관리하던 기업 Sun을 오라클이 인수했지만, MySQL의 기능 개선 등이 제대로 이루어지지 않음에 반발하여, 기존의 MySQL 개발자들이 별도로 MariaDB 재단을 세워 관리하고 있습니다. 대부분의 기능이 MySQL과 호환되는 특징으로 인해 MySQL 대용으로 MariaDB를 사용하는 추세가 빠르게 증가하고 있습니다. 구름EDU에서 여러분이 실습하게 될 환경 역시 MariaDB를 기준으로 합니다. '한 눈에 끝내는 SQL'에서 다루는 수준에서는 MariaDB의 SQL과 MySQL의 SQL 사이에 큰 차이점이 없습니다. 이 점을 숙지하시기 바랍니다.