본문 바로가기
카테고리 없음

DBMS, RDBMS의 차이와 MiddleWare의 연관성

by Dodledd 2024. 7. 10.

DBMS란?

  • DataBase Management System의 약자로 데이터베이스를 관리하는 소프트웨어이다.
  • 사용자 <-> DB 사이에서 데이터를 생성해주고 관리해준다. (CRUD)
  • DBMS는 데이터를 구성, 조작, 검색을 제공하며 원하는 정보에 엑세스 할 수 있도록 도와준다.
  • DBMS는 소규모 데이터를 다루는데 유리합니다.
  • 데이터를 파일 형식으로 저장합니다.
  • 정규화가 불가능합니다.
  • 데이터를 보관하는데 보안을 제공하지 않습니다.
  • 보통 서버의 형태로 서비스를 제공합니다.
  • ex) Sybase, dbase 및 Microsoft Access

RDBMS란?

  • RDB를 생성하고 수정할수 있는 소프트웨어이다.
  • Relational DataBase Management System의 약자로 관계형 모델을 기반으로 하는 DBMS의 유형이다.
  • 서로 연관되어 있어 일반 DBMS보다 효율적으로 데이터를 저장, 구성 및 관리가 가능하다.
  • 정규화가 가능하다
  • 데이터의 원자성, 일관성, 격리 및 내구성을 유지하여 무결성을 높인다.
  • 데이터를 테이블 형식으로 저장합니다.
  • ex) mySQL, Oracle, MSSQL

한마디로 RDBMS는 DBMS에 포함되어있는 하나의 데이터베이스 유형이다.

 

그럼 갑자기 MiddleWare는 왜 튀어나올까??

 

MiddleWare

먼저 MiddleWare는 middle + software의 합성어이다.

사전적 정의는

미들웨어는 양 쪽을 연결 하여 데이터를 주고 받을 수 있도록  중간에서 매개 역할 을 하는 소프트웨어,
네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록
연결해 주는 소프트웨어를 말한다.
3계층 클라이언트/서버 구조에서 미들웨어가 존재한다.
웹 브라우저에서 데이터베이스로부터 데이터를 저장하거나 읽어올 수 있게 중간에 미들웨어가 존재하게 된다.

 

그리고 두 가지 뜻이 있는데

  1. 운영체제와 그 운영체제 사이에서 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에 추가적인 서비스를 제공하는 소프트웨어이다.
  2. 클라이언트와 서버 간의 통신을 담당하는 소프트웨어이다.

우리는 2번에 집중해서 보면 된다.

 

MiddleWare가 왜 필요한가?

위에서 DBMS는 서버의 형태로 서비스를 제공한다고 하였다.

예전 웹 어플리케이션 운영환경에서 사용자(클라이언트)의 요청이 유입되는 순간 비지니스 로직처리, 데이터 처리 등을 모두 한 곳의 물리적 환경(서버)에서 제공했다.

이것은 하나의 서버만 열심히 관리하면 되니 관리해야 할게 1개인 장점이 있었다. = 1-tier

 

하지만 단점이 더 컸었으니...

  1. 1개의 서버에 문제가 생기면 서비스 장애가 일어나고 어디서 장애가 일어났는지 파악이 쉽지않다.
  2. 사용자의 요청, 비지니스 로직 처리는 통합서버에서 이루어지기 때문에  서버에 많은 요청이 몰리게되어 부하가 심해진다.
  3. 비지니스 로직이 바뀌면 매번 클라이언트 프로그램을 재배포 해야한다. (귀찮음 증가, 보안성 취약)

그래서 나오게 된 것이 MiddleWare이다.

 

그럼 MiddleWare가 뭐야?

범위가 넓긴 하지만 사진 한장을 보면 우리는 이해할 수 있다.

Client -> Web Server -> WAS -> DB

우리는 위 사진과 같은 구조를 3-tier 라고 부른다.

 

MiddleWare는  WAS를 의미한다고 보면 된다.

 

Web-Server와 WAS에 대해서는 따로 포스팅을 했으므로 링크를 추가하겠습니다.

https://dodledd.tistory.com/109