Akashic Records

데이터베이스 관리 시스템(DBMS) 개요 본문

DataBase for Beginners

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

Andrew's Akashic Records 2023. 5. 15. 16:00
728x90

데이터베이스 관리 시스템(Database Management System, DBMS)은 사용자와 다른 애플리케이션 소프트웨어가 데이터베이스와 상호작용할 수 있게 해주는 소프트웨어입니다. DBMS는 데이터를 생성, 검색, 업데이트 및 관리하는 수단을 제공합니다.

 

DBMS의 주요 목표는 다음과 같습니다:

  1. 데이터 무결성(Data Integrity): 데이터 무결성은 데이터의 정확성, 일관성, 유효성을 보장하는 것을 의미합니다. 데이터 무결성을 유지하려면 시스템은 데이터를 생성, 수정, 삭제할 때 무결성 규칙을 따라야 합니다. 예를 들어, 주문 시스템에서 주문이 생성되면 주문 번호는 고유해야 하고(고유성), 각 주문은 반드시 고객에게 연결되어야 합니다(참조 무결성). DBMS는 이러한 규칙을 강제하여 데이터의 정확성과 일관성을 보장합니다.

  2. 데이터 보안(Data Security): 데이터 보안은 데이터베이스에서 중요한 정보를 보호하는 것을 의미합니다. DBMS는 사용자 인증 및 권한 관리 기능을 제공하여 데이터를 보호합니다. 사용자 인증은 사용자가 시스템에 액세스하기 위해 자신의 신원을 증명해야 한다는 원칙을 의미하며, 권한 관리는 사용자가 수행할 수 있는 작업을 제한합니다. 예를 들어, 일부 사용자는 읽기 권한만 있을 수 있고, 다른 사용자는 데이터를 수정하거나 삭제할 수 있습니다.

  3. 데이터 백업 및 복구(Backup and Recovery): DBMS는 데이터 손실을 방지하기 위해 데이터 백업 기능을 제공합니다. 백업은 데이터의 복사본을 생성하는 프로세스입니다. 이 복사본은 원본 데이터가 손상되거나 손실된 경우 복구를 위해 사용됩니다. DBMS는 일정한 간격으로 자동 백업을 수행하거나, 사용자가 필요에 따라 수동으로 백업을 수행할 수 있게 합니다.

  4. 동시성 제어(Concurrency Control): 동시성 제어는 여러 사용자나 애플리케이션이 동시에 같은 데이터에 액세스하거나 수정할 때 데이터 일관성을 유지하는 것을 의미합니다. 예를 들어, 두 사용자가 동시에 같은 데이터를 읽어 수정하려고 할 때, 이들 중 한 사용자의 변경이 다른 사용자의 변경을 덮어쓰지 않도록 해야 합니다. DBMS는 락(locking), 버전 관리(versioning) 등의 기법을 사용하여 동시성을 제어합니다.

  5. 데이터 추상화(Data Abstraction): 데이터 추상화는 물리적 데이터 저장 세부 사항을 사용자로부터 숨기고, 사용자에게는 데이터의 논리적인 뷰만을 제공하는 것을 의미합니다. 이는 사용자가 데이터를 더 쉽게 이해하고 사용할 수 있게 해줍니다. 예를 들어, 사용자는 간단한 SQL 명령을 통해 데이터를 검색하거나 수정할 수 있지만, 이 데이터가 디스크의 어디에 저장되어 있고, 어떻게 접근되는지에 대한 복잡한 세부 사항은 알 필요가 없습니다. 이렇게 함으로써, DBMS는 데이터베이스에서 정보를 효과적으로 사용하려는 사용자와 물리적인 데이터 저장과 관련된 복잡한 세부 사항 사이의 격차를 줄입니다.

데이터 추상화는 주로 세 가지 레벨로 구성됩니다:

  • 물리적 수준(Physical Level): 이 수준에서는 데이터가 실제로 컴퓨터의 저장 장치에 어떻게 저장되는지에 대한 세부 사항이 정의됩니다. 이것은 데이터베이스 관리자나 시스템 프로그래머와 같은 전문가에게 중요한 수준입니다.
  • 논리적 수준(Logical Level): 이 수준에서는 데이터베이스의 논리적 구조와 관계가 정의됩니다. 여기에는 데이터베이스에 있는 데이터의 종류와 이들이 서로 어떻게 관련되어 있는지에 대한 정보가 포함됩니다.
  • 뷰 수준(View Level): 이 수준에서는 개별 사용자나 애플리케이션에게 어떤 데이터가 보일 것인지, 그리고 그 데이터에 어떻게 액세스할 것인지에 대한 세부 사항이 정의됩니다.

이 세 가지 수준의 추상화는 사용자와 시스템 간의 상호 작용을 단순화하고, 데이터의 복잡성을 관리하며, 데이터의 무결성과 보안을 유지하는 데 도움이 됩니다.

 

DBMS는 관계형 DBMS(RDBMS), NoSQL DBMS, 객체지향 DBMS(OODBMS), 계층형 DBMS, 네트워크 DBMS 등 다양한 유형이 있습니다. RDBMS는 현재 가장 널리 사용되는 DBMS 유형으로, SQL(Structured Query Language)을 사용하여 데이터를 관리합니다. NoSQL DBMS는 관계형 모델이 아닌 다른 데이터 모델을 사용하여, 대량의 비정형 데이터를 저장하고 처리하는 데 적합합니다.

728x90
Comments