BMS(Database Management System)와 RDBMS(Relational Database Management System)는 데이터를 관리하고 조작하는 시스템으로, 애플리케이션과 데이터베이스 간의 연결을 관리합니다. 이 커넥션은 클라이언트와 서버 간의 통신을 통해 이루어집니다.
DBMS와 RDBMS의 차이점
- DBMS: 데이터베이스를 관리하는 일반적인 시스템으로, 데이터의 구조, 저장 및 검색을 담당합니다. 예를 들어, 파일 시스템, 키-값 저장소 등이 포함됩니다.
- RDBMS: 관계형 모델을 기반으로 하는 데이터베이스 관리 시스템으로, 테이블 간의 관계를 정의하고 SQL을 사용하여 데이터를 관리합니다. 예를 들어, MySQL, PostgreSQL, Oracle 등이 포함됩니다.
DBMS와 RDBMS의 개요
- DBMS (Database Management System):
- 일반적인 데이터베이스 관리 시스템으로, 데이터의 저장, 수정, 삭제, 검색을 처리합니다.
- DBMS는 관계형 모델 외에도 계층적, 네트워크, 객체 지향 데이터베이스 모델을 포함할 수 있습니다.
- RDBMS (Relational Database Management System):
- 관계형 모델을 기반으로 한 데이터베이스 관리 시스템으로, 데이터를 테이블 형태로 저장하고 SQL(Structured Query Language)을 사용하여 데이터를 관리합니다.
- 대표적인 RDBMS: MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server 등
DBMS와 RDBMS의 커넥션 개념
DBMS와 RDBMS 모두 클라이언트 애플리케이션이 데이터베이스 서버에 접속하여 데이터를 주고받기 위해 커넥션을 설정합니다. 이 커넥션은 다음과 같은 과정을 포함합니다:
- 커넥션 설정:
- 클라이언트가 데이터베이스 서버에 접속하기 위해 필요한 정보를 제공하여 커넥션을 설정합니다.
- 예: 데이터베이스 URL, 포트 번호, 사용자 이름, 비밀번호 등
- 인증:
- 제공된 인증 정보를 기반으로 데이터베이스 서버가 클라이언트를 인증합니다.
- 세션 생성:
- 인증이 성공하면 데이터베이스 서버는 세션을 생성하여 클라이언트와의 통신을 관리합니다.
- 명령 전송:
- 클라이언트는 SQL 쿼리나 명령을 데이터베이스 서버에 전송합니다.
- 결과 반환:
- 데이터베이스 서버는 요청된 명령을 처리하고 결과를 클라이언트에 반환합니다.
- 커넥션 종료:
- 작업이 완료되면 클라이언트는 커넥션을 종료합니다.
RDBMS의 종류
- Oracle Database: RDBMS의 역사라고 할 수 있음. 기술, 안정성이 뛰어나지만, 유료이므로 은행 등 변화보다 안정성이 중요한 업계에서 많이 사용됨.
- MySQL: 오픈소스로, 쉽다는 최대의 장점을 가짐. 웹, php를 이용해 데이터베이스를 구축할 때 많이 사용됨. 대표적인 데이터베이스 기업인 오라클이 인수한 후에는 비용을 부과할지 모른다는 생각 때문에 이전하는 경우가 있음.
- MariaDB: 오픈 소스. MySQL 기반으로 만들어져 비용 문제로부터 자유로움.
- PostgreSQL: 버클리 대학의 오픈소스 객체-관계형 데이터베이스. 객체-관계형 데이터 관리 시스템으로 더 풍부한 기능을 지원함.
- SQL Server: Microsoft에서 개발한 RDBMS. 윈도우 환경 지원.
- SQLite: 데이터베이스를 서버가 아닌 파일로 저장하는 DBMS. 보통 기기 저장 공간에 간단하게 excel, csv 형태로 저장할 때 사용됨. 여러 사람이 이용하는 서버 이용은 불가능하지만 간단하게 데이터베이스를 구축할 때 유용함.
요약
DBMS와 RDBMS는 데이터베이스를 관리하는 시스템으로, 애플리케이션과 데이터베이스 간의 커넥션을 통해 데이터를 주고받습니다. JDBC는 Java 애플리케이션에서 RDBMS에 접속하기 위한 표준 API로,
데이터베이스 URL, 사용자 이름, 비밀번호 등을 사용하여 커넥션을 설정하고 SQL 명령을 실행할 수 있게 해줍니다.
커넥션 설정, 인증, 세션 생성, 명령 전송, 결과 반환, 커넥션 종료의 과정을 통해 애플리케이션과 데이터베이스 간의 상호작용이 이루어집니다.
참조 :
https://wkdtjsgur100.github.io/architecture-of-rdbms/
'개발 > DB' 카테고리의 다른 글
ORM(Object-Relational Mapping) 데이터베이스 액세스 프레임워크 (0) | 2024.06.06 |
---|---|
DML/DDL/DCL (0) | 2024.06.06 |
[PROCEDURE] 프로시저 (0) | 2023.07.10 |
[DB] postgreSQL (0) | 2023.06.12 |
[MYSQL/SQL] HEX , UNHEX 16진수 데이터 (0) | 2023.04.29 |