[DB] Database System overview & DBMS

Hα ყҽσɳɠ·2020년 4월 26일
0

DataBase

목록 보기
4/8
post-thumbnail

DBMS의 특징과 용어정리 위주의 정리입니다.
내용은 < A First Course in Database Systems > 책의 내용입니다.


✔️ The database management system(DBMS) is expected to allow users to create new databases and specify their schemas using a data-definition language.

DBMS는 사용자가 DDL(데이터 정의 언어)을 사용하여 데이터베이스를 작성하고, 스키마를 지정할 수 있도록 한다.

✔️ DBMS is expected to give users the ability to query the data and modify the data using a data manipulation language. A query is database jargon for a question about the data.

DBMS는 사용자에게 DML(데이터 조작 언어)를 사용하여 데이터를 쿼리하고 수정할 수 있는 기능을 제공해야 한다. 쿼리는 데이터에 대한 질문에 사용하는 데이터베이스 전문 용어이다.

✔️ DBMS is expected to support very large amounts of data over a long period of time, allowing efficient data access.

DBMS는 장기간에 걸쳐 매우 많은 양의 데이터를 지원하여, 효율적인 데이터 엑세스를 가능하게 한다.

✔️ DBMS is expected to enable the recovery of the database in the face of failure, errors, or maluse.

DBMS는 장애, 오류 또는 오용시 데이터베이스를 복구할 수 있어야 한다.

지속성(Durability)은 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미한다. 시스템 문제, DB 일관성 체크 등을 하더라도 유지되어야 함을 의미한다. 전형적으로 모든 트랜잭션은 로그로 남고 시스템 장애 발생 전 상태로 되돌릴 수 있다. 트랜잭션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주될 수 있다.

✔️ DBMS is expected to control access to data from many users at once with isolation and atomicity.

DBMS는 고립성과 원자성을 통해 많은 사용자의 데이터에 대한 엑세스를 한 번에 컨트롤할 수 있다.

고립성(Isolation)은 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다. 이것은 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음을 의미한다. 은행 관리자는 이체 작업을 하는 도중에 쿼리를 실행하더라도 특정 계좌간 이체하는 양 쪽을 볼 수 없다. 공식적으로 고립성은 트랜잭션 실행내역은 연속적이어야 함을 의미한다. 성능관련 이유로 인해 이 특성은 가장 유연성 있는 제약 조건이다.
원자성(Atomicity)은 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력이다. 예를 들어, 자금 이체는 성공할 수도 실패할 수도 있지만 보내는 쪽에서 돈을 빼 오는 작업만 성공하고 받는 쪽에 돈을 넣는 작업을 실패해서는 안된다. 원자성은 이와 같이 중간 단계까지 실행되고 실패하는 일이 없도록 하는 것이다.
-출처: 위키백과

✔️ Ted Codd proposed that database system should present the user with a view of data organized as tables called relations.

Ted codd는 데이터베이스 시스템이 relation이라고 불리는 테이블로 구성된 데이터 보기 방식을 유저에게 제공해야 한다고 제안하였다.

✔️ transactions are units of interation in a database management system.
Queries and other DML actions are grouped inot transactions, which are units that must be executed atomically and in isolation from one another.

Transaction은 DBMS에서 상호작용단위이다. 이것은 쿼리와 기타 DML작업은 트랜잭션으로 그룹화되며, 원자 단위로 서로 독립적으로 실행되어야 하는 단위이다.

✔️ Properly implemented transactions are commonly said to meet the "ACID test", where "A" stands for atomicity; "I" stands for isolation; "C" stands for consistency; and "D" stands for durability.

적절하게 구현된 트랜잭션은 일반적은 "ACID 테스트"를 충족한다.

✔️ Query processors commonly consist of two main components:
Query compiler: parses and optimizes a query into an internal form called query plan, sequence of actions the DBMS will perform to answer the queries.
Execution engine: excutes each of the steps in the chosen query plan.

쿼리 프로세스는 일반적으로 2가지 메인 컴포넌트로 구성된다.
쿼리 컴파일러: DBMS가 쿼리에 응답하기 위해 수행할 일련의 동작인 쿼리 계획이라는 내부 형식으로, 쿼리를 분석하고 최적화하낟.
실행 엔진: 선택한 쿼리 플랜의 각 단계를 실행시킨다.

✔️ A storage manager controls the placement of data on secondary storage and its movement between secondary storage and main memory. It keeps track of the location of files on the secondary storage. It also obtains the block or blocks containing a file.

storage manager는 secondary storage의 데이터 배치 및 secondary storage와 main memory 간의 데이터 이동을 제어한다. 스토리지 매니저는 secondary storage에서 파일 위치를 추적하며, 파일을 포함하는 블록을 얻는다.

✔️ A buffer manager is responsible for partitioning the available main memory into buffers, which are page-sized regions into which data files from secondary storage can be transferred.

buffer manager는 사용가능한 main memory를 버퍼로 분할하는 역할을 담당하며, 버퍼는 secondary storage의 데이터 파일을 전송할 수 있는 페이지 크기 영역이다.

✔️ Metadata means the database schema that describes the structure of, and constraints on, the database.

Meta data는 데이터베이스의 구조 및 제약 조건을 설명하는 데이터베이스 스키마를 의미한다.


영어만 적어놓으면 내가 보기 어려우니까 ㅎㅎㅎㅎㅎㅎ 👩🏻‍💻🍒

profile
𝑯𝒐𝒏𝒆𝒔𝒕𝒚 𝑰𝒏𝒕𝒆𝒈𝒓𝒊𝒕𝒚 𝑬𝒙𝒄𝒆𝒍𝒍𝒆𝒏𝒄𝒆

0개의 댓글