1. Data란?
정보를 전달하는 value들의 집합
Data model
Data의 관계, 접근과 그 흐름에 필요한 처리 과정에 관한 추상화된 모형이다. High-level data description의 집합으로써 목적에 따라 다른 data model을 가진다.
[Data model 예시]
이후 포스팅에서는 가장 대중적으로 많이 쓰이는 Relational model에 대해 집중적으로 다룰 예정입니다.
2. Database(DB)
전자적으로 저장되고 액세스되는 데이터의 조직화된 모음
Database Management System(DBMS)은 데이터베이스를 유지하고 활용하기 위해 디자인된 소프트웨어를 일컫는다.
그러나 DB는 종종 DBMS를 지칭하기도 한다.
DBMS를 사용하는 이유
- 데이터의 논리적 물리적 독립성이 보장된다.
- 데이터를 통합 관리하기 때문에 중복을 피할 수 있다.
- 여러 유저가 접근 및 제어하여 병행성을 보장한다.
- 데이터의 일관성 및 무결성을 유지할 수 있다.
- 데이터 보안을 유지할 수 있다.
- 데이터 제어를 통해 표준화 할 수 있다.
- 데이터를 통합하여 관리할 수 있다.
- 데이터의 실시간 처리가 가능하다.
- 에러로부터 데이터베이스 회복이 가능하다.
- Application 개발이 용이하다.
3. Transanction and Query
Transaction이란?
Transaction은 DB에 대해서 DBMS로 이루어지는 일종의 작업 단위를 상징한다.
즉 DB에 어떠한 변화를 주는 것을 의미한다.
Transaction에는 4가지 특성이 있는데 이를 ACID라고 한다.
- 원자성 (Atomicity)
- 작업이 부분적으로 실행되거나 중단하지 않는다.
- 일관성 (Consistency)
- Transaction 성공 시 일관적일 DB상태를 유지한다.
- e.g. 계좌 입출금 후에도 자료 형은 Integer로 유지
- 격리성 (Isolation)
- Transaction은 서로 간섭할 수 없다.
- Transaciton 충돌을 방지하기 위함으로 하나의 Transaction이 다른 Transaction에 간섭할 수 없다.
- 지속성 (Durability)
- Transaction 성공 시, 즉 commit을 하면 현재 상태를 영원히 보존한다.
Query란?
이에 반해 Query는 DB에 대한 정보 검색을 위한 사용자의 요청입니다.
아래의 구체적인 예시를 통해 Transaciton과 Query에 대한 개념을 더욱 구체화해봅시다.
[Transaction and Query]
다음 포스팅에서는 앞서 말한 Relational Model에 대해 더욱 다룰 예정입니다.
[Caution] 상기 내용은 서울대학교 데이터사이언스 강의에 근거하며,
무단 복제 및 스크랩을 금지합니다.