Database Design - Overview (1)

1 minute read

왜 데이터베이스를 사용하는가?

데이터는 raw하고 처리되지 않은 팩트 들이다. 따라서 이러한 것들을 처리하여 유용한 정보(information)로 바꾸기 위해서 데이터베이스가 존재한다. 예를 들어, 전화번호부의 수억 개의 이름과 휴대폰 번호는 데이터고, 나의 집에 불이날때 소방서의 전화번호가 정보인 것이다.

데이터베이스는 수만가지의 팩트들이 정보로 손쉽게 처리될 수 있도록 설계된 레포지토리이다. 예를 들어, 전화번호부가 번호가 발행된 날짜순으로 정렬되어 있다면, 그 날짜를 알지 않는 이상 그 번호를 찾는 것이 매우 오래 걸릴 것이다.

데이터베이스는 훨씬 더 유연하다. 데이터를 이름, 번호, 주소, 날짜 등으로 정렬할 수 있다. 하지만 데이터베이스는 대체로 복잡하기 때문에, 올바르게 설계하지 않으면 쿼리 실행의 속도가 느려지거나 정보를 찾을 수 없게 된다. 따라서 해당 글에서는 올바른 데이터베이스 설계와 관련된 내용을 다뤄보겠다.

데이터베이스 라이프사이클

다른 것들과 마찬가지로 데이터베이스도 라이프사이클은 가진다. 아무리 성공적인 데이터베이스라도 나중에는 다른 데이터베이스로 교체될 수도 있다. 일반적으로, 다음과 같은 여섯 가지의 라이프사이클 단계를 거치게 된다.

분석 (Analysis) 분석 단계는 이해관계자들을 인터뷰하여 현재 시스템을 검토하여 문제와 제한 사항을 식별하는 단계이다. 새로운 시스템의 목표와 범위가 결정된다.

설계 (Design) 설계 단계는 분석 단계에서 결정된 요구사항을 바탕으로 개념적 설계(conceptual design)를 생성하고, 데이터베이스를 실제로 구현할 수 있도록 논리적(logical) 및 물리적(physical) 설계 또한 생성하는 단계이다.

구현 (Implementation) 구현 단계에서는 데이터베이스 관리 시스템(DBMS)이 설치되고 데이터베이스를 생성, 그리고 데이터를 그 안에 로딩하는 단계이다.

테스트 (Testing) 테스트 단계에서는 데이터베이스를 테스트해보고, 주로 관련된 애플리케이션과 함께 튜닝해보는 시점이다.

운영 (Operation) 운영 단계에서는 데이터베이스가 정상적으로 동작하여 유저들에게 정보를 제공하는 단계이다.

유지보수 (Maintenance) 유지보수 단계에서는 새로운 요구사항이 생기거나 운영 조건 변경(예를 들어 더 무거운 데이터 양)에 대응하여 데이터베이스를 수정하는 단계이다.

이 후의 글에서 각각의 단계를 좀 더 자세히 살펴보겠다.

출처

Database Design, Mariadb

Updated:

Leave a comment