23년 8월 16일 수요일
오늘의 목표 : NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점 설명하기
오늘 공부한 내용🤓
기술면접과 관련하여 팀원들과 NoSQL과 RDBMS의 특징, 차이점, 장단점 등을 공부하고 각자 정리하는 시간을 가졌다.
[Backend] 기술면접 top30
1번 NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점 설명하기
Databse란 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미
DBMS란(DataBase Management System) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어
SQL이란(Strucured Query Language) 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
→ 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안
· NoSQL(Not Only SQL)
→ 비 관계형 데이터 베이스로 관계형 테이블과는 다른 형식으로 데이터를 저장
→ 높은 확장성과 가용성이 주요 장점으로, 실시간 웹 애플리케이션 및 빅 데이터에 널리 사용
→ 데이터 테이블은 그냥 하나의 테이블이며 테이블 간의 관계를 정의하지 않아 일반적으로 테이블 간 Join도 불가능
· RDBMS(Relational DataBase Management System)
→ 관계형 데이터베이스 관리 시스템을 의미
→ RDB를 관리하는 시스템으로, 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스
→ 테이블끼리 관계를 맺고 모여있는 집합체이며, 이러한 관계를 나타내기 위해 외래 키 (Foreign key)라는 것을 사용
※ 스키마란?
1. 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합 (DB를 구성하는 데이터 구조의 형상)
2. 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의
3. 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나누어 짐
※ 스키마의 특징
1. 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터라고도 불림
2. 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어지며, 시간에 불변인 특성을 갖음
3. 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정됨
※ 스키마의 3계층
→ 데이터베이스 관리 시스템은 외부적 스키마에 따라 명시된 사용자의 요구를 개념적 스키마에 적합한 형태로 변경하고 이를 다시 내부적 스키마에 적합한 형태로 변환함
외부 스키마(External Schema) = 사용자 뷰(View)
· 정의 : 사용자나 응용프로그래머가 각 개인의 입장에서 필요로하는 데이터베이스의 논리적 구조를 정의한 것으로, 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마(Sub Schema)라고도 함
· 특징
1. 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있고, 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수도 있다.
2. 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다.
3. 일반 사용자는 SQL(질의어)를 이용하여 DB를 쉽게 사용할 수 있도록하고, 응용 프로그래머는 C, JAVA등의 언어를 사용하여 DB에 접근한다.
개념 스키마(Conceptual Schema) = 전체적인 뷰(View)
· 정의 : 기관이나 조직체의 관점에서 데이터베이스를 정의한것으로, 개체간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의
· 특징
1. 데이터베이스의 전체적인 논리적 구조로, 모든 응용프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터 베이스로 단 하나만 존재한다.
2. 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마(Schema)라고 하면 개념 스키마를 의미한다.
3. 데이터베이스 관리자(DBA)에 의해서 구성된다.
내부 스키마(Internal Schema) = 저장 스키마(Storage Schema)
· 정의 : 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타냄
· 특징
1. 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 물리적인 저장장치와 밀접한 계층이다.
2. 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마
어려웠던 내용😵💫
궁금&부족한 내용❓
느낀 점💡
'📌TIL [Today I Learn]' 카테고리의 다른 글
[TIL] 23년 8월 18일 금요일 (0) | 2023.08.18 |
---|---|
[TIL] 23년 8월 17일 목요일 (0) | 2023.08.17 |
[TIL] 23년 8월 1일 화요일 (0) | 2023.08.01 |
[TIL] 23년 7월 31일 월요일 (0) | 2023.08.01 |
[TIL] 23년 7월 28일 금요일 (0) | 2023.07.28 |