데이터베이스 관리 시스템(DBMS)

/ 5 min read /
0 views

여기서 가치있는 정보를 얻으려면 데이터를 많이 수집해야하지만, 무조건 많이 수집하는 것만으로는 충분하지 않다. 수집된 데이터를 효율적으로 관리하고 언제든 필요한 정보를 빠르게 찾아낼 수 있어야 한다. 이 글에서는 이러한 효율적인 데이터 관리를 위한 데이터베이스 관리 시스템(DBMS)에 대해 알아본다.

파일 시스템의 문제점

데이터베이스 관리 시스템(DBMS)에 대해 알아보기 전에, 데이터베이스 이전에 데이터를 관리하기 위해 가장 먼저 사용되던 방식은 파일 시스템에 대해 알아보자. 파일 시스템은 데이터를 파일 단위로 저장하고 관리하는 방식이다.

그럼 왜 파일 시스템을 사용하지 않고 데이터베이스를 사용할까? 이것을 알아가기 전에 먼저 파일 시스템의 저장 방식을 알아야 한다. 파일 시스템은 데이터를 파일 단위로 저장하고, 이 파일을 읽고 쓰는 방식으로 데이터를 처리한다. 흔히 사용되는 윈도우 파일 탐색기를 예로 들 수 있다. 이러한 파일 시스템은 애플리케이션마다 필요한 데이터를 독립적으로 저장하고 관리한다. 이는 특정 하드웨어나 소프트웨어에 종속되는 것을 의미한다.

그럼 이제 왜 파일 시스템을 사용하지 않고 데이터베이스를 사용하는지 파일 시스템의 문제점을 살펴보자.

데이터 종속의 문제

위에서 언급한 것처럼 파일 시스템은 특정 하드웨어나 소프트웨어에 종속되어 있다. 이는 데이터를 저장하는 방식이나 데이터에 접근하는 방식이 특정 시스템에 의존적이라는 것을 의미한다. 이러한 종속성은 데이터를 다른 시스템으로 마이그레이션하거나 다른 시스템에서 사용하기 어렵게 만든다.

데이터 중복의 문제

파일 시스템은 애플리케이션마다 필요한 데이터를 독립적으로 저장하고 관리한다고 언급했다. 이때 애플리케이션 별로 데이터를 생성하기에 동일한 데이터가 여러 번 중복되어 저장될 수 있다. 이렇게 생성된 중복 데이터들은 데이터의 일관성을 해치는 다양한 문제를 야기한다. 어떠한 데이터를 수정할 때 동일한 그리고 중복된 모든 데이터를 수정해야 하기에 데이터 관리가 어려워진다. 그리고 중복 데이터를 저장하는 것은 그만큼 저장 공간을 차지하여 낭비하는 것이기에 경제성 또한 떨어진다. 중복된 데이터는 보안성에서도 문제가 되는데, 각각의 동일 데이터에 대한 보안 수준을 유지하기 어려워 진다.

무결성 훼손의 문제

데이터의 무결성은 데이터의 정확성과 일관성을 의미한다. 이러한 무결성을 보장하기 위해서는 제약조건을 설정하고 이를 지키는 것이 중요하다. 파일 시스템은 데이터를 독립적으로 저장하고 이에따른 수많은 중복 데이터가 많아짐에 따른 개별 데이터들을 모니터링을 하여 이러한 제약조건을 지키기 어렵다. 이로 인해 데이터의 무결성이 훼손될 가능성이 높아진다.

동시 접근의 문제

파일 시스템에서 다수의 사용자가 동시에 데이터에 접근하려고 할 때 문제가 발생할 수 있다. 예를 들어 사용자 A가 파일을 수정하고 있는 동안 사용자 B가 동일 파일을 읽으려고 한다면 어떻게 될까? 이 경우에 사용자 B는 수정 중인 파일을 읽을 수 없게 된다. 이러한 문제를 해결하기 위해서는 파일을 읽기 전에 잠금을 걸어 다른 사용자가 파일을 수정하지 못하게 해야 한다. 하지만 파일 시스템은 이러한 동시 접근 문제를 해결하기 위한 기능을 제공하지 않는다.

데이터베이스의 정의

파일 시스템의 문제점을 해결하기 위해 등장한 방식이 데이터베이스이다. 데이터베이스는 무엇인지에 대한 정의는 다음과 같다.

통합된 데이터

데이터베이스는 중복 데이터를 최소화하고 중복 데이터를 피하기 위해 데이터를 통합하여 저장한다. 이를 통해 데이터의 일관성을 유지하고 데이터의 정확성을 보장한다.

저장된 데이터

데이터베이스의 데이터는 컴퓨터가 접근할 수 있는 저장 매체에 저장된다. 이러한 저장 매체는 하드디스크, SSD, 메모리 등이 있을 수 있다.

운영 데이터

데이터베이스는 조직의 운영에 필요한 데이터를 저장하고 관리한다. 이러한 데이터는 조직의 운영에 필요한 데이터로, 조직의 목적에 따라 다양한 데이터가 저장될 수 있다.

공용 데이터

데이터베이스는 여러 사용자가 동시에 데이터에 접근할 수 있도록 공유된다. 이러한 공용 데이터는 여러 사용자가 동시에 데이터에 접근할 수 있도록 하기 위해 데이터베이스 관리 시스템(DBMS)에 의해 관리된다. DBMS에 대해서는 뒤에서 자세히 다룰 것이다.

데이터베이스의 특징

데이터베이스에 대해 알아보았다. 그럼 이러한 데이터베이스는 어떻게 파일 시스템과 다른지 그리고 어떻게 파일 시스템의 문제점을 해결할 수 있는지 데이터베이스가 가지는 특징을 살펴보자.

실시간 접근성

데이터베이스는 사용자의 수시적이고 비정형적인 질의 요구에 실시간으로 응답할 수 있어야 한다. 실시간 처리에서는 사용자의 개인 특성이나 제공되는 서비스 유형에 따라 허용되는 응답 시간이 다르지만 대개 몇 초를 넘지 않는 시간 내에 데이터를 제공할 수 있어야 한다.

지속적인 변화

데이터베이스는 현실 세계의 상태르 정확히 반영해야 의미가 있다. 그렇지만 현실 세계는 끊임없이 변화한다. 이에 데이터베이스는 지속적인 변화를 반영할 수 있어야 한다. 즉, 데이터베이스는 동적인 상태 유지를 위해 새로운 데이터의 삽입(Insert),삭제(Delete),갱신(Update)로 항상 최신의 데이터를 유지해야 한다.

동시 공유

데이터베이스는 동시 공유의 특성을 제공해 다수의 사용자가 동시에 데이터에 접근하고 데이터를 수정할 수 있도록 해야 한다. 여기서 공시 공유는 사용자가 서로 다른 데이터를 동시에 접근하는 것뿐만아니라, 동일한 데이터에 대해 동시에 접근하는 것도 포함한다.

내용에 의한 참조

일반적인 컴퓨터 시스템의 검색은 저장된 데이터의 주소를 알아야 가능하다. 하지만 데이터베이스는 저장된 주소가 아닌 데이터의 내용이나 값으로 데이터를 찾아 참조할 수 있다. C언어의 포인터나, URL 주소를 떠올리면 된다.

데이터베이스 관리 시스템(DBMS) 특징

데이터베이스 관리 시스템(DBMS)은 데이터베이스를 사용하는 사용자나 응용 프로그램이 데이터베이스에 접근할 수 있도록 해주며, 데이터베이스의 보안, 무결성, 백업, 복구 등을 관리한다. 이러한 DBMS는 데이터베이스의 효율적인 관리를 위해 다양한 기능을 제공하고 다음과 같은 특징을 가진다.

데이터 독립성

데이터베이스를 이용하면 업무의 흐름에 따라 데이터를 통합 및 분리하여 관리할 수 있게 되므로 중복성을 줄일 수 있다. 이 부분은 모델링의 정규화에 대한 이야기로, 데이터의 중복성을 줄이고 데이터의 일관성을 유지하기 위한 방법이다.

데이터 무결성

데이터베이스는 데이터의 무결성을 보장하기 위해 제약조건을 설정할 수 있다. 제약조건에 맞지 않는 데이터의 삽입, 수정, 삭제를 방지하여 데이터의 무결성을 보장한다. 기능적으로는 참조 무결성, 개체 무결성, 도메인 무결성 등이 있다.

데이터 보안성

데이터베이스 시스템의 데이터는 중요한 정보를 담고 있기 때문에 데이터의 보안성이 중요하다. DBMS는 데이터베이스에 접근하는 사용자의 권한을 관리하여 데이터의 보안성을 보장한다.

데이터 일관성

데이토의 불일치성을 미리 방지하여 데이터를 정확하게 유지하여 사용자에게 일관된 정보를 제공한다. 트랜잭션이라는 작업의 논리적 단위를 통해 데이터의 일관성을 유지한다.

참고

Loading Comments...