데이터를 다루는 방법은 파일시스템와 DBMS(DataBase Management System)가 있다.
| File System | DBMS | |
|---|
| 단점 | 데이터 과잉(Data Redundancy) | 데이터과잉 최소화(Minimization of Redundancy) | 장점 |
| 데이터 독립성 낮음(Data Dependency) | 데이터과잉 독립성 향상(Enhancement of Data Independence) | |
| 장점 | 비용이 적다 | 비용이 크다 | 단점 |
파일시스템
파일시스템은 데이터가 서로 다른 파일에서 따로따로 관리된다.
파일 시스템의 한계
- DataRedundancy & Inconsistency : 정보 불완전 업데이트시 비일관성 위험증가, 같은 데이터 중복 저장
- Lack of Data Independence: 파일 구조가 변하면 무조건 모든 어플리케이션 프로그램의 변화해야한다.이는 높은 유지비용이 필요하게 만들고, 유연성을 감소시킨다.
- Limited Data Sharing & Security: 어플리케이션 프로그램이 각각의 데이터를 관리해서 데이터 공유가 어렵고, 접근제어,인증,암호화등이 어렵다.
- Difficult Data Retrieval & Scalability: 여러 파일에 사이에 있는 데이터를 쿼리하려면 사용자 지정파일처리 논리가 필요하므로 검색 속도가 느리고 비효율적이다. 또한 데이터 크기가 커지면 파일 시스템은 성능의 어려움을 겪게 되어서 확장이 힘들어진다.
DBMS(Database Management System)
중심화된 데이터베이스 안에서 조직이 원하는 데이터를 통합하고 관리한다.
주요특징
1. Data Integration : 중복데이터 제거
2. Data Independence : 데이터 구조변화가 애플리케이션 프로그램의 변화를 강요하지 않는다.
3. Data Consistency & Intetgrity : 모든 애플리케이션에 동등한 업데이트를 제공한다.
4. Efficient Data Access :효율적으로 데이터를 검색하고 관리하기에 최적화된 queries를 제공한다.
5. Seurity & Multi-User Access
DBMS의 데이터 관리 비법
DBMS는 마치 다리처럼 데이터를 관리한다. 즉, 데이터베이스는 통합된 정보를 저장하고, 어플리케이션 프로그램이 DBMS를 통해 데이터를 소통하게 함으로써 데이터 과잉 제거,데이터에 대한 통합적인 관점을 제공한다.
주요함수
- 정의함수(DDL-Data Definition Language)
데이터 구조를 정의하고 변경한다.
CREATE, ALTER, DROP
- 조작함수(DML-Data Manipulation Language)
데이터 삽입,삭제,업데이트,탐색과같은 작업을 지원한다.
INSERT, DELETE, UPDATE, SELECT
- 제어 함수(DCL-Data Contol Language & TCL-Transaction control)보안!!!!
데이터 정확성,보안,무결성을 높이고 접근제어,인증 및 권한부여를 한다.또한 현재 실행중인 제어를 다중사용자 환경에서도 관리할 수 있고, 백업과 복구 메커니즘을 제공한다
DCL(데이터 보안) : GRANT,REVOKE
TCL(데이터 일관성과 무결성) : COMMIT, ROLLBACK, SAVEPOINT
DBMS의 장점
- Eliminates Data Redundancy
: 데이터가 중앙집중화 되어있어서, 데이터중복을 줄이고 일관성을 유지할 수 있다. (즉, 데이터가 하나의 버전만 존재한다는 말)
- Ensures Data Independence
: DBMS가 애플리케이션 대신 모든 데이터를의 접근과 작업을 관리한다. 그리고 애플리케이션과 DBMS가 분리되어 있기때문에 시스템 변형을 더 쉽게 만들수 있게 한다.
- Supports Concurrent Data Sharing
: 여러 어플리케이션이 같은 데이터에 동시에 접속할 수 있다.
- Enhances Data Security
:중앙화된 접근조절은 민감한 정보로부터 권한이 없는 사용자를 막는다.
- Maintains Data Integrity and Accuracy
:삽입,업데이트,삭제와 같은 작업을 통해 데이터 일관성이 보장된다. 또한 부정확하거나 완벽하지 않은 데이터가 저장되는 것을 막는다.
- Enables Standardization
: 데이터베이스 접근과 관리에 표준화된 접근을 제공한다.
- Provides Data Recovery in Case of Failure
: 이전 상태에 대한 백업,복구 메커니즘을 지원한다.
- Reduces Application Development Costs
: 애플리케이션 프로그램 개발비용을 줄임으로서, 데이터 관리의 양을 최소화한다. 기본 파일 시스템과 비교했을 때 유지,작업비용을 감소시킨다.
DBMS의 단점
- High Cost
:중요한 초기 투자비용이 요구됨.동시 사용자가 증가할 때, 비용이 증가하게 됨.
- Complex Backup and Recovery Mechanisms
:백업과 복구에 특별한 지식과 적절한 환경설정이 필요함.
- Vulnerabilities(공격당하기 쉬움) Due to Centralized Management
:DBMS에 문제가 생기면 전체 시스템작업에 영향이 간다.
DBMS 최종정리
-
Trade-offs(거래,교환) of DBMS
: DBMS가 효율과 보안성은 높이지만, 계획과 자원할당은 신중해야 한다.
-
Scalability Strategies
: 분산 데이터베이스나 클라우드를 사용하여 중앙집중화된 위험을 낮출수있다.
-
Alternative Approaches
: 하이브리드시스템은 성능과 유연성 사이의 균형을 맞출수 있다.