[Database] DB의 정의와 종류

TW·2025년 4월 19일

Database

목록 보기
1/2

데이터베이스


데이터베이스

데이터를 체계적으로 저장하고, 관리하며, 필요할 때 쉽게 꺼내 쓸 수 있도록 만든 정보의 집합
"데이터의 집합" 이라고 볼 수 있다.

데이터베이스 특징

실시간 접근(realtime access)
데이터베이스를 조회하는 사용자 질의에 대한 처리 시간이 몇 초를 넘지 않아야 한다는 것을 의미한다.

지속적인 변화(continuous changes)
데이터베이스에도 추가, 삭제, 수정과 같은 작업을 통해 현실 세계의 변화를 지속적으로 반영한다.

동시 공유(concurrent sharing)
서로 다른 응용 업무에서 다수의 사용자가 동일한 데이터를 공유할 수 있는 환경을 제공한다.

내용에 의한 참조(reference by content)
데이터베이스에서 데이터를 검색하는 방식은 데이터의 일부 내용에 의해 참조되는 방식이다.

이러한 데이터를 관리하고 운영하려면 소프트웨어가 필요하다. 그래서 나온것이 바로
DBMS이다.

DBMS


DBMS는(Database Management System)의 약자로
"데이터베이스를 관리하고 운영하는 소프트웨어"이다.

아래의 예시 사진을 보도록 하자.


주인, 직원, 인터넷 뱅킹, Atm 기기 여러가지의 데이터가 있을 것이다. 그런데 이 데이터를 어떻게 관리해야할까? 바로 DBMS를 이용해서 동시 접속이 가능하고 데이터를 공유해서 관리한다. 그러다 보니 DBMS는 데이터 중복 최소화, 중복 처리 지원이 가능하다.

초반에는 사용하기 편리하고 좋았지만 점점 갈수록 데이터는 많아지고 복잡해져 어떻게하면 더 효율적으로 관리 할 수 있을지 생각했다. 그래서 나온 것이 RDBMS이다.

RDBMS


RDBMS는(Relational Database Management System)의 약자로
"정형 데이터를 테이블 구조로 관리하고 운영하는 소프트웨어"이다.


그래서 데이터는 테이블 구조로 관리하고 저장한다. 테이블 구조로 저장하다보니 복잡한 데이터도 표현이 가능해져 JOIN연산 등을 통해 테이블 관계를 쉽게 다룬다.
그러다보니 RDBMS에서는 Mysql이나 oracle DB를 많이 사용하고 있다. 하지만 수평 확장이 어렵고 빅데이터 처리에는 여전히 한계가 있다. 또한 테이블 구조로는 비정형 데이터(사진, 동영상 등)를 담기에 어려움이 있었다. 그래서 나온 것이 NoSQL이다.

NoSQL


NoSQL은(Not Only SQL)의 약자로 "관계형 데이터베이스가 아닌 모든 종류의 데이터베이스", 비관계형 데이터베이스를 뜻한다.

모든 종류의 데이터베이스이다 보니 열형, 키-값형, 문서형, 그래프형도 NoSQL에 속한다. 그래서

  • 엄격한 스키마를 따르지 않는다.
  • 수평 확장에 유리하다.
  • 다양한 형태의 데이터를 유연하게 저장한다.

다양한 형태의 데이터를 유연하게 저장해서 좋지만, SQL 표준을 지원하지 않아 각 유형마다 쓰이는 언어가 DB마다 다르다. 각 유형마다 쓰이는 제품을 보자.

마지막으로 RDBMS 와 NoSQL에 대해 비교해보려고 한다.

RDBMS VS NoSQL

항목RDBMSNoSQL
구조테이블(정형 데이터) 기반문서, 키-값, 그래프 등 다양한 구조
스키마고정 스키마 (엄격함)유연한 스키마 또는 무스키마
언어표준 SQL 사용DB마다 쿼리 언어 다름 (예: MongoQL, CQL 등)
확장성수직 확장(서버 성능 업그레이드)수평 확장(서버를 여러 대로 분산)
성능복잡한 JOIN, 트랜잭션에 강함대량 데이터 처리, 캐시, 실시간 로그에 강함
사용은행, 회계 시스템, ERP,고객관리 시스템실시간 채팅, SNS 피드, IoT 센서, 빅데이터 로그 분석

처음에 DBMS로 시작해
계층형  ->  망형  -> 관계형 -> 객체지향 -> NoSQL 순서로 발전해오면서 데이터베이스는 끊임없이 발전하고 있다. 앞으로도 많은 발전을 했으면 좋겠다.



<출처>


사진, NoSQL사진

0개의 댓글