[DB]2. DBMS:DBMS의 발전

kai·2025년 4월 9일

DataBase(완료)

목록 보기
3/10

1세대(Network DBMS & Hierarchical DBMS)

Network DBMS : 그래프 구조

e.g. IDS
장점: 복잡한 관계 효율적 보여줌, 여러 부모-자식 관계에서 Hierarchical DBMS보다 유연함.
단점: 복잡한 쿼리관계, 구조변화힘듦

Hierarchical DBMS : 트리 구조

ex. IMS((Information Management System)
장점: 빠른 탐색 속도, 고정되어있고 예측가능한 데이터에 한에서 작업하기 좋음.
단점: 변화힘듦, many-to-many관계를 다룰때 비효율적


2세대(RDBMS/Relational DBMS)

RDBMS : 절차지향(테이블 구조)

e.g. Oracle, MS SQL Server, Access, Informix, MySQL, MariaDB
주요특징
1. SQL(Structured Query Language) :데이터를 쿼리,삽입,갱신,삭제하기 효율적
2. 표준화 :
3. 데이터 무결성과 제약 : Primary key,Foreign key,데이터 일관성에 의한 제약강화
4. ACID 규정 준수
원자성(Atomicity) :작업이 부분적으로 실행되다가 중단되지 않는 것
일관성(Consistency) : 작업 처리전과 처리 후에 모순이 없는 상태를 유지하는 것
고립성(Isolation) : 작업중 다른 연산 작업이 끼어들지 못하도록 보장하는 것
지속성(Durability) : 이미 성공한 작업은 영원히 반영되어야 하는 것.전형적으로 모든 Transaction은 로그기록으로 남고, 시스템 장애 발생 전으로 되돌릴 수 있다.

장점: 1세대보다 더 크고 유연함, SQL을 사용하여 데이터를 쿼리하고 조작하기 쉬움, 더 나은 데이터 일관성과 무결성제공


3세대(OODBMS(Object-Oriented DBMS) & ORDBMS(Object-Relation DBMS))

OODBMS : 객체지향 프로그래밍 개념사용

e.g. O2, ONTOS, GemStone
주요 특징
1. 캡슐화
2. 상속
3. 복합 데이터 유형: 멀티미디어,공간 데이터 및 중첩 구조 지원
4. 객체 기반 애플리케이션의 더 나은 성능 :CAD,GIS, multimedia database에 이상적


ORDBMS : 객체지향 프로그래밍 & 절차 지향의 하이브리드

e.g. oracle
주요특징
1. 객체 지향 + 절차 지향
2. 사용자 정의 데이터 유형 및 매서드 제공
3. SQL 기반시스템과의 하위 호환성 제공
장점
1. 더 복잡한 데이터 타입 관리가능
2. 관계형 데이터 베이스와 절차지향 데이터간의 impedance불일치를 줄임


4세대(NoSQL & NewSQL DBMS)

NoSQL(Not Only SQL): 관계형 모델 한계 극뽁!!!(비관계형 DB)

비정형 데이터, 대규모 분산처리,수평적 확장성이 필요할 때 사용한다.스키마가 유동적이라 데이터 구조 변경이 자유롭다.
e.g.MongoDB, HBase, Cassandra, Redis, Neo4j, OrientDB

주요특징
1. 수평적 확장성
2. 유연한 스키마
3. 최종 일관성
4. 다양한 데이터 모델

NewSQL DBMS

관계형 DBMS의 구조를 유지하면서 NoSQL처럼 확장성과 분산 처리 성능을 제공,ACID 보장,SQL 사용가능성은 그대로 유지한다.
e.g. Google Spanner, VoltDB, NuoDB

주요특징
1. ACID 준수 : 강한 일관성
2. 높은 성능 : 실시간 거래,분석 최적화
3. 확장성 : 클라우드 전반에 걸처 분산 시스템 제공

  • 참고로 schema-less와 unstructured data는 다른의미이다.
    schema-less는 다음과같이 틀이 있지만, 구성요소가 다를 수 있다는 말이고,
{ "name": "Alice", "age": 25 }
{ "name": "Bob", "address": "Seoul" }

unstructured data는 이미지,동영상,음성과 같이 구조화할수 없는 데이터를 의미한다.


전체 정리

profile
한 대학생의 코딩일기. 임베디드와 인공지능에 관심이 많습니다.

0개의 댓글