본문 바로가기
정보처리기사 실기

11. 응용 SW 기초 기술 활용 (2)

by Killing_me__ 2021. 7. 2.
반응형

Chapter 2. 데이터베이스 종류
1. 파일 시스템
파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식
- ISAM : Indexed Sequential Access Method, 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
- VSAM : Virtual Storage Access Method, 대형 운영체제에서 사용되는 파일 관리 시스템

2. 관계형 데이터베이스 관리시스템(RDBMS; Relational Database Management System)
- 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리 시스템
- 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계 정리
- 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이
- Oracle : 오라클사에서 개발한 데이터베이스 관리시스템으로 유료, 리눅스/유닉스/윈도즈 모두 지원, 대형시스템에서 많이 사용
- SQL Server : 마이크로소프트사에서 개발한 관계형 데이터베이스 시스템, 윈도즈 서버에서만 구동, C# 등과 호환
- MySQL : 오라클의 관계형 데이터베이스 시스템, 리눅스/유닉스/윈도에서 모두 사용 가능하고 오픈소스 기반으로 개발
- Maria DB : MySQL 출신 개발자가 만든 데이터베이스로 MySQL과 완벽 호환

3. DBMS(Database Management System)
- 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어
<DBMS 유형>
1) 키-값(key-value) DBMS
- 키 기반 Get / Put / Delete 제공, 메모리 기반에서 성능 우선 시스템 및 빅데이터 처리 가능 DBMS
- Unique한 키에 하나의 값을 가지고 있는 형태 (Redis, DynamoDB)
2) 컬럼 기반 데이터 저장
- Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS
- 테이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현 (HBase, Cassandra)
3) 문서저장 DBMS
- 값의 데이터 타입이 문서라는 타입을 사용하는 DBMS
- 문서 타입은 XML, JSON과 같이 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 가능 (MongoDB, Couchbase)
4) 그래프 DBMS
- 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS
- 노드와 엣지로 특징되는 요소 특화
- 노드 간 관계를 구조화하여 저장 (Neo4j, AllegroGraph)

4. DBMS 특징 (무일회보효)
- 데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
- 데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정
- 데이터 회복성 : 장애가 발생하였을 시 특정 상태로 복구되어야 하는 성질
- 데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
- 데이터 효율성 : 응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족시켜야 하는 성질

5. 트랜잭션(Transaction)
인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
<트랜잭션의 특성-(원일격영)>
- 원자성: 분해가 불가능한 작업의 최소 단위, 연산 전체가 성공 또는 실패, 하나라도 실패할 경우 전체가 취소되어야 함, Commit, Rollback, 회복성 보장
- 일관성 : 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야 함, 무결성 제약조건, 동시성 제어
- 격리성 : 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가, Read Uncommit, Read Commit, Repeatable Read, Serializable
- 영속성 : 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장, 회복기법

6. 트랜잭션의 상태 설명
- 활동상태 : 초기 상태, 트랜잭션이 실행 중일 때 가지는 상태
- 부분 완료 상태 : 마지막 명령문이 실행된 후에 가지는 상태
- 완료상태 : 트랜잭션이 성공적으로 완료된 후 가지는 상태
- 실패상태 : 정상적인 실행이 더 이상 진행될 수 없을 때 가지는 상태
- 철회상태 : 트랜잭션이 취소되고 데이터베이스가 트랜잭션 시작 전 상태로 환원된 상태

7. TCL 명령어
- COMMIT : 트랜잭션을 메모리에 영구적으로 저장
- ROLLBACK : 트랜잭션 내역을 저장 무효화시킴
- CHECKPOINT : ROLLBACK을 위한 시점을 지정

8. 데이터 생성, 삽입, 변경, 삭제
- CREATE OR REPLACE ~ FROM ~ VALUE
- INSERT INTO ~ VALUES
- UPDATE ~ SET ~ WHERE
- DELETE ~ FROM ~ WHERE

9. NoSQL
데이터 저장에 고정된 테이블 스키마가 필요하지 않고 JOIN 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS
<NoSQL의 특성)>
- Basically Available : 언제든지 데이터는 접근할 수 있어야 하는 속성, 분산 시스템이기 때문에 항상 가용성 중시
- Soft-State : 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성, 특정 시점에서는 데이터의 일관성이 보장되지 않음
- Eventually Consistency : 일정 시간이 지나면 데이터의 일관성이 유지되는 속성, 일관성을 중시하고 지향

10. NoSQL의 유형
- Key-Value Store : Unique한 Key에 하나의 Value를 가지고 있는 형태, 키 기반 Get/Put/Delete 제공하는 빅데이터 처리 가능 DB
- Column Family Data Store : Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DB, 테이블 기반, 조인 미지원, 컬럼 기반, 구글의 Bigtable 기반으로 구현
- Document Store : Value의 데이터 타입이 Document라는 타입을 사용하는 DB
- Graph Store : 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DB

11. 데이터 마이닝(Data Mining)
- 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술
- 대규모 데이터에서 의미있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 기법
- 데이터의 숨겨진 정보를 찾아내어 이를 기반으로 서비스와 제품에 도입하는 과정
- 가설이나 가정에 따른 분석, 검증을 하지만 데이터 마이닝은 수리 알고리즘을 활용하여 대규모 데이터에서 의미 있는 정보를 찾아냄

12. 데이터 마이닝 기법
1) 분류규칙
- 과거 데이터로부터 특성을 찾아내어 분류 모형을 만들어 이를 토대로 새로운 레코드의 결과 값을 예측하는 기법
- 마케팅, 고객 신용평가 모형에 활용
2) 연관규칙
- 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법
- 제품이나 서비스의 교차판매, 매장 진열, 사기 적발 등 다양한 분야에서 활용
3) 연속 규칙
- 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
- 개인별 트랜잭션 이력 데이터를 시계열적으로 분석하여 트랜잭션의 향후 발생 가능성 예측
4) 데이터 군집화
- 대상 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업으로 작업의 특성이 분류규칙과 유사
- 정보가 없는 상태에서 데이터를 분류하는 기법
- 분석대상에 결과값이 없으며, 판촉활동이나 이벤트 대상을 선정하는 데 사용

반응형

댓글