Database 기본 개념
08 Jan 2021 | DatabaseDatabase 기본 개념
데이터베이스란 무엇인가?
데이터(Data)란 이 세상에 존재하는 온갖것을 기록 할 수 있는 자료이다. 데이터는 가공을 거쳐 정보(Information)이 된다. 데이터베이스는 정보 혹은 데이터의 체계적인 집합체이다. 데이터베이스는 데이터베이스 관리 시스템(DBMS : Database Management System)에 의해 제어된다. 대부분의 관계형 데이터베이스는 데이터 작성 및 쿼리 작업에 구조화된 질의 언어(SQL : Structured Query Language)를 사용한다.
데이터베이스는 유형별로 크게 관계형 데이터베이스, NoSQL 데이터베이스로 나뉜다. 관계형이냐 비관계형이냐의 차이인데 이 외에도 객체 지향, 분산, 그래프 등등 수많은 데이터베이스 유형이 있다.
RDBMS vs NoSQL
내가 사용할 MySQL, 학원에서 배우게될 Oracle 혹은 MongoDB, MSSQL, SQLite, MariaDB 등등은 모두 데이터 관리 시스템(DBMS)이다. 그 중 가장 점유율이 높은 Oracle이나 MySQL 등 다수의 DBMS가 관계형 데이터 관리 시스템은 RDBMS이다.
요즘 빠르게 치고 올라오고 있는 MongoDB는 NoSQL이다.
그럼 RDBMS와 No SQL의 차이는 뭘까?
관계형 데이터베이스는 데이터를 저장하기 위해 구조화된 테이블 형식, 즉 행과 열 방식으로 데이터를 2차원화시켜 관리한다. RDBMS는 각 테이블에 있는 데이터 값과 항목이 서로 연관된다. 테이블은 데이터베이스 시스템에서 서로 상호 연결될 수 있어 한 번에 여러 테이블에 명령 쿼리를 실행할 수 있다. RDBMS는 테이블에 값을 추가, 업데이트, 검색, 편집, 검색 등을 하기 위해 다른 쿼리를 실행하는 프로그램이다. 위에서 표기했듯, SQL은 관계형 데이터베이스를 처리하는데 사용되는 표준언어이다.
NoSQL은 Not Only SQL로 비관계형 데이터베이스로 스키마와 관계라는 개념이 없다. 데이터간 관계를 정의하지 않고 자유롭게 데이터를 관리할 수 있다. NoSQL은 데이터베이스 시스템이 방대하거나 같은 종류의 데이터로 분산 된 데이터를 저장하는데 사용된다. 주로 빅데이터나 실시간 웹 앱 운영에 사용되어 차세대 데이터베이스 시스템이라 불린다. NoSQL은 앞서 말한 MongoDB와 Cassandra, CouchDB 등이 있다.