RDB / NoSQL
RDB Relational Database
RDB는 데이터베이스를 이루는 객체들의 관계를 통해서 데이터를 저장하는 데이터베이스
관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스
구성된 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체이러한 관계를 나타내기 위해 외래 키(foreign key)라는 것을 사용 이러한 테이블간의 관계에서 외래 키를 이용한 테이블 간 Join이 가능하다는 게 가장 큰 특징입니다.
SQL을 사용해 데이터의 저장, 질의, 수정, 삭제를 할 수 있으며 데이터를 효율적으로 보관하는 것을 목적으로 하고 구조화가 중요합니다.
장점으로는 명확한 데이터 구조를 보장하고, 중복을 피할 수 있습니다.
NoSQL Not Only SQL
SQL을 사용하지 않는 데이터베이스 관리 시스템을 지칭하는 단어
NoSQL이란(Not Only SQL)의 약자로 말 그대로위에서 설명한 RDB 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장
NoSQL의 예시로는 mongoDB, redis 등
NoSQL에서는 RDBMS와는 달리 테이블 간 관계를 정의하지 않음
데이터 테이블은 그냥 하나의 테이블이며 테이블 간의 관계를 정의하지 않아 일반적으로 테이블 간 Join도 불가능
데이터 일관성은 포기하되 비용을 고려하여 여러 대의 데이터에 분산하여 저장하는 Scale-Out을 목표로 등장
RDB - orm
Object Relational Model
OOP(객체 지향 프로그래밍)와 RDB를 연결할 계층의 역할로 제시된 패러다임입니다.
객체와 관계형 데이터베이스의 불일치를 자동으로 매핑해주는 기술
- 상속의 개념RDB에서는 객체지향에서의 상속의 개념이 없다.
- 연관관계RDB에서는 연관관계가 있을 때 외래 키로 참조하지만, 자바에서는 객체참조를 통해서 이루어진다.
- N:M관계시 RDB에서는 조인 테이블이 필요자바에서는 N:M 관계를 양쪽에 객체 참조를 통해 표현할 수 있지만, RDB에서는 새로운 테이블을 만들어야 한다.
- 동일성RDB에서는 기본 키를 통해서 데이터를 구별하지만, 자바에서는 객체 식별과, equals 메소드를 사용해서 구별한다.
- 탐색 / 순회RDB에서는 필요한 테이블들만 참조해서 원하는 정보를 가져가지만, 자바에서는 객체 참조만 있다면 계속해서 다른 객체들을 탐색/ 순회할 수 있다.
연관된 글:
oop(객체 지향 프로그래밍)
참고 :
DataBase ] RDB, RDBMS, SQL, NOSQL 간단 개념정리
관계형 데이터베이스(RDB)란 무엇인가요? | 요즘IT
'개발 > DB' 카테고리의 다른 글
[Oracle] dual 테이블 (0) | 2023.03.17 |
---|---|
[Java] Java의 동작 원리 - Garbage Collection (0) | 2023.03.16 |
[DB] ANSI 표준 (0) | 2023.03.09 |
[DB] mybatis ibatis 비교 및 Dynamic Query (0) | 2023.03.09 |
[DB] RDS(Relational Database Service) (0) | 2023.03.09 |