데이터베이스 기초 활용

뿌엑·2022년 4월 9일
0

정보처리기사

목록 보기
9/20

DB 개념

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

데이터베이스 정의

  • 통합된 데이터: 자료의 중복을 배제한 데이터의 모임
  • 저장된 데이터: 저장 매체에 저장된 데이터
  • 운영 데이터: 조직의 업무를 수행하는데 필요한 데이터
  • 공용 데이터: 여러 애플리케이션, 시스템들이 공동으로 사용하는 데이터

데이터베이스 특성

  • 실시간 접근성: 쿼리에 대해 실시간 응답이 이뤄져야 함
  • 계속적인 변화: 새로운 데이터의 삽입(Insert), 삭제(Delete), 갱신(Update)으로 항상 최신 상태를 유지
  • 동시 공용: 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함
  • 내용 참조: 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터의 내용으로 데이터를 찾는다.

데이터베이스 종류

  1. 파일 시스템(File System) 개념
  • 파일에 이름을 부여하고 저장 및 검색을 위해 논리적으로 그것들을 어떤 곳에 위치시켜야 하는지를 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식

    • ISAM(Indexed Sequential Access Method)
      • 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
    • VSAM(Virtual Storage Access Method)
      • 대형 운영체제에서 사용되는 파일 관리시스템
  1. 관계형 데이터베이스 관리시스템(RDBMS; Relational Database Management System)
  • 관계형 DBMS는 관계형 모델을 기반으로 하는 가장 보편적인 데이터베이스 관리 시스템이다.
  • 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계를 정리한다.
  • 변화하는 업무나 데이터 구조에 대한 유연성이 뛰어나 유지관리에 용이하다.
  • RDBMS 종류로 Oracle, SQL Server, MySQL, Maria DB 등이 있다.
  1. 계층형 데이터베이스 관리시스템(HDBMS; Hierarchical Database Management System)
  • 계층형 DBMS는 데이터를 상하 종속적 관계로 계층화하여 관리하는 데이터베이스이다.
  • 데이터에 대한 접근 속도가 빠르지만, 종속적 구조로 인해 변화하는 데이터 구조에 유연하게 대응하기 어렵다.
  • HDBMS 종류로 IMS(Information Management System), System2000 등이 있다.
  1. 네트워크 데이터베이스 관리시스템(NDBMS; Network Database Management System)
  • 네트워크 DBMS는 데이터의 구조를 네트워크상 망 형태로 표현한 데이터 모델이다.
  • 트리 구조나 계층형 데이터베이스보단 유연하지만 설계가 복잡하다는 단점이 있다.
  • NDBMS 종류로 IDS(Integrated Data Store), IDMS(Integrated Database Management System) 등이 있다.

DBMS

  • DBMS는 데이터 관리의 복잡성을 해결하면서 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어이다.
  • 저장되는 정보는 텍스트, 이미지, 음악 파일, 지도 데이터 등 매우 다양하며 SNS의 발달과 빅데이터의 폭넓은 활용으로 데이터의 종류와 양은 급격히 늘어나고 있다.

DBMS 유형

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

DBMS 특징

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

빅데이터

  • 빅테이터는 시스템, 서비스, 조직(회사) 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트(PB) 크기의 비정형 데이터이다.

NoSQL

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

NoSQL 특성

  • Basically Available
    • 언제든 데이터에 접근할 수 있어야 함
    • 분산 시스템이기에 가용성 중시됨
  • Soft-State
    • 노드의 상태는 내부에 포함된 정보에 의해 결정되는 게 아니라 외부에서 전송된 정보를 통해 결정됨
    • 특정 시점에선 데이터의 일관성이 보장되지 않음
  • Eventually Consistency
    • 일정 시간이 지나면 데이터의 일관성이 유지됨
    • 일관성을 중시하고 지향

데이터마이닝

  • 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술
  • 대규모 데이터에서 의미있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 기법

데이터마이닝 절차

목적 설정 → 데이터 준비 → 가공 → 마이닝 기법 적용 → 정보 검증

데이터마이닝 기법

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

0개의 댓글