1. database?
data – 자료, base – 모여있는 곳 >> data+base = 자료가 모여있는 곳
데이터베이스는 쉽게 말해 정보의 모임인데 오랜 시간(일반적으로 몇 년 이상) 동안 지속되는 것이다. DBMS에 의해 관리되는 정보의 모임이다. DBMS는 가장 복잡한 소프트웨어 중 하나로 OS랑 비교되지만, DBMS가 더 복잡하다. 또한, 강력한 도구로 하드웨어와 소프트웨어가 있었지만, 최근에는 소프트웨어만 있으며 많은 양의 데이터를 생성하고 관리하고 저장을 하는 도구이다. DBMS가 할 수 있는 것은 4개가 있다. 첫 번째가 새로운 데이터베이스를 만들고 그들의 구조를 특정할 수 있게 한다. SQL 안에 있는 DDL이란 것을 활용한다. 구조라는 단어를 프로그래밍 분야에서는 structure라는 용어를 쓰지만, DB에서는 주로 schema라 부른다. 두 번째는 저장된 데이터로부터 원하는 정보를 뽑아낼 수 있다. query라고 부르며 SQL DML을 활용한다. 세 번째로 많은 양 저장공간 제공이다. 마지막으로 접근을 제어할 수 있다. 예를 들어 같은 데이터를 다수의 사람이 수정하고자 할 때 충돌이 일어나 값이 이상해질 수 있기 때문에 이런 것을 관리하게 된다.
2. 트랜잭션의 ACID 속성
먼저 트랜잭션이란 명령들의 모임으로 아예 실행이 안 되었거나 전부 다 실행이 성공한 상태 둘 중 하나만 보장을 한다. 일부 실행, 일부 실패를 지원하지 않는다.
ACID는 Atomicity, Consistency, Isolation, Durability를 줄여놓은 것이다. 첫 번째로 원자성(Atomicity)을 갖는다. 가장 작은 단위, 즉 분리할 수 없는 성질을 말한다. 문장 여러 개로 구성되어 있지만 하나의 트랜잭션으로 선언을 하면 전부 실행을 하거나 전부 실패하는 것을 말한다. 두 번째로 일관성(Consistency)을 갖는다. 예를 들어 A 계좌에서 B 계좌로 돈을 송금한다. 그러면 트랜잭션이 일어나기 전의 (A 계좌의 돈+ B 계좌의 돈)과 트랜잭션이 일어난 후의 (A 계좌의 돈 + B 계좌의 돈)이 같아야 한다는 것이다. 세 번째로 독립성(Isolation)을 갖는다. Locking technique을 이용해서 동시에 같은 데이터를 못 건드리게 하는 것이다. 마지막으로 내구성?(Durability)을 갖는다. 데이터가 HDD에 저장되어 있고 보드가 타버린 경우는 보드만 교체해주면 가능하지만, HDD가 복구 불가능해지면 데이터에 문제가 생긴다. 그래서 백업을 하거나 Raid Disk를 활용한다. 4개의 디스크를 묶어 하나의 디스크처럼 쓰는 것이다. 하나가 죽더라도 나머지 3개가 복구하는 방식이다. 또는 광케이블을 이용해 미러링하는 것이다.
'학부 전공 > DB' 카테고리의 다른 글
A First Course in Database Systems 연습문제 2장 - 2 (0) | 2021.06.23 |
---|---|
A First Course in Database Systems 연습문제 2장 (0) | 2021.06.23 |
데이터베이스 요약 (0) | 2021.06.23 |
SQL의 시스템 관점(1 of 2) - 2 (0) | 2021.06.19 |
SQL의 시스템 관점(1 of 2) -1 (0) | 2021.06.19 |