-
[DB] DB 개념, 특징과 DBMS 종류 (RDBMS, NO SQL)DB/DB Basic 2023. 5. 17. 13:24반응형
DB(Database) 란?
: 데이터의 집합. 여러 사람이 공유하여 사용할 목적으로 통합 관리하는 데이터의 집합을 의미.
- 데이터: 현실 세계에서 사건이나 사물의 특징을 관할하거나 측정하여 기술하는 가공되지 않은 사실이나 값
- 정보: 의미있고 쓸모 있는 내용으로 가공하여 체계저으로 조직한 데이터
→ 데이터베이스는 단순한 데이터 저장소가 아닌, SQL 등으로 세밀히 제어가 가능하며, 정보를 통합하여 구조적이며 효율적으로 데이터를 저장 관리할 수 있음
DB의 데이터 특징
1. 통합된 데이터 (Integrated Data)
- 중복된 정보를 통합하여 자료의 중복을 최소화한 데이터의 모임으로 구성
- 데이터의 일관성 유지, 관리비용 감소 가능2. 저장된 데이터 (Stored Data)
- 컴퓨터가 접근 가능한 매체에 데이터 저장
3. 운영 데이터 (Operational Data)
- 조직의 목적을 위해 존재하고 활용되는 운영 데이터를 다루는데 주로 이용
- 운영을 위해 사용되기 때문에 지속적으로 유지 필요 (임시적으로 처리하는 데이터가 아님)
4. 공유 데이터 (Shared Data)
- 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터
- 어느 하나의 프로그램에 종속된 것이 아닌, 다수의 사용자나 프로그램이 공동으로 소유하고 유지
DB의 기능 특징
1. 실시간 접근성 (Real-Time Accessibility)
- 사용자의 요구(query)를 실시간으로 처리하고 신속하고 정확하게 응답해야 함
2. 지속적인 변화 (Continuous Evolution)
- 현실 세계의 변화를 반영하기 위해 새로운 데이터 삽입, 삭제, 갱신을 통해 최신 데이터 유지 필요
3. 동시 공용 (Concurrent Sharing)
- 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함
4. 내용에 따른 참조 (Content Reference)
- 데이터베이스 내의 데이터 참조 시 데이터 위치나 주소가 아닌, 데이터 내용에 따라 참조가 가능해야 함
DB 언어 (Database Language) 종류
- 가장 많이 사용하는 데이터베이스 언어는 SQL (Structured Query Language)로 대부분의 DB시스템에서 지원
- 데이터를 어떻게 다루느냐에 따라 아래와 같은 4개로 구분됨
명령어 종류 명령어 설명 데이터 정의어
(DDL,
Data Definition Language)CREATE
ALTER
DROP
RENAME
TRUNCATE테이블과 같은 데이터 구조를 정의하는데 사용하는 명령어 데이터 조작어
(DML,
Data Manipulation Language)SELECT 데이터를 조회하거나 검색하기 위한 명령어 INSERT
UPDATE
DELETE데이터에 변형을 가하는 종류(삽입, 수정, 삭제)의 명령어 데이터 제어어
(DCL,
Data Control Language)GRANT
REVOKE데이터베이스에 접근하고 객체들을 사용할 수 있도록 권한을 주고 회수하는 명령어 트랜젝션 제어어
(TCL,
Transaction Control Language)COMMIT
ROLLBACK
SAVEPOINT논리적인 작업의 단위를 묶어 DML에 의해 조작된 결과를
작업단위(트랜잭션)별로 제어하는 명령어DBMS (Database Management System) 란?
: 데이터베이스를 관리하는 소프트웨어
- 데이터베이스의 데이터를 효율적으로 저장하고 검색하고 수정하고 삭제하고 보호할 수 있도록 함
- 다양한 종류와 모델이 존재하며 사용하는 목적과 환경에 따라 선택 사용 필요DBMS 종류
1. HDBMS (Hierarchical DBMS), 계층형 DBMS
- 데이터를 트리구조로 표현
- 데이터 접근 속도가 빠르고 단순한 구조를 가지지만 데이터 중복이 많고 구조 변경 및 관계 표현이 어려움
- IMS, System2000
2. NDBMS (Network DBMS), 네트워크형 DBMS
- 데이터를 그래프 구조로 표현
- HDBMS에 비하여 관계 표현이 유연하고 다대다 관계를 지원
- 구성과 설계가 복잡하고 데이터 종속성(데이터 구조가 변경되면 프로그램까지 바뀌어야 함)을 해결하지 못함
- IDS, TOTAL, IDMS
3. RDBMS (Relational DBMS), 관계형 DBMS
- 데이터를 테이블 형태로 표현
- 데이터의 중복을 최소화하고 구조 변경이 쉬우며 SQL 언어를 사용한 데이터 조작 용이
- ACID 원칙을 준수하여 데이터의 무결성과 일관성을 보장
- 가장 널리 되는 DBMS로 MySQL, Oracle, SQLite 등이 있음
더보기[ ACID 원칙 ]
1. Atomicity (원자성) : 트랜젝션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장
2. Consistency (일관성) : 트랜젝션이 실행을 성공적으로 완료하며 언제나 일관성 있는 DB상태를 유지하는 것
- 특정 제약이 있다면 데이터는 이에 위반되는 트랜젝션은 중단되는 것
ex. 금액의 데이터 타입이 정수형(integer)인데 갑자기 문자열(string)이 되지 않는 것을 의미3. Isolation (독립성) : 트랜젝션 수행 시 다른 트랜젝션의 연산 작업이 끼어들지 못하도록 보장
4. Durability (지속성) : 성공적으로 수행된 트랜젝션은 영원히 반영되어야 함을 의미
- 시스템 문제, DB 일관성 체크를 하더라도 유지되어야 함을 의미
- 트랜젝션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주 가능4. NO SQL (Not Only SQL)
- 여러가지 모델로 데이터를 표현 (Document, Key-Value, Wide-Column 등)
- RBDMS의 테이블 형태가 아닌 형태를 띈 DB를 총칭
- 높은 확장성과 가용성, 유연한 스키마를 가짐
- 데이터의 일관성이 항상 보장되지는 않으며 기존 SQL과의 호환성 낮음
- 대용량 데이터나 분산 처리에 빠르게 대응 가능
- MongoDB, HBase, Cassandra, Redis
반응형'DB > DB Basic' 카테고리의 다른 글
[DB] Transaction (1) 2024.02.24 [DB] Stored Procedure in 3-tier architecture : pros and cons (0) 2024.01.22 [DB] 저장 프로시저 (Stored Procedure)의 개념과 예시 (0) 2023.06.12 [DB] 스키마(Schema) 개념 및 계층 (0) 2023.05.18 [DB] 데이터 모델의 종류와 구성 요소 (엔티티, 속성, 관계) (0) 2023.05.17