ch 01. 데이터베이스란 - 02. 데이터베이스의 기본 기능
[ ] 데이터 삽입, 삭제, 수정, 조회 기능
조회 : 원하는 데이터를 조회하는 기능(ex. 영화 시간표 조회)
갱신 -> 삽입 : 원하는 데이터를 저장하는 기능(ex. 영화 예매)
-> 삭제 : 원하는 데이터를 삭제하는 기능(ex. 영화 예매 취소)
-> 수정 : 원하는 데어터를 수정하는 기능(ex. 영화 좌석 변경)
영화 예매 시스템은 데이터의 삽입, 삭제, 수정 조회 기능을 모두 구현해야 운영이 가능함
[ ] 동시성 제어
이수지 | 이수지는 강남역CGV 1관에서 2020년 4월 26일 20:30분에 시작하는 영화의 A2 좌석을 선택 후 결재를 진행하고 하는 상태 |
이경오 | 이경오는 강남역CGV 1관에서 2020년 4월 26일 20:30분에 시작하는 영화를 예매 시 A2 좌석은 선택할 수 없음 |
[ ] 동시성 제어의 중요성
(1) 데이터베이스의 동시성 제어가 보장 되지 않는다면 A2 좌석에 대한 결제가 동시에 이루어 질 수 있음
(2) 만약 이수지와 이경오 모두 같은 영화관, 같은 시간, 같은 영화, 같은 좌석을 예매한다면 해당 좌석은 두 사람 중 그 누구의 좌석도 아닌 좌석이 됨
(3) 영화관은 대혼란은 맞이함
(4) 데이터베이스의 동시성은 한 기업의 비즈니스 성패를 좌우할 수 있을 정도로 중요함
데이터베이스의 기본 기능
영화 예매 시스템을 기반으로 설명한다.
데이터베이스의 가장 중요한 기능은 데이터를 삽입하고 삭제하고 수정하고 조회하는 것이다.
데이터에 대한 조회는 영화 예매를 할때 영화 예매 시간표를 조회하는 것 등이다.
데이터의 갱신은 3가지가 있다. 삽입, 삭제, 수정이다.
삽입은 데이터를 저장하는 기능이다. 삭제는 원하는 데이터를 삭제하는 기능이다. 수정은 원하는 데이터를 수정하는 기능이다.
삽입, 삭제, 수정, 조회 기능을 모두 갖추고 있어야지만 운영이 가능하다.
영화 예약 시스템 말고도 병원 예약 시스템, 증권사 시스템, 보험사 시스템, 은행 시스템, 전자정보 시스템부터 우리가 쓰고 있는 수많은 시스템은 전부 데이터의 삽입, 삭제, 수정, 조회 기능을 지원하고 있다. 그걸로 구현되어 있다.
지난 시간에 데이터베이스의 동시성이 굉장히 중요하다. 데이터베이스의 강력한 특징 중에 하나이다.
데이터 베이스가 동시성을 지원하다보니 여러명의 사용자가 작업을 할때 데이터의 일관성 정확성등이 어긋날 수 있다.
그런거를 해결하기 위해서 지원을 해주는 기능이 동시성 제어 기능이다. 정말 중요한 기능이다.
예를 들면, 이 수지라는 사람이 있는데 강남역CGV 1관에서 2020년 4월 26일 20:30분에 시작하는 영화의 A2 좌석을 선택 후 결제를 진행하고 있는 상태이다. A2 좌석을 찍고 들어가서 결제를 기다리고 있는 상태이다. 이 상태는 암묵적으로 예약을 기다리고 있는 상태이다 그러면 이경오라는 사람은 강남역CGV 1관에서 2020년 4월 26일 20:30분에 시작하는 영화를 예매 시 A2 좌석은 예매할 수 없어야 한다. 아직 결제 완료가 된 상태가 아니여도 이경오는 A2 좌석을 선택할 수 없어야 한다. 이게 중요하다. 만일 이수지가 A2 좌석을 선택하고 결제 완료를 하지 않고 기다리는 동안 이경오가 A2 좌석을 선택해서 결제를 진행했다면 이경오는 A2 좌석을 갖게 되고 이수지도 A2 좌석을 선택해서 결제를 했다면 A2 좌석을 가지고 있는 사람이 2명이 된다. 그렇게 되면 분란의 소지가 될 여지가 있다. 이렇게 좌석이 겹치게 된다면 큰 문제가 일어날 수 있다. 그렇기 때문에 데이터 베이스의 동시성 제어가 중요하다. 그렇기 때문에 이수지가 A2 좌석을 선택했다면 다른 사람은 그 좌석을 선택할 수 없어야 한다. 이러한 것들을 해주는 것이 바로 동시성 제어이다. 동시성 제어가 보장되지 않는다면 A2 좌석에 대한 결재가 동시에 이루어 질 수 있다. 최악의 케이스가 발생할 수 있다. 그렇기 때문에 데이터 베이스의 동시성은 한 기업을 위기에 빠뜨릴수 있기 때문에 중요하다.
[ ] 장애 대응 기능
- 데이터베이스는 데이터 손실이 발생한 경우에 복원이 가능 해야한다.
- 즉 데이터의 보호와 장애에 대한 방안이 있어야 한다.
[ ] 보안 기능
개인용 컴퓨터 | --------------------------> 보안에 위배 되지 않는 데이터 조회 |
데이터베이스 서버 |
휴대폰 | ||
태블릿 |
(1) 데이터베이스의 보안 기능은 사용자에게 보여줄 데이터만 보여주는 것
(2) 보안에 위배되는 데이터는 데이터베이스 서버 내에서 관리
(3) 사용자는 데이터베이스 내부를 알 필요가 없고 자신이 원하는 정보처리만을 수행
(4) 개인 정보의 유출 등은 매우 심각한 사회문제가 되므로 데이터의 보안이 중요함
어떠한 백업 전략 데이터에 대한 로딩 전략을 통해서 손실된 데이터를 복구 할 수 있어야한다. 이러한 것을 데이터베이스 시스템들이 제공하고 있다.
보안 기능 개인용 컴퓨터, 휴대폰, 태블릿 어느것으로 보든 보안이 위배되지 않는 것을 보아야 한다. 개인 정보가 유출된다던가 그러면 안된다. 어떤 시스템에서 결제 내역을 조회했는데 자기 주민 번호가 나온다던가 개인 정보가 조회된다던가 그러면 안된다. 그래서 보안 기능은 사용자에게 보여줄 데이터만 보여줘야 한다. 보안에 위배되는 데이터는 데이터베이스 서버 내에서 관리 암호화 처리를 하든 마스킹 처리를 하든 데이터 베이스 서버 내에서 관리해야 한다. 사용자는 데이터 베이스 내부를 알 필요가 없다. 개인정보 유출은 사회적인 이슈가 된다. 기업들이 기업에 성패가 달렸다고 할 수 있다. 그래서 보안 기능도 굉장히 중요하다. 데이터베이스의 기본 기능에 대해서 알아봤다.
패스트 캠퍼스 링크
'자격증 > 패스트 캠퍼스 데이터베이스와 SQLD 합격패스 Online' 카테고리의 다른 글
패스트 캠퍼스 챌린지 06일차 데이터베이스와 SQLD 합격패스 Online (0) | 2021.09.11 |
---|---|
패스트 캠퍼스 챌린지 05일차 데이터베이스와 SQLD 합격패스 Online (0) | 2021.09.10 |
패스트 캠퍼스 챌린지 04일차 데이터베이스와 SQLD 합격패스 Online (0) | 2021.09.09 |
패스트 캠퍼스 챌린지 03일차 데이터베이스와 SQLD 합격패스 Online (0) | 2021.09.08 |
패스트 캠퍼스 챌린지 01일차 데이터베이스와 SQLD 합격패스 Online (0) | 2021.09.06 |