[정보처리기사 실기] 3. 데이터 입출력 구현(3)

Sua An·2021년 10월 3일
0
post-thumbnail

03. 데이터베이스 기초 활용하기

📌 데이터베이스

✅ 개념

  • 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합
  • 데이터에 대한 효과적인 관리를 위해 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장 중요
  • 정의
    • 통합된 데이터
    • 저장된 데이터
    • 운영 데이터
    • 공용 데이터

✅ 특성

  • 실시간 접근성 : 쿼리에 대해 실시간 응답 가능
  • 계속적인 변화 : 항상 최신 데이터 유지
  • 동시 공용 : 다수의 사용자가 같은 내용 데이터 이용 가능 해야함
  • 내용 참조 : 사용자가 요구하는 데이터 내용으로 데이터 찾음

✅ 종류

  • 파일 시스템
    • 종류
      - ISAM : 자료 내용은 주 저장부, 색인은 자료 위치와 함께 색인부
      - VSAM : 대형 운영체제에서 사용
  • 관계형 데이터베이스 관리시스템(RDBMS)
    • 가장 보편화된 DBMS
    • 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계 정리
    • 변화하는 업무나 데이터 구조에 대한 유연성 Good
    • 종류 : Oracle, SQL Server, MySQL, Maria DB 등
  • 계층형 데이터베이스 관리시스템(HDBMS)
    • 데이터를 상하 종속적인 관계로 계층화하여 관리
    • 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 변화하는 데이터 구조에 유연하게 대응하기 쉽지 않다
    • 종류 : IMS, System2000 등
  • 네트워크 데이터베이스 관리 시스템(NDBMS)
    • 네트워크 망 형태로 표현
    • 트리 구조나 계층형 DB보다는 유연하지만 설계 복잡
    • 종류 : IDS, IDMS 등

✅ 데이터베이스 관리 툴

  • 기능
    • DB 생성, 삭제
    • SQL 명령어 작성 및 실행
    • 상태 모니터링
    • 사용자 계정 관리
    • DB 내보내기/가져오기
    • 환경설정

📌 DBMS

: 데이터 관리의 복잡성 해결 + 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등 기능 지원하는 SW

✅ 유형 (키컬도그)

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

✅ 특징

  • 데이터 무결성 : 동일한 내용에 대해 서로 다른 데이터가 저장되는 것 허용 X
  • 데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터 일정
  • 데이터 회복성 : 장애 발생 시 특정 상태로 복구되어야 함
  • 데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 함
  • 데이터 효율성 : 응답시간, 저장 공간 활용 등이 최적화 되어 사용자, SW, 시스템 등의 요구조건 만족시켜야 함

✅ 상용 DBMS 및 오픈 소스 기반 DBMS

  • 상용 DBMS : 특정 회사에서 유료로 판매, 유지보수와 지원 원활
  • 오픈소스 기반 DBMS : 오픈 소스 라이선스 정책 준용 범위 내에서 사용 자유로움

📌 데이터베이스 기술 트렌드

✅ 빅데이터

  • 개념 : 시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트(PB) 크기의 데이터
  • 특성 (3Vs)
    • 양(Volume)
    • 다양성(Variety)
    • 속도(Velocity)
  • 빅데이터 수집, 저장, 처리 기술
    • 비정형/반정형 데이터 수집 e.g. 척와, 플럼, 스크라이브
    • 정형 데이터 수집 e.g.ETL, FTP, 스쿱, 하이호
    • 분산 데이터 저장/처리 e.g. HDFS, 맵 리듀스
    • 분산 데이터베이스 e.g. HBase

✅ NoSQL(Not Only SQL)

: 데이터 저장에 고정된 테이블 스키마가 필요하지 않고, 조인 연산 사용X, 수평적으로 확장이 가능한 DBMS

  • 특성(BASE)
    • Basically Available
      : 언제든지 데이터는 접근할 수 있어야 함, 가용성 중시
    • Soft-State
      : 노드의 상태는 외부에서 전송된 정보를 통해 결정, 특정 시점에는 데이터의 일관성이 보장X
    • Eventually Consistency
      : 일정 시간이 지나면 일관성 유지
  • 유형(키컬도그)

✅ 데이터 마이닝

  • 개념
    • 대규모로 저장된 데이터 안에서 통계적 규칙이나 패턴을 찾아내는 기술
    • 데이터의 숨겨진 정보를 찾아내어 서비스와 제품에 도입하는 과정
  • 주요 기법
    • 분류 규칙
      - 과거 데이터로부터 특성을 찾아내 분류모형을 만들어 새로운 레코드의 결과 값을 예측하는 기법
      - 마케팅, 고객 신용평가 모형에 활용
    • 연관 규칙
      - 항목들 간의 종속관계 찾아내는 기법
      - 제품이나 서비스의 교차판매, 매장 진열, 사기 적발 등 다양한 분야에서 활용
    • 연속 규칙
      - 연관 규칙에 시간 관련 정보 포함
      - 이력데이터 시계열적으로 분석
    • 데이터 군집화
      - 유사한 특성을 지닌 몇 개의 소그룹으로 분할, 분류규칙과 유사
      - 정보 없는 상태에서 데이터 분류
      - 분석대상에 결괏값X, 판촉활동이나 이벤트 대상 선정하는데 활용

0개의 댓글