본문 바로가기
IT 자격증/정보처리기사 실기

[정보처리기사 실기] 04. 데이터 입출력 구현 - 데이터베이스 기초 활용하기

by 가든가든 2022. 10. 4.
728x90

DBMS 부터 이후의 내용은 중요하니 잘 숙지합시다~

데이터베이스(Database)

- 데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음

데이터베이스 정의

- 통합된 데이터 : 자료의 중복을 배제한 데이터의 모임

- 저장된 데이터 : 저장 매체에 저장된 데이터

- 운영 데이터 : 조직의 업무를 수행하는 데 필요한 데이터

- 공용 데이터 : 여러 어플리케이션, 시스템들이 공동으로 사용하는 데이터

데이터베이스 특성

- 실시간 접근성 : 쿼리에 대하여 실시간 응답이 가능해야 함

- 계속적인 변화 : 새로운 데이터의 삽입(Insert), 삭제(Delete), 갱신(Update)으로 항상 최신의 데이터를 유지

- 동시 공용 : 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함

- 내용 참조 : 데이터 레코드의 주소나 위치에 의해서가 아닌 사용자 요구 데이터 내용으로 데이터를 찾는다

데이터베이스 종류

파일 시스템(File System)
- 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계 데이터 관리 방식이다.

파일 시스템 종류
ISAM : 자료 내용은 주 저장부 / 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록
VSAM : 대형 운영체제에서 사용되는 파일 관리 시스템

 

관계형 데이터베이스 관리시스템(RDBMS; Relationship Database Management System)
- 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리 시스템이다.

RDBMS 종류
Oracle, SQL Server, MySQL, Maria DB

 

계층형 데이터베이스 관리시스템(HDBMS)

- 데이터를 상하 종속적인 관계로 계층화하여 관리하는 DB

- 데이터 접근 속도가 빠르지만, 종속적인 구조로 변화하는 데이터 구조에 유연하게 대응하기 쉽지 않음

HDBMS 종류
IMS, System2000

 

네트워크 데이터베이스 관리시스템(NDBMS)

- 데이터의 구조를 네트워크상의 망상 형태로 표현한 데이터 모델

NDBMS 종류
IDS, IDMS

DBMS(Database Management System)

- DBMS는 데이터 관리의 복잡성을 해결하는 동시에 데이터 검색, 추가, 변경, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어다.

DBMS 유형

  • 키-값(Key-Value) DBMS
    • 키 기반 Get / Put / Delete 제공, 메모리 기반에서 성능 우선 시스템 및 빅데이터 처리 기능 DBMS
    • Unique 한 키에 하나의 값을 가지고 있는 형태
    • Redis, DynamoDB
  • 컬럼 기반 데이터 저장(Column Family Data Store)
    • Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS
    • 테이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현
    • HBase, Cassandra
  • 문서 저장(Document Store) DBMS
    • 값(Value)의 데이터 타입이 문서라는 타입을 사용하는 DBMS
    • 문서 타입은 XML, JSON과 같이 구조화된 데이터 타입으로 복잡한 계층 구조 표현 가능
    • MongoDB, Couchbase
  • 그래프(Graph) DBMS
    • 시맨틱 웹가 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS
    • Neo4j, AllegroGraph

DBMS 특징

- 데이터 무결성 : 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질

- 데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정

- 데이터 회복성 : 장애가 발생해도 특정 상태로 복구되어야 하는 성질

- 데이터 보안성 : 불법적인 노출, 변경, 손실롭터 보호되어야 하는 성질

- 데이터 효율성 : 응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 시스템 등의 요구조건에 만족시켜야 하는 성질

데이터베이스 기술 트랜드

빅데이터

- 시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리가 가능한 수십 페타바이트 크기의 비정형 데이터

HDFS (Hadoop Distributed File System)
- 대용량의 데이터의 집합을 처리하는 응용 프로그램에 적합하도록 설계된 둡 분산 파일 시스템
맵 리듀스(Map Reduce)
구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅 처리하기 위한 목적으로 제작해 2004년에 발표한 소프트 프레임워크

빅데이터의 특성 - 데이터의 양(Volume), 데이터의 다양성(Variety), 데이터의 속도(Velocity)

NoSQL

- 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어 (NoSQL의 유형은 DBMS 유형과 동일)
- 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인 연산을 사용할 수 없으며 수평적으로 확장이 가능한 DBMS

NoSQL 특성 (BASE)

- Basically Available : 언제든지 데이터는 접근할 수 있어야 하는 속성

- Soft-State : 노드의 상태는 외부에서 전송된 정보를 통해 결정되는 속성

- Eventually Consistency : 일정 시간이 지나면 데이터의 일관성이 유지

시맨틱 웹(Semantic Web)

- 기계가 이해할 수 있는 온톨로지 형태로 표현하고 자동화된 기계가 처리하도록 하는 지능형 웹

온톨로지(Ontology)

- 실세계에 존재하는 모든 개념들과 개념들의 속성, 그리고 개념들간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스

데이터 마이닝(Data Minning)

- 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술

데이터 마이닝의 주요 기법

- 분류 규칙 : 과거 데이터로부터 특성을 찾아내어 분류모형을 만들어 결과 값 예측

- 연관 규칙 : 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법

- 연속 규칙 : 연관 규칙에 시간 관련 정보가 포함된 형태의 기법

- 데이터 군집화 : 대상 레코드들을 유사한 특성을 지는 몇 개의 소그룹으로 분할하는 작업

 

728x90