본문 바로가기

자격증/정보처리기사

[ III ] 데이터 입출력 구현 - 데이터베이스 기초 활용하기

728x90
반응형

[ 1 ] 데이터베이스 종류

( 1 ) 데이터베이스

  • 데이터베이스(Database) 개념
    • 데이터베이스는 다수의 이원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합이다.
    • 데이터베이스 정의
      • 통합된 데이터 : 자료의 중복을 배제한 데이터의 모임
      • 저장된 데이터 : 저장 매체에 저장된 데이터
      • 운영 데이터 : 조직의 업무를 수행하는데 필요한 데이터
      • 공용 데이터 : 여러 애플리케이션, 시스템들이 공동으로 사용하는 데이터
  • 데이터베이스 특성
    • 실시간 접근성(Real-Time Accessibility)
      • 쿼리에 대하여 실시간 응답이 가능해야 함
    • 계속적인 변화(Continuous Evolution)
      • 새로운 데이터의 삽입(Insert), 삭제(Delete), 갱신(Update)으로  항상 최신 상태를 유지해야 함 
    • 동시공용(Concurrent Sharing)
      • 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함
    • 내용 참조(Content Reference) 
      • 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라, 사용자가 요구하는 데이터 내용으로 데이터를 찾는다.
  • 데이터베이스 종류
    • 파일 시스템(File System) 개념
      • 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식
      • 파일 시스템 종류
        • ISAM(Indexed Sequential Access Method) :
          • 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
        • VSAM(Virtual Storage Access Method)
          • 대형 운영체제에서 사용되는 파일 관리 시스템
    • 계층형 데이터베이스 관리시스템(HDMBS; Hierarchical Database Management System)
      • 계층형 DBMS는 데이터를 상하 종속적인 관계로 계층화 하여 관리하는 데이터베이스
      • 접근속도는 빠르나, 종속적 구조로 인해 변화하는데이터에 구조에 유연한 대응이 어려움
    • 네트워크 데이터베이스 관리시스템(NDBMS; Network Database Management System)
      • 네트워크 DBMS는 데이터 구조를 네트워크상의 망상 형태로 표현한 데이터 모델
      • 트리 구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡하다는 단점이 존재
      • IDS, IDMS가 존재함

 

( 2 ) DBMS

  • DBMS(Database Management System) 개념
    • 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어이다.
    • 저장되는 정보는 텍스트, 이미지, 음악 파일, 지도 데이터 등 매우 다앙하며, SNS의 발달과 빅데이터의 폭넓으 활용으로 이내 데이터의 종류와 양은 급격히 증가 중이다.
  • DBMS의 유형 ( 키컬도그 )
    • 키-값(Key-Value) DBMS
      • 키 기반 Get / Put / Delete 제공, 메모리 기반에서 성능 우선 시스템 및 빅데이터 처리 가능
      • Unique 한 키에 하나의 값을 가지고 있는 형태 ( 예 : Redis, DynamoDB )
    • 컬럼 기반 데이터 저장(Column Family Data store) DBMS
      • Key 안에 (Column, Value) 조합으로 된 여러개의 필드를 갖는 DBMS
      • 테이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현
      • ( 예 : HBase, Cassandra )
    • 문서 저장(Document Store) DBMS
      • 값(Value)의 데이터 타입이 문서(Document)라는 타입을 사용하는 DBMS
      • 문서 타입은 XML, JSON과 같이 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 가능
      • ( 예 : MongoDB, Couchbase )
    • 그래프(Graph) DBMS
      • 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS
      • 노드와 엣지로 특정되는 요소 특화
      • 노드간 관계를 구조화하여 저장
      • ( 예 : Neo4j, AllegroGraph )
  • DBMS의 특징 ( 무일회보효 )
    • 무결성
      • 부적절한 자료가 입력되어 동일한 내요에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
    • 일관성
      • 삽입, 삭제, 갱신 이후에도 저장된 데이터 변함없이 일정
    • 회복성
      • 장애가 발생하였을 시, 특정 상태로 복구되어야 하는 성질
    • 보안성
      • 불법적인 노출, 변경, 손실로부터 보호되어야하는 성질
    • 효율성
      • 응답 시간, 저장 공간 활용 등이 최적화 되어 사용자, 소프트웨어의 요구조건을 만족시켜야 하는 성질

 

 

( 3 ) 데이터 베이스 기술

  • 빅데이터
    • 빅데이터(Big Data)의 개념
      • 빅데이터는 시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리 가능한 데이터의 범위를 넘어서는 수십 페타바이트(PB) 크기의 비정형 데이터이다.
    • 빅데이터의 특성 ( V3 )
      • 데이터의 양(Volume)
        • 페타바이트 수준의 대규모 데이터
        • 빅데이터 분석 규모에 관련된 특성
      • 데이터의 다양성(Variety)
        • 정형, 비정형, 반정형의 다양한 데이터
        • 빅데이터 자원 유형에 관련된 특성
      • 데이터의 속도(Velocity)
        • 빠르게 증가하고 수집되며, 처리되는 데이터
        • 빅데이터 수집, 분석, 활용 속도와 관련된 특성
    • 빅데이터 수집, 저장, 처리 기술
      • 비정형/반정형 데이터 수집
        • 내ㆍ외부 정제되지 않은 데이터를 확보, 이를 통해 필요 정보를 추출하여 활용하기 위해서 효과적으로 수집 및 전송하는 기술
        • 예 : 척와(Chukwa), 플럼(Flume), 스크라이브(Scribe)
      • 정형 데이터 수집
        • 내ㆍ외부 정제된 대용량 데이터와 수집 및 전송 기술
        • 예 : ETL, FTP, 스쿱(Sqoop), 하이호(Hiho)
      • 분산데이터 저장/처리
        • 대용량 파일의 효과적인 분산 저장 및 분산처리 기술
        • 예 : HDFS, 맵 리듀스
      • 분산데이터 베이스
        • HDFS의 컬럼 기반 데이터베이스로 실시간 랜덤 조회 및 업데이트가 가능한 기술
        • 예 : HBase
    • 빅데이터 분석, 실시간 처리 및 시각화를 위한 주요 기술
      • 분석
        • 빅데이터를 분석하기위한 데이터의 가공과 분류, 클러스터링, 패턴 분석을 처리하는 기술
      • 실시간 처리
        • 하둡 기반의 실시간 SQL 질의 처리와 요청된 작업을 최적화하기 위한 워크플로우 관리 기술
      • 분산 코디네이션
        • 분산 환경에서 서버들 간의 상호조정이 필요하 다양한 서비스를 분산 및 동시 처리 제공 기술
      • 분석 및 시각화
        • 빅데이터 분석 기술을 통해 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 기술
  • NoSQL
    • NoSQL(Not Only SQL)의 개념
      • NoSQL은 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 데이터 저장에 고정된 테이블 스키마가 필요하지 않으며 조인 연산을 할 수 없으며, 수평적으로 확장이 가능한 DBMS이다.
    • NoSQL의 특성(BASE)
      • Basicially vailable
        • 언제든지 데이터는 접근할 수 있어야 하는 속성
        • 분산 시스템이기 때문에 항상 가용성 중시
      • Soft-State
        • 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성
        • 특정시점에서는 데이터으 일관성이 보장되지 않음
      • Eventually Consistency
        • 일정 시간이 지나면 데이터의 일관성이 유지 되는 속성
        • 일관성을 중시하고 지향
      • NoSQL의 유형
        • Key-Value Store
        • Column Family Data Store
        • Document Store
        • Graph Store
  • 데이터 마이닝(Data Minning)
    • 데이터 마이닝 개념
      • 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통곚거 규칙이나 패턴을 찾아내는 기술이다.
    • 데이터 마이닝 절차
      • 1단계 : 목적 설정
        • 데이터 마이닝을 통해 얻고자 하는 명확한 목적 설정
      • 2단계 : 데이터 준비
        • 거래정보, 웹로그 데이터, 고객 정보, 데이터 사용량, 소셜 데이터 등 다양한 데이터 활용
      • 3단계 : 가공
        • 모델링 목적에 따라 목적 변수 정의
      • 4단계 : 마이닝 기법 적용
        • 1단계의 명확한 목적에 따라 데이터 마이닝 기법을 적용하여 정보 추출
      • 5단계 : 정보 검증
        • 데이터 마이닝으로 추출된 정보 검증
    • 데이터 마이닝 주요 기법:
      • 데이터 마이닝은 텍스트 마이닝, 웹 마이닝과 함께 다양한 분야에서 활용되고 있음
      • 텍스트 마이닝 : 대량의 텍스트 데잍로부터 패턴 또는 관계를 추출하여 의미 있는 정보를 찾아내는 기법
      • 웹 마이닝 : 웹으로부터 얻어지는 방대항 정보로부터 유요한 정보를 찾아내기 위하여 분석하는 기법
        • 분류 규칙
          • 과거 데이터로부터 특성을 찾아내어 분류 모형을 만들어 이를 토대로 새로운 레코드 결과값으 예측하는 기법
          • 마케팅 고객 신용평가 모형에 활용
        • 연관 규칙
          • 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법
        • 연속 규칙
          • 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
        • 데이터 군집화
          • 대상 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할 하는 작업으로 작업의 특성이 분류규칙과 유사
728x90
반응형