데이터베이스 (사용 이유, 성능)

갱두·2021년 10월 1일
0

📚 데이터베이스

목록 보기
1/9

데이터베이스를 사용하는 이유

📓 파일 시스템 : 데이터 종속성 문제와 중복성, 데이터 무결성 문제점이 발생!

데이터베이스의 특징

1. 데이터의 독립성

  • 물리적 독립성 : 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다
  • 논리적 독립성 : 데이터베이스는 논리적인 구조로 다양한 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다.

2. 데이터의 무결성
여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 됨

3. 데이터의 보안성
인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다.

4. 데이터의 일관성
연관된 정보를 논리적인 구조로 관리함으로써 어떤 하나의 데이터만 변경했을 경우 발생할 수 있는 데이터의 불일치성을 배제할 수 있따. 또한 작업 중 일부 데이터만 변경되어 나머지 데이터와 일치하지 않는 경우의 수를 ㄹ배제할 수 있다.

5. 데이터의 중복
데이터베이스는 데이터를 통합해서 관리함으로써 파일 시스템의 단점 중 하나인 자료의 중복과 데이터의 중복성 문제를 해결할 수 있다.

데이터베이스의 성능

데이터베이스의 성능 이슈는 디스크I/O를 어떻게 줄이느냐에서 시작된다.

✔️ 디스크IO란 디스크 드라이브의 플래터(원판)을 돌려서 읽어야 할 데이터가 저장된 위치로 디스크 헤더를 이동시킨 다음 데이터를 읽는 것을 의미

데이터를 읽는데 걸리는 시간 : 디스크 헤더를 움직여서 읽고 쓸 위치로 옮기는 단계에서 결정
즉, 디스크의 성능은 디스크 헤더의 위치 이동 없이 얼마나 많은 데이터를 한 번에 기록하느냐에 따라 결정된다.

순차IO가 랜덤IO 보다 빠를 수 밖에 없음 -> 하지만 현실에서는 대부분이 랜덤IO임
랜덤IO를 순차IO로 바꿔서 실행할 수는 없을까 ? 🤷🏻‍♀️
✔️ 여기서부터 시작되는 것이 데이터베이스 쿼리 튜닝
    - 목적 : 랜덤 IO 자체를 줄여주는 것

출처 : https://github.com/JaeYeopHan/Interview_Question_for_Beginner

profile
👩🏻‍💻🔥

0개의 댓글