Study/CS 기초

데이터베이스 거시적으로 보기

김 도경 2024. 10. 30. 14:58

[2024.10.30] 필수 온라인 강의 Part5 데이터베이스 CH01 오리엔테이션

데이터 베이스
  • 데이터베이스
     - 여러사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합
     - 사실상 저장해야할 모든 것

    - 특히, 웹 서비스의 심장과도 같다
    - 저장되는 방법에 따라 성능이 달라짐
    - 저장되는 대상/저장하는 방법에 따라 웹서비스의 목적과 성능이 달라짐

  • DBMS
     - Data Base Management System 데이터베이스를 관리하는 시스템 == 데이터베이스를 관리하는 프로그램!
    - 종류 : SQL Server, MariaDB, MySQL, ORACLE, MongoDB, SQLite, PostgreSQL 등등

    - 관계형 DBMS
         - 데이터를 테이블 형태(열 & 행)로 저장
         - 즉, 데이터를 표와 같은 형태로 저장하는 DBMS
         - 테이블끼리 참고, 합치기도 가능함

    - 비 관계형 DBMS

  • SQL  : SQL은 Structured Query Language의 약자
       - 관계형 DBMS을 다루기 위한 언어 
       - 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 조작하고 관리하기 위한 언어
       - 종류
           - DML: Data Manipulation Language

           - DDL : Data Definition Language

           - DCL : Data Control Language

         - TCL (Transaction Control Language)로 따로 분류

  • NoSQL
       - 비관계형 데이터베이스
       - NoSQL은 먼저 구조를 정의할 필요 없이 데이터를 저장 및 검색 확장성, 가용성이 장점
                (실시간 웹 어플리케이션 & 빅데이터) e.g.) mongoDB
               - MongoDB : https://www.mongodb.com/ko-kr/resources/basics/databases/nosql-explained
      - NonSQL이란 무엇인가? https://www.oracle.com/kr/database/nosql/what-is-nosql/

  • 트랜잭션(Transaction)
        - 데이터베이스 상호작용의 단위
        - 논리적 작업 단위
        -  e.g.) 돈을 계좌에서 인출하는 작업, 학생을 테이블에서 삭제하는 작업

    - 트랜잭션(Transaction)이 지켜야 할 성질
        - ACID
             - A(원자성, Atomicity)
                 - 트랜잭션은 하나의 논리적인 작업 단위로 간주
                 - 모든 데이터 조작 작업은 성공하거나 실패할 때까지 적용되지 않거나 롤백
                     ( 계좌에서 인출하고 다른 계좌로 입금하는 트랜잭션에서 하나의 작업이 실패하면 다른 작업도 취소)
             - C(일관성, Consistency)
                  - 트랜잭션은 데이터베이스를 일관된 상태로 유지
                  - 트랜잭션이 시작하기 전과 끝난 후에도 데이터베이스는 일관된 규칙과 제약 조건을 따라야 함
             - I(격리성, Isolation)
                 - 동시에 여러 트랜잭션이 실행될 때 각 트랜잭션은 서로 간섭하지 않고 격리되어야 함
                 - 한 트랜잭션의 작업이 다른 트랜잭션에게 영향을 미치지 않도록 보장
                 - 두 개의 트랜잭션이 동시에 계좌에서 돈을 인출하려 할 때, 한 트랜잭션이 완료되기 전
                           - 다른 트랜잭션은 해당 계좌에 접근하지 못해야 함
             - D(지속성, Durability)
                 - 트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 저장되어야 함