본문 바로가기
Computer Science/DataBase

DB를 왜 사용할까?

by Ray 2021. 5. 17.

1. DB와 DBMS에 대해서 설명해주세요

DB는 여러 사용자가 공유하여 사용할 수 있도록 통합하여 저장되고 관리, 운영되는 데이터들의 집합입니다.
이를 통해 데이터들의 중복을 제거하고, 구조화하여 효율적인 데이터 처리를 할 수 있습니다.
그리고 DB는 별도의 미들웨어에 의해 관리가 되는데, 이를 DBMS라고 합니다.
DBMS는 사용자과 DB 사이에서 사용자의 요청을 처리하고 DB를 관리할 수 있도록 도와줍니다.

2. DB의 특징은 무엇인가요?

DB의 특징은 크게 5가지로 말할 수 있습니다.
- 실시간 접근 : 사용자의 요청을 즉시 처리하여 응답
- 계속적인 진화 : 데이터의 삽입, 갱신, 삭제를 통해 최신 데이터를 유지
- 동시 공유 : 여러 사용자가 동시에 데이터를 사용 가능
- 내용에 의한 참조 : 데이터의 물리적 주소가 아닌, 데이터의 값에 의한 참조
- 데이터 중복의 최소화 : 동일한 데이터의 중복을 최소화 

3. DB를 왜 사용할까요?

DB가 나오기 전에는 파일 시스템을 이용하여 데이터를 저장하고 처리하였습니다.
그러나 파일 시스템은 독립된 파일 단위로 데이터를 저장하였기에, 몇가지 문제를 발생시켰습니다.
한 시스템내에 같은 데이터가 여러 파일에 중복 저장되는 데이터 중복성 문제가 발생하였고,
데이터(파일)가 응용프로그램에 의존적인 데이터 종속성 문제가 발생하였습니다.
그리고 이는 데이터 무결성을 침해하는 결과를 가져왔습니다.
이러한 파일 시스템의 문제들을 해결하기 위해 DB를 사용합니다.
DB를 사용함으로써, 데이터의 중복을 줄이고 종속성을 제거하여 더 효율적이고 정확한 데이터 처리를 할 수 있습니다.

4. DB의 성능에 대해 말해주세요

DB의 성능은 디스크 I/O를 어떻게 줄일 수 있을지에 대해 고민하는 것부터 시작됩니다.
디스크는 탐색해야 할 데이터가 저장된 위치로 디스크 헤더를 이동 시키고 데이터를 읽습니다.
즉, 디스크 헤더의 위치 이동없이 얼마나 많은 데이터를 처리할 수 있느냐가 키포인트입니다.
이상적으로는 순차적으로 I/O가 이루어지면 좋겠으나, 현실적으로는 랜덤으로 I/O가 이루어지기에 이를 효율적으로 처리하는 것이 중요합니다.
일반적으로 빠른 탐색속도를 위해 인덱스를 사용하며, Optimizer-Clustering-Replication-sharding같은 방법도 있습니다.

'Computer Science > DataBase' 카테고리의 다른 글

Clustered Index와 Non-Clustered Index??  (0) 2021.05.17
트랜잭션이 왜 필요할까?  (0) 2021.05.17
SQL Injection이란??  (0) 2021.04.27