[MariaDB] MariaDB 소개

2 minute read

1. DBMS 개요 및 MariaDB 소개

1.1 DBMS 개요

1.1.1 데이터 베이스의 정의와 특징

DB의 정의

  • 데이터의 집합
  • 여러 명의 사용자, 응용프로그램이 공유
  • 동시 접근이 가능해야 함
  • MariaDB에서는 ‘데이터의 저장공간’ 자체를 의미하기도 함

DBMS(DataBase Management System)

  • 데이터베이스를 관리/운영하는 역할

DB 또는 DBMS의 특징

  • 데이터의 무결성
    • 오류가 없는 무결성(Integrity)
      • DB 안의 데이터는 어떤 경로를 통해 들어왔든 데이터에 오류가 없어야 함
    • 제약 조건(Constraint)을 통해 무결성 구현
      • 반드시 있어야 하는 데이터
      • 중복되지 않는 데이터
  • 데이터의 독립성
    • DB와 응용 프로그램은 독립적은 관계여야 함
    • DB의 크기 변경, 데이터 파일의 저장소를 변경한 경우에도 기존에 작성된 응용 프로그램은 전혀 영향을 받지 않아야 함
  • 보안
    • DB 안의 데이터에 대한 접근성
    • 데이터를 소유 또는 접근이 허가된 사람만 데이터에 접근 가능
    • 접근 시 사용자의 계정에 따라 다른 권한을 가짐
    • 고객 정보 유출 사고가 빈번한 상황
  • 데이터 중복의 최소화
    • 동일한 데이터의 중복 저장 방지
    • 하나의 테이블에 저장하고 공유함으로써 중복 최소화
  • 응용 프로그램 제작 및 수정이 쉬워짐
    • 통일된 방식으로 응용 프로그램 작성 가능
    • 유지보수 용이
  • 데이터의 안전성 향상
    • DBMS가 제공하는 백업/복원 기능 이용

1.1.2 DB의 발전

발전 과정

  • 오프라인으로 관리 : 수기
  • 파일 시스템의 사용 : 메모장, 엑셀
  • DBMS
    • 파일 시스템의 단점 보완
    • DB를 잘 관리/운영하기 위한 소프트웨어
    • SQL(Structured Query Language)
      • DBMS에 데이터를 구축하고 관리, 활용하기 위해 사용되는 언어
      • DBMS를 통해 중요한 정보들을 입력하고 관리, 추출하는데 사용

1.1.3 DBMS 분류

분류별 특징

  • 계층형 DBMS
    • Tree 형태의 DBMS
    • 구조 변경의 어려움, 접근의 유연성 부족
  • 망형 DBMS
    • 계층형 DBMS 개선
    • 복잡한 내부 포인터 사용
  • 관계형 DBMS
    • 현재 사용되는 DBMS 중 가장 많은 부분을 차지
    • ‘테이블’이라 불리는 최소 단위로 구성
    • 테이블은 하나 이상의 열로 구성
    • RDBMS 관리/운영 프로세스
      1. 업무파악(Data)
      2. DB 모델링(Table)
      3. Table(제약사항, 관계, 주요키, 외래키 등) 생성
      4. 데이터 입력
      5. 데이터 조회, 수정, 삭제
      6. 관리(백업, 보안, 처리)
    • 관계형 DBMS에서의 ‘테이블’의 개념
      • RDBMS의 가장 기본적이고 중요한 구성
      • 데이터를 효율적으로 저장하기 위한 구조
      • 여러 개의 테이블로 나누어 저장(데이터의 저장 효율성 보장)
      • 테이블의 관계(Relation)
        • 기본 키(Primary Key)와 외래키(Foreign Key)를 사용해 관계 지정(부모-자식 관계)
        • SQL의 JOIN 기능 이용
    • 장단점
      • 장점
        • 쉽게 변화에 순응할 수 있는 구조
        • 유지보수 용이
        • 대용량 데이터 관리와 데이터 무결성 보장
      • 단점
        • 시스템 자원을 많이 차지해 시스템이 전반적으로 느려짐
        • 하드웨어의 급속한 발전으로 인해 단점이 보완되고 있음(비용 증가)

1.1.4 SQL 개요

SQL의 특징

  • DBMS 제작 회사와 독립적임
    • 제작 회사는 표준 SQL에 맞춰서 DBMS 개발
    • 표준 SQL은 대부분의 DBMS 제품에서 공통 호환
  • 다른 시스템으로 이식성이 좋음
    • SQL 표준은 DBMS간 상호 호환성이 뛰어나 다른 시스템으로 이식이 쉬움
  • 표준이 계속 발전함
    • 주기적으로 개선된 표준안이 발표되고 있음
  • 대화식 언어
    • 질의하고 결과를 얻는 대화식 언어로 구성
  • 분산형 클라이언트/서버 구조
    • 클라이언트에서 질의 → 서버에서 질의를 받아 처리 후 클라이언트에게 전달

1.2 MariaDB 소개

1.2.1 MariaDB의 개요

  • MariaDB 사에서 제작한 RDBMS 소프트웨어
  • 오픈 소스
  • MySQL이 Oracle에 인수된 이후 몬티 와이드니어스가 자회사 설립
  • MySQL과 호환성 대부분 유지

기타 용어

  • Deadlock : 동시에 두 사용자가 상대 사용자의 DB에 접근하는 경우, 서로 원하는 리소스가 상대방에게 할당되어 있기 때문에 두 프로세스가 무한정 기다리게 되는 상태
  • 이용자와 사용자
    • 이용자 : 고객(Customer)
    • 사용자 : 직원(User)

Categories:

Updated:

Leave a comment