일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- db종류
- ==
- Python
- git
- EntityManager
- java
- jetbrain
- exe
- chown
- 티스토리챌린지
- 자동배포
- JPQL
- analytics4
- gtihub
- MariaDB
- Jenkins
- pat발급
- IntelliJ
- JPA
- 트랜잭션
- ci/cd
- git branch 삭제
- docker
- git pat
- 프로시저
- 오블완
- 애널리틱스4
- spring
- repository
- Today
- Total
hanker
어떤 시스템에서 어떤 DBMS를 써야할까? DBMS 종류 9가지 본문
어떤 프로세스를 만들려고 하면 DBMS를 빼놓고 얘기하면 안되는데, DBMS 종류가 너무많다.
어떤 DBMS를 선택해야하는지 알아보자.
DBMS 종류
1. 관계형 모델 (Relational Model)
2. 객체 지향 모델 (Object-Oriented Model)
3. 계층적 모델 (Hierarchical Model)
4. 네트워크 모델 (Network Model)
5. NoSQL 모델 (NoSQL Model)
6. 문서 모델 (Document Model)
7. 키-값 모델 (Key-Value Model)
8. 열 기반 모델 (Column-Family Model)
9. 그래프 모델 (Graph Model)
1. 관계형 모델(Relational Model)
특징 | 데이터를 테이블(표) 형식으로 저장하는 가장 일반적인 DBMS 모델 각 테이블은 행과 열로 구성되며, 행은 레코드(Record), 열은 속성(Attribute) 를 나타낸다. 테이블 간의 관계는 키(Key) 를 통해 정의 |
장점 | SQL(Structured Query Language)을 사용해 데이터를 쉽게 질의하고 관리한다. 트랜잭션 관리와 ACID 속성을 지원하여 데이터 일관성과 무결성을 보장한다. |
대표 시스템 | Oracle, MySQL, Microsoft SQL Server, PostgreSQL, IBM Db2 |
사용 사례 | 대부분의 비즈니스 애플리케이션, 금융, ERP 시스템, CRM |
2. 객체 지향 모델 (Object-Oriented Model)
특징 | 데이터를 객체(object)로 모델링하며, 객체는 속성(데이터) 과 메소드(동작)를 포함 객체 지향 프로그래밍과 유사한 구조를 사용하며, 복잡한 데이터와 관계를 자연스럽게 표현 |
장점 | 데이터와 관련된 동작을 함께 관리할 수 있어 더 복잡한 데이터 구조와 계층적 관계를 표현하는 데 적합 |
대표 시스템 | ObjectDB, db4o |
사용 사례 | CAD/CAM 시스템, 멀티미디어 시스템, 복잡한 시뮬레이션 모델링 |
3. 계층적 모델 (Hierarchical Model)
특징 | 데이터를 트리 구조로 저장하는 모델로, 부모-자식 관계로 데이터를 구성 각 부모는 여러 자식을 가질 수 있지만, 각 자식은 하나의 부모만 가질 수 있다. |
장점 | 데이터가 계층적이고 상속 관계가 명확할 때 효율적 빠른 데이터 접근이 가능하지만 유연성이 떨어진다. |
대표 시스템 | IBM의 IMS(Information Management System) |
사용 사례 | 초기의 은행 시스템, 통신 네트워크 관리 시스템 |
4. 네트워크 모델 (Network Model)
특징 | 계층적 모델과 비슷하지만, 다중 부모-자식 관계를 지원 데이터 요소가 여러 상위 요소와 연결될 수 있으며, 그래프 형태의 데이터 구조를 가진다. |
장점 | 복잡한 데이터 관계를 표현할 수 있으며, 데이터 중복을 줄일 수 있습니다. 하지만 모델이 복잡해질 수 있고 관리가 어렵습니다. |
대표 시스템 | IDMS(Integrated Database Management System), DBTG 모델 |
사용 사례 | 복잡한 데이터 관계가 있는 시스템, 예를 들어 항공 예약 시스템, 공급망 관리 시스템 |
5. NoSQL 모델 (NoSQL Model)
특징 | 전통적인 관계형 모델과는 달리 비정형 데이터나 반정형 데이터를 저장하는 데 적합한 모델 스키마가 없거나 느슨한 스키마를 가지고 있으며, 다양한 데이터 구조를 처리할 수 있다. (아래 참조) 문서(Document) 저장소: JSON, BSON 형식으로 데이터를 저장 키-값(Key-Value) 저장소: 데이터를 키-값 쌍으로 저장 열(Column) 저장소: 대량의 데이터를 열 단위로 저장 그래프(Graph) 저장소: 데이터가 그래프 형태로 연결 |
장점 | 대규모 데이터 처리, 비정형 데이터, 실시간 처리에 적합하며, 확장성이 뛰어나다. 높은 성능과 유연성을 제공하지만, 데이터 일관성을 완전히 보장하지 않을 수 있다. |
대표 시스템 | MongoDB, Redis, Cassandra, Neo4j |
사용 사례 | 빅데이터, 소셜 네트워크, IoT, 실시간 웹 애플리케이션 |
6. 문서 모델 (Document Model)
특징 | 비정형 데이터나 반정형 데이터를 유연하게 처리할 수 있어 특히 웹 애플리케이션, 로그 관리, 콘텐츠 관리 시스템 등에서 널리 사용. 문서는 일반적으로 JSON, BSON, XML 또는 YAML 형식으로 저장되며, 각각의 문서는 고유한 구조이다. |
장점 | 장점: 매우 빠른 조회 속도와 높은 확장성을 제공 데이터 구조가 단순하여 쉽게 관리할 수 있지만, 복잡한 질의를 수행하기 어렵다. |
대표 시스템 | Redis, Amazon DynamoDB, Riak |
사용 사례 | 캐싱 시스템, 세션 관리, 실시간 데이터 처리 |
7. 키-값 모델 (Key-Value Model)
특징 | 특징: 데이터를 키-값 쌍으로 저장하는 단순한 모델 각 키는 고유하고, 해당 키와 연관된 값은 비정형 데이터일 수 있다. 데이터를 빠르게 저장하고 검색하는 데 적합 |
장점 | 장점: 매우 빠른 조회 속도와 높은 확장성을 제공 데이터 구조가 단순하여 쉽게 관리할 수 있지만, 복잡한 질의를 수행하기 어렵다. |
대표 시스템 | Redis, Amazon DynamoDB, Riak |
사용 사례 | 캐싱 시스템, 세션 관리, 실시간 데이터 처리 |
8. 열 기반 모델 (Column-Family Model)
특징 | 특징: 데이터를 열 단위로 저장하는 방식 각 컬럼 패밀리는 특정 주제와 관련된 데이터를 그룹화하여 저장하며, 열 패밀리 안에 여러 열이 포함된다. |
장점 | 대량의 데이터를 효율적으로 처리할 수 있으며, 특히 데이터 분석과 분산 환경에서 성능이 뛰어나다. |
대표 시스템 | Apache Cassandra, HBase |
사용 사례 | 대규모 데이터 처리, 빅데이터 애플리케이션 |
9. 그래프 모델 (Graph Model)
특징 | 데이터를 노드(Node)와 간선(Edge)으로 표현하는 그래프 구조를 사용 노드는 개체를 나타내고, 간선은 개체 간의 관계를 나타낸다. |
장점 | 복잡한 관계형 데이터를 쉽게 표현하고 탐색 소셜 네트워크나 추천 시스템처럼 관계가 중요한 데이터에서 유용 |
대표 시스템 | Neo4j, ArangoDB |
사용 사례 | 소셜 네트워크, 추천 시스템, 네트워크 분석 |
마치며..
정리해보면
1. 관계형 모델 (Relational Model) : 은행 시스템 등
2. 객체 지향 모델 (Object-Oriented Model) : CAD/CAM 시스템
3. 계층적 모델 (Hierarchical Model) : 파일 시스템, 조직도 관리 시스템
4. 네트워크 모델 (Network Model) : 항공 예약 시스템, 공급망 관리 시스템
5. NoSQL 모델 (NoSQL Model) : 소셜 미디어 애플리케이션
6. 문서 모델 (Document Model) : 전자상거래 사이트
7. 키-값 모델 (Key-Value Model) : 세션관리, 캐시시스템
8. 열 기반 모델 (Column-Family Model) : 로그관리 시스템
9. 그래프 모델 (Graph Model) : 소셜 네트워크 분석 및 추천 시스템
끝.
'DEVELOPER INFO' 카테고리의 다른 글
웹 개발을 보다 더 쉽게 도와주는 7가지 CSS 프레임워크 (4) | 2024.10.25 |
---|---|
Web 개발 Tool - [Jetbrains] Intellij에 대해서 알아보자 (3) | 2024.10.24 |
2024년 10월 - 가장 많이 사용되는 DBMS Top10 (각 DBMS 특징) (4) | 2024.10.22 |
2024년 10월 국내 : 가장 인기 있는 AI TOOL Top 10 (유/무료 정보) (0) | 2024.10.21 |
JAVA23 - Visual Studio Code 확장 업데이트 정리 (4) | 2024.10.20 |