데이터베이스의 개념과 종류들

데이터베이스(DB)란 ?

A database is an organized collection of data, generally stored and accessed electronically from a computer system

wikipedia

데이터베이스란, 컴퓨터 파일 시스템에서 관련있는 데이터들끼리 모아 놓는 것을 말한다. 하나의 파일에 데이터를 저장한다면, 그것도 데이터베이스로 볼 수 있다. (문서를 저장하거나 엑셀과 같은 관련 있는 데이터를 모아놓는 것도 데이터베이스로 볼 수 있음)

하지만 통상적으로 데이터베이스라고 하는 것은 DBMS(Database Management System) 을 의미한다. 데이터베이스를 조금 더 편리하게 관리해주는 시스템을 말한다. (데이터베이스를 관리할 수 있는 시스템, 혹은 엔진)


Flat-File Database vs DBMS

만약 왼쪽과 같이 하나의 파일에 데이터를 저장해두고 그것을 데이터베이스로 쓴다면, file을 열어서 한줄 한줄 읽다가 필요한 데이터를 찾아서 필요한 데이터를 읽거나 그 부분을 업데이트하는 과정을 거치고 파일을 닫을 것이다.
이렇게 하나의 파일로 데이터베이스를 이용하면 간단한 데이터를 저장하는데에는 좋지만, 유연하지 않고, 효율성이 떨어지며, 성능도 낮다.

DBMS (Database Management System)

이것을 개선하기 위해 나온 것이 DBMS 이다. 데이터베이스 엔진 자체가 데이터를 저장하고 찾고 업데이트하는데 최적화가 되어있고, 이렇게 복잡한 일들을 데이터베이스 엔진 자체가 해준다.

데이터를 저장하고 가져오는데 최적화가 되어있고, 복잡한 데이터를 안전하게 다룰 수 있도록 도와주며, 동시다발적으로 접근이 가능하고, 보안성도 뛰어나다.

단점으로는 파일 시스템에 비교하여 조금 복잡하다.


DBMS 종류

  1. SQL (Structured Query Language)
    • 통상적으로 SQL이라고 하면, Relational / RDBMS (관계형 데이터베이스) 를 의미한다.
    • 관련있는 데이터들끼리 각각의 테이블로 만들어두고, 이들의 관계를 정의할 수 있다.
  2. NoSQL
    • 관계가 없는 데이터베이스
    • 종류가 많은데 Key-Value로 관리하는 데이터베이스, documents로 관리하는 데이터베이스, Wide-column , Graph 도 있다.

두 종류의 차이점을 정확하게 이해하고, 각각의 장단점을 알아서 필요한 것을 선택해서 사용할 수 있어야함! 🙂