왜 DB 형상은 항상 원통형 모양인지 아시나요?
과거에 사용하던 드럼 메모리 모양을 본따서 이런 모양일것이라고 추측된다네요
출처 https://stackoverflow.com/questions/2822650/why-is-a-database-always-represented-with-a-cylinder
포스팅시작합니다
📌Data, Information, Knowledge의 차이
Data : 누구에게나 똑같이 보이는 객관적 사실
Information : 주관적인 측면에서 관심있는 데이터로, 의미를 가지는 것이다.
Knowledge : Information을 요약, 정리, 가공한 것으로, 지워지더라도 Information으로부터 다시 만들 수가 있다.
🛢️DB
Database DB
데이터베이스란?
- 방대한 양의
- 서로 연관된
- 현재 운용되는(Application domain의 현상태를 그대로 반영하는)
데이터의 저장소이자 실세계의 스냅샷이다.
📌파일 시스템의 결함
DB를 사용하기 이전에는 파일 시스템으로 데이터를 저장하고 관리했었다. DB를 사용하는 이유는 파일 시스템이 다음과 같은 결함들을 가지고 있기 때문이다.
- Data Dependency (데이터 의존성. 종속성)
데이터 위치, 구조, 접근 전략이 바뀌면 프로그램을 뜯어 고쳐야 한다.
데이터 조직과 접근 기술에 관한 지식이 응용로직과 코드 안에 있기 때문이다.(하드코딩)
이는 안정성, 유지보수에 큰 문제를 일으킨다. 범용성이 사라지기 때문에 응용로직에 데이터 위치, 구조, 접근 전략과 관련된 정보를 집어넣어서는 안된다. - Data Inconsistency (데이터 불일치)
같은 데이터를 여러개의 파일로 저장하는 경우, 중복이 발생하고 데이터의 불일치가 야기된다.
Solution => Data Centralization과 Integration을 위해 DB와 DBMS 사용
📌DB의 추상화
사용자들은 불필요한 디테일을 알 필요가 없다.
RDB(관계형 데이터베이스)에서 Data Abstraction의 3 Level
추상화 L2. External -> Logical (인간 중심)
추상화 L1. Conceptual -> Logical (인간 중심)
추상화 X. Internal -> Physical (기계 중심)
ex) 어떤 데이터들을 저장할 때, 물리 메모리
내에서는 불연속하게 저장되더라도, 가상 메모리
내에서는 연속하게 저장될 수 있다.
📌DBMS
DataBase Management System
데이터베이스 관리 시스템
데이터베이스의 생성, 저장, 관리를 위해 사용된다.
DB 관리에 편리하고 효율적인 환경을 제공한다.
DBMS의 목적
- Conveniet 편의성 (사용자 관점)
-> 데이터 추상화 (Abstraction)
: 사용자가 알 필요없는 Low Level의 정보(불필요한 디테일)는 가리고, 사용자가 필요로하는 정보만 노출한다.
2. Efficient 효율성 (기계 관점)
-> 물리적 관점의 효율성
: 데이터 저장과 검색 매커니즘을 제공. 메모리 낭비 없이, 검색을 할 때 최대한 빠르게 할 수 있게 해준다.
MySQL, 오라클이 대표적인 DBMS이다.
DBMS의 장점
- Data Independancy (데이터 독립성)
- No Redundancy (중복 없음)
- Consistency (일관성)
- Integrity (무결성)
무결성 유지 전략
A. Assertion : Illegal한 Update 제한
B. Triggering : Update의 전파. Update가 불일치를 야기하더라도 legal한 Update라면 자동으로 일치시켜줌. ECA(Event-Condition-Action) Rule을 따른다. DBMS가 자동으로 해주므로, 사용자는 데이터 불일치에 대해서 관여하지 않아도 된다. - Standardization (표준화)
데이터 표현에서 정형화된 표준(테이블 형식)을 제공한다.
데이터 형식 전환을 제거하여 시간을 단축시킨다. - Security (보안)
사용자마다 다른 Authorization을 부여할 수 있다. - Recovery (복구)
- Transaction (작업 단위)
어떤 트랜잭션이 시작되면, 이 트랜잭션이 끝날 때까지 다른 트랜잭션은 시작할 수 없다. 트랜잭션은 성공 시 Commit, 실패 시 Rollback 후 종료된다.
- Transaction (작업 단위)
- Concurrency (동시성)
동시 접근 문제를 해결한다. 트랜잭션을 통해 여러 사용자가 같은 데이터에 동시에 접근하여 UPDATE 또는 DELETE 하는 경우 발생하는 충돌을 방지한다. 일관성과 무결성을 유지한다. - Flexibility in Accessing DB
Index <=> Data 상호 간 접근이 가능하다.
'DB' 카테고리의 다른 글
DB 개념 6편 - ER 모델 (0) | 2024.08.25 |
---|---|
DB 개념 5편 - View와 MView의 차이 (0) | 2024.08.25 |
DB 개념 4편 - SQL과 DB 사용자의 분류 (0) | 2024.08.22 |
DB 개념 3편 - RDB 무결성과 키 (0) | 2024.08.22 |
DB 개념 2편 - 데이터 모델 (0) | 2024.08.20 |