저는 지금 근무하는 직장의 면접에서 면접 질문으로 나왔던 것이 "경영지원 팀장님에게 데이터베이스가 무엇인지 설명해보세요" 였습니다.
그때 당시 저는 데이터베이스를 잘 몰랐고 결국 질문에 답을 하지 못했습니다.
하지만 붙었습니다...?!
그래서 그때는 몰랐지만 지금은 알아야 할 데이터베이스에 대해 공부하고 정리해보려고 합니다.
데이터베이스는 어떠한 목적을 가지고 체계화된 데이터를 저장하고 조작하는 것을 말하며 우리가 일상에서 쉽게 접할수 있는 Excel이 대표적인 데이터베이스라고 말 할수 있습니다.
하지만 Excel파일은 공유하기가 힘들고 파일 개수가 많아질 경우 관리하기가 어렵고 여러가지 단점이 있습니다.
이를 DBMS라는 것이 관리를 쉽게 도와주고 다른 애플리케이션과 연동하여 데이터를 쉽게 보여줄 수도 있습니다.
그럼 이제 데이터베이스의 기능들에 대해 알아보겠습니다.
- 검색과 갱신
데이터베이스는 크게 검색과 갱신의 기능을 가지고 그 중에서 검색기능은 가장 중요하다고 알려져있습니다. 그리고 갱신은 등록, 수정, 제거로 나뉩니다.
이 4가지 기능을 통해서 데이터를 검색하고, 등록하고 수정하고 삭제를 할 수 있습니다.
- 데이터의 형식
데이터베이스에서 데이터는 어떠한 형식(포맷)을 가지고 관리됩니다.
간략하게 설명하자면 123와 같은 숫자형태와 "블로그"와 같은 문자열 형식을 가지고 있습니다.
그외에도 많은 형식이 있지만 이것은 다음에 알아보도록 하겠습니다.
- 동시성 제어
데이터베이스는 여러 사람이 동시에 접근을 허용하는데 이 부분에서 문제가 발생합니다.
두명의 사람이 동시에 접근했을 때 검색과 갱신을 어떻게 할지에 따라 3분류로 나뉩니다.
1. A가 데이터베이스에 접근하면 B는 접근할 수 없다.
2. A가 데이터베이스에 먼저 접근하면 B는 검색 기능만 사용할 수 있다.
3. A와 B가 동시에 검색과 갱신 기능을 사용할 수 있고 갱신은 마지막 행위만 처리 된다.
1번은 동시에 접근 할 수가 없어서 데이터의 무결성을 지킬수 있어서 안전한 방법입니다.
2번은 동시에 접근은 할 수 있지만 갱신은 A만 할 수 있고 B는 검색을 사용할 수는 있지만 데이터가 최신이라는 보장은 받을 수 없습니다.
3번은 동시에 접근하여 검색과 갱신을 할 수 있지만 동시에 갱신 할 경우 어떤 데이터가 옳은 데이터인지 판단하기 어렵습니다.
- 장애 대응
데이터베이스는 중요한 데이터들을 모아 둔 장소인데 이 데이터가 사라진다고 생각하면 정말 끔찍할 것입니다.
그래서 이 문제를 대비하기 위해서 데이터 다중화와 백업의 두가지 방법이 있습니다.
데이터 다중화는 데이터들을 여러곳에 분산시켜 사전에 방지하는 것이고 백업은 데이터가 소실 한 경우에 복구하는 방법입니다.
- 데이터베이스의 종류
1. 계층형 데이터베이스
2. 관계형 데이터베이스
3. 객체지향 데이터베이스와 XML 데이터베이스
4. NoSQL 데이터베이스
- 데이터베이스의 특징
1. 실시간 접근성
2. 지속적인 변화
3. 동시 공유
4. 내용에 대한 참조
5. 데이터 논리적 독립성
- 데이터베이스의 장점
1. 데이터 중복 최소화
2. 데이터 공유
3. 일관성, 무결성, 보안성 유지
4. 최신의 데이터 유지
5. 데이터의 표준화 가능
6. 데이터의 논리적, 물리적 독립성
7. 용이한 데이터 접근
8. 데이터 저장 공간 절약
- 데이터베이스의 단점
1. 데이터베이스 전문가 필요
2. 많은 비용 부담
3. 데이터 백업과 복구가 어려움
4. 시스템의 복잡함
5. 대용량 디스크로 엑세스가 집중되면 과부화 발생
출처
https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4
'Development > Database' 카테고리의 다른 글
(DB) Sql문의 기본 CRUD 및 결합 (0) | 2017.10.15 |
---|---|
(DB) 테이블 설계의 기초와 정규형 (3) | 2017.09.27 |
(DB) Mac OS에서 MySQL 설치하기 (0) | 2017.09.22 |
(DB) 관계형 데이터베이스란? (0) | 2017.09.21 |