코딩 기록들

RDBMS / NOSQL 본문

면접준비하기

RDBMS / NOSQL

코딩펭귄 2023. 3. 1. 20:47

들어가기전, 

- Database :  여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리하는 데이터의 집합

- DBMS : data base management system : 사용자와 db 사이에서 사용자의 요청 해석해 db에 저장된 정보를 관리할수있도록 해주는 소프트웨어

- SQL : structed query language : 관계형 db 관리 시스템에 저장된 데이터 관리 위해 설계된 프로그래밍언어

- 스키마 : db 구성하는 개체, 속성, 관계및 제약조건등에관해 전반적으로 정의한 메타데이터의 집합

 

 

RDBMS 

- R (relation) + DBMS = 관계형 데이터베이스 관리 시스템

- 모든 데이터를 엑셀의 형식과 유사한 2차원테이블 형식으로 표현,  '속성, 값' 을 이용해 데이터를 정의, 저장, 관리함

- 각각의 '속성, 값' 을 가진 테이블은 서로 관계를 맺으며 존재하고, 이런 데이터를 활용하기위해 사용자는 SQL언어 사용

- 이러한 관계를 나타내기 위해 외래키(foreign key)를 사용한 테이블 간 join이 가능하다는것이 가장 큰 특징임

- 장점 : 데이터를 column 과 row 형태로 저장 -> 데이터 분류, 정렬, 탐색 속도가 비교적 빠름, 작업의 완전성을 보장함

- 단점 : 반드시 스키마규격에 맞춰 데이터를 다뤄야하며, 데이터 처리에대한 부하 발생시 처리가 어려움

            성능향상을 위해서는 scale-up만을 지원 : 비용이 기하급수적으로 늘어날수있음

 

 

NoSQL

- not only sql = 관계형 데이터베이스와는 반대되는 방식을 사용

- 데이터-테이블간의 관계 정의하지않음 -> 정해진 스키마 없기때문에 더욱 자유롭게 데이터 저장 가능

- 빅데이터의 등장으로 인해 데이터와 트래픽이 기하급수적으로 증가함에따라 RDBS의 단점인 성능을 향상시키기위해 등장

- 데이터의 일관성은 포기 but 비용고려 -> scale-out 을 목표로 등장 (데이터에 분산하여 저장하는것)

- key값만 가지고 데이터 입출력 수행할수 있음

- 장점 : 테이블에 스키마가 정해져있지않아 데이터저장이 비교적 자유로움, 많은양의 데이터를 저장,처리 할수있음

- 단점 : 키값에대한 입,출력만 지원 / data update 느림 / 스키마가 안정해져있기때문에 데이터규격화 x

 

* 다양한 형태의 저장기술을 지원함

- key-value database

- document database

- wide column database

- graph database

 

 

참고

https://pythontoomuchinformation.tistory.com/528

'면접준비하기' 카테고리의 다른 글

IP주소(1) - ARP, 홉바이홉 통신  (0) 2023.09.14
데드락(교착상태)이란?  (0) 2023.09.14
Loss Surface 란?  (0) 2023.03.01
스레드 & 프로세스  (0) 2023.02.28
TCP / UDP  (0) 2023.02.27