CS 지식/데이터베이스
-
🔎진행 및 완료 사항1. 문제 정의: RDBMS를 활용한 데이터베이스 설계 및 최적화의 필요성 및 목적 정의애플리케이션은 날이 갈수록 보다 더 많은 데이터를 수용해야 하고 그러한 수많은 데이터를 효율적으로 저장하고 검색할 수 있는 강력한 데이터베이스 시스템에 의존할 수밖에 없다. 그러나 이러한 데이터베이스 시스템 중에서도 관계형 데이터베이스 관리 시스템(RDBMS)은 데이터의 무결성, 일관성, 안정성 등을 보장하며, 다양한 비즈니스 요구사항을 충족시킬 수 있는 강력한 기능을 제공하여 많이 선택되는 데이터베이스 방식 중 하나이다.하지만, 데이터베이스의 성능이 떨어지면 전체 시스템의 성능에도 큰 영향을 미치기 때문에 데이터베이스의 설계 및 최적화는 매우 중요한 작업이다.RDBMS를 활용한 데이터베이스 설계..
[데이터베이스] RDBMS를 활용한 데이터베이스 설계 및 최적화🔎진행 및 완료 사항1. 문제 정의: RDBMS를 활용한 데이터베이스 설계 및 최적화의 필요성 및 목적 정의애플리케이션은 날이 갈수록 보다 더 많은 데이터를 수용해야 하고 그러한 수많은 데이터를 효율적으로 저장하고 검색할 수 있는 강력한 데이터베이스 시스템에 의존할 수밖에 없다. 그러나 이러한 데이터베이스 시스템 중에서도 관계형 데이터베이스 관리 시스템(RDBMS)은 데이터의 무결성, 일관성, 안정성 등을 보장하며, 다양한 비즈니스 요구사항을 충족시킬 수 있는 강력한 기능을 제공하여 많이 선택되는 데이터베이스 방식 중 하나이다.하지만, 데이터베이스의 성능이 떨어지면 전체 시스템의 성능에도 큰 영향을 미치기 때문에 데이터베이스의 설계 및 최적화는 매우 중요한 작업이다.RDBMS를 활용한 데이터베이스 설계..
2024.09.03 -
1. 분산데이터베이스(Distributed Database) - 1 분산 데이터베이스 데이터가 다른 physical location에 저장되는 데이터베이스 분산 데이터베이스의 장점 Fault tolerance High performance Low cost 해결해야 할 이슈들 data 분산 분산 데이터를 활용한 병렬처리 Distributed Transaction / Distributed Locking Semi join Distributed Database 분산 데이터베이스의 종류 Homogeneous distributed database 각 distributed node에 같은 종류의 DBMS 가 실행 Heterogeneous distributed database 각 distributed node에 다른 ..
[데이터베이스-simple 버전] 10. 데이터베이스 최신기술1. 분산데이터베이스(Distributed Database) - 1 분산 데이터베이스 데이터가 다른 physical location에 저장되는 데이터베이스 분산 데이터베이스의 장점 Fault tolerance High performance Low cost 해결해야 할 이슈들 data 분산 분산 데이터를 활용한 병렬처리 Distributed Transaction / Distributed Locking Semi join Distributed Database 분산 데이터베이스의 종류 Homogeneous distributed database 각 distributed node에 같은 종류의 DBMS 가 실행 Heterogeneous distributed database 각 distributed node에 다른 ..
2023.11.07 -
1. DBMS의 쿼리프로세싱 Query processing Query processing in DBMS Parser SQL 문장을 분석해서 syntax 체크 및 catalog을 이용해서 sematic check등을 하여 annotated AST 생성 Optimizer AST를 분석하여 execution plan을 생성 AST에 따라 가능한 execution plan리스트를 만들고 그 중에서 최저 비용을 가지는 execution plan 을 선택 Rule-Based Optimizer 미리 정해 놓은 rule에 따라 logical access 경로를 비교하며 최적의 plan을 생성 Cost-based Optimizer Plan의 각 실행 operator의 cost를 미리 정해놓고 예상 비용을 계산하여 최적의..
[데이터베이스-simple버전] 9. 쿼리 프로세싱과 최적화(Query processing & Optimization)1. DBMS의 쿼리프로세싱 Query processing Query processing in DBMS Parser SQL 문장을 분석해서 syntax 체크 및 catalog을 이용해서 sematic check등을 하여 annotated AST 생성 Optimizer AST를 분석하여 execution plan을 생성 AST에 따라 가능한 execution plan리스트를 만들고 그 중에서 최저 비용을 가지는 execution plan 을 선택 Rule-Based Optimizer 미리 정해 놓은 rule에 따라 logical access 경로를 비교하며 최적의 plan을 생성 Cost-based Optimizer Plan의 각 실행 operator의 cost를 미리 정해놓고 예상 비용을 계산하여 최적의..
2023.11.07 -
1. 스토리지와 파일구조 DBMS Storage DBMS Storage DBMS는 데이터를 “hard” disk에 저장 Disk access가 DBMS의 성능에 중요한 문제 READ : disk -> main memory 데이터 전송 WRITE : memory -> disk 데이터 전송 higher cost than memory access Main memory에 모두 저장 못 하는 이유 비용문제 메모리에 저장된 데이터는 volatile 효과적인 memory – disk 데이터 전송을 위한 Buffer management 가 필요 DBMS Storage Disk space management DBMS에서 가장 낮은 layer에서 disk의 space를 관리 상위 component에서 다음과 같은 requ..
[데이터베이스-simple버전] 8. 스토리지와 인덱스1. 스토리지와 파일구조 DBMS Storage DBMS Storage DBMS는 데이터를 “hard” disk에 저장 Disk access가 DBMS의 성능에 중요한 문제 READ : disk -> main memory 데이터 전송 WRITE : memory -> disk 데이터 전송 higher cost than memory access Main memory에 모두 저장 못 하는 이유 비용문제 메모리에 저장된 데이터는 volatile 효과적인 memory – disk 데이터 전송을 위한 Buffer management 가 필요 DBMS Storage Disk space management DBMS에서 가장 낮은 layer에서 disk의 space를 관리 상위 component에서 다음과 같은 requ..
2023.11.07 -
1. 트랜잭션 데이터 무결성 데이터 무결성 데이터 무결성을 유지하기 위해 해결해야 할 문제들 Atomic operation Concurrency control (병행 제어) 장애 후 Recovery (회복) Consistent database state 데이터 무결성이 유지되어 데이터베이스안의 데이터간의 모순점이 없는 상태 일시적으로 inconsistency가 발생할 수 있으나 결국은 일관된 값으로 유지되어야 함 예) 은행 계좌 이제 트랜잭션 데이터 무결성을 지킴으로써 데이터베이스를 일관된 상태 (consistent state)을 유지하기 위한 핵심 개념 Transaction Transaction 트랜잭션(Transaction)은 다음의 data processing의 집합을 포함한 atomic opera..
[데이터베이스-simple버전] 7. 트랜잭션 시스템1. 트랜잭션 데이터 무결성 데이터 무결성 데이터 무결성을 유지하기 위해 해결해야 할 문제들 Atomic operation Concurrency control (병행 제어) 장애 후 Recovery (회복) Consistent database state 데이터 무결성이 유지되어 데이터베이스안의 데이터간의 모순점이 없는 상태 일시적으로 inconsistency가 발생할 수 있으나 결국은 일관된 값으로 유지되어야 함 예) 은행 계좌 이제 트랜잭션 데이터 무결성을 지킴으로써 데이터베이스를 일관된 상태 (consistent state)을 유지하기 위한 핵심 개념 Transaction Transaction 트랜잭션(Transaction)은 다음의 data processing의 집합을 포함한 atomic opera..
2023.11.07 -
1. 정규화의 개념 정규화의 개념 정규화의 개념 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다 조금 더 이론적으로 접근해 보면 함수적 종속성을 이용해서 연관성 있는 속성들을 분류하고, 각 릴레이션들에서 이상현상이 생기지 않도록 하는 과정을 말한다. 정규화의 목적 불필요한 데이터를 제거, 데이터 중복을 최소화 데이터베이스 구조 확장 시 재 디자인을 최소화 무결성 제약조건의 시행을 간단하게 하기 위해 이상 (Anomaly) 현상 을 방지하기 위해 테이블 구성을 논리적이고 직관적으로 만들기 위해 이상 (Anomaly) 현상 삽입 이상 (insertion anomaly) : 데이터를 저장할 때 원하지 않는 정보가 함께 삽입되는 경우 갱신 이상 (update ano..
[데이터베이스-simple버전] 6. 데이터베이스 설계 - 정규화1. 정규화의 개념 정규화의 개념 정규화의 개념 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다 조금 더 이론적으로 접근해 보면 함수적 종속성을 이용해서 연관성 있는 속성들을 분류하고, 각 릴레이션들에서 이상현상이 생기지 않도록 하는 과정을 말한다. 정규화의 목적 불필요한 데이터를 제거, 데이터 중복을 최소화 데이터베이스 구조 확장 시 재 디자인을 최소화 무결성 제약조건의 시행을 간단하게 하기 위해 이상 (Anomaly) 현상 을 방지하기 위해 테이블 구성을 논리적이고 직관적으로 만들기 위해 이상 (Anomaly) 현상 삽입 이상 (insertion anomaly) : 데이터를 저장할 때 원하지 않는 정보가 함께 삽입되는 경우 갱신 이상 (update ano..
2023.11.07 -
1. 데이터베이스 설계 데이터베이스 설계 데이터베이스 설계란? 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정 이미 구축된 데이터베이스는 구조를 변경하기 어려우므로 체계적인 설계 과정을 통해 데이터베이스가 올바르게 구축되어야 함 대표적인 설계 방법 E-R 모델과 Relation 변환 규칙을 이용한 설계 정규화를 이용한 설계 데이터베이스 설계 단계 요구 사항 분석 실제 세계에서 어떤 요구사항의 시스템을 구출할 것인지 대한 데이터베이스의 용도 파악 요구 사항에 대해 어떤 데이터들이 필요한지, 어떤 기능들이 필요한지 분석 결과물 : 요구 사항 명세서 개념적 설계 (Conceptual Model) 요구 사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현 요구 사항 명세서를 E-..
[데이터베이스-simple버전] 5. 데이터베이스 설계-ER다이어그램1. 데이터베이스 설계 데이터베이스 설계 데이터베이스 설계란? 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정 이미 구축된 데이터베이스는 구조를 변경하기 어려우므로 체계적인 설계 과정을 통해 데이터베이스가 올바르게 구축되어야 함 대표적인 설계 방법 E-R 모델과 Relation 변환 규칙을 이용한 설계 정규화를 이용한 설계 데이터베이스 설계 단계 요구 사항 분석 실제 세계에서 어떤 요구사항의 시스템을 구출할 것인지 대한 데이터베이스의 용도 파악 요구 사항에 대해 어떤 데이터들이 필요한지, 어떤 기능들이 필요한지 분석 결과물 : 요구 사항 명세서 개념적 설계 (Conceptual Model) 요구 사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현 요구 사항 명세서를 E-..
2023.11.07 -
1. View에 대한 개념 및 활용 Views View의 목적은? 어떤 경우에 모든 사용자가 전체 논리적 모델 (데이터베이스에 저장된 모든 실제 테이블)을 보는 건 문제가 될 수 있음 필요한 데이터만 특정 사용자들에게 유출할 필요가 있을 때 사용 employ 테이블에서 아이디, 이름, 부서 조회 가능하게 하지만 salary 정보를 숨기고 싶을 때 질의문 작성을 쉽게 만들어 준다. Group by나 aggregation function 등을 미리 정의 데이터 종속성 제거 응용프로그램은 뷰를 통해 접근함으로써 테이블 스키마 변화에 신경 쓸 필요가 없다. View 정의 CREATE VIEW [() as 다른 view을 이용한 query로 view 생성 가능 Column list가 생략된 경우 query문의 결..
[데이터베이스-simple버전] 4. SQL 심화1. View에 대한 개념 및 활용 Views View의 목적은? 어떤 경우에 모든 사용자가 전체 논리적 모델 (데이터베이스에 저장된 모든 실제 테이블)을 보는 건 문제가 될 수 있음 필요한 데이터만 특정 사용자들에게 유출할 필요가 있을 때 사용 employ 테이블에서 아이디, 이름, 부서 조회 가능하게 하지만 salary 정보를 숨기고 싶을 때 질의문 작성을 쉽게 만들어 준다. Group by나 aggregation function 등을 미리 정의 데이터 종속성 제거 응용프로그램은 뷰를 통해 접근함으로써 테이블 스키마 변화에 신경 쓸 필요가 없다. View 정의 CREATE VIEW [() as 다른 view을 이용한 query로 view 생성 가능 Column list가 생략된 경우 query문의 결..
2023.11.07