본문 바로가기
정보처리/소프트웨어개발

데이터 입출력 구현 데이터베이스 기초 활용하기 2/2

by 피갓자 2025. 4. 18.

데이터 입출력 구현 데이터베이스 기초 활용하기
데이터 입출력 구현 데이터베이스 기초 활용하기

데이터베이스 종류

데이터베이스 기술 트랜드

빅데이터

빅데이터(Big Data) 개념

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

빅데이터의 특성

데이터의 양(Volume)

  • 페타바이트 수준의 대규모 데이터
  • 빅데이터 분석 규모에 관련된 특성
  • 디지털 정보량이 기하급수적으로 폭증하는 것을 의미

데이터의 다양성(Variety)

  • 정형, 비정형, 반정형의 다양한 데이터
  • 빅데이터 자원 유형에 관련된 특성
  • 로그, 소셜, 위치 등 데이터 유형이 다양해지는 것을 의미

데이터의 속도(Velocity)

  • 빠르게 증가하고 수집되며, 처리되는 데이터
  • 빅데이터 수집, 분석, 활용 속도와 관련된 특성
  • 가치 있는 정보 활용을 위해 실시간 분석이 중요해지는 것을 의미

빅데이터 수집, 저장, 처리 기술

  • 비정형/반정형 데이터 수집 : 내외부 정제되지 않은 데이터를 확보, 이를 통해 필요 정보를 추출하여 활용하기 위해서 효과적으로 수집 및 전송하는 기술. 예를 들어, 척와(Chukwa), 플럼(Flume), 스크라이브(Scribe)
  • 정형 데이터 수집 : 내외부 정제된 대용량 데이터의 수집 및 전송 기술. 예를 들어, ETL, FTP, 스쿱(Sqoop), 하이호(Hiho)
  • 분산 데이터 저장/처리 : 대용량 파일의 효과적인 분산 저장 및 분산 처리 기술. 예를 들어, HDFS(Hadoop Distributed File System), 맵 리듀스(Map Reduce)
  • 분산 데이터베이스 : HDFS의 컬럼 기반 데이터베이스로 실시간 랜덤 조회 및 업데이트가 가능한 기술. 예를 들어, HBase

빅데이터 분석, 실시간 처리 및 시각화를 위한 주요 기술

빅데이터 분석

  • 빅데이터를 분석하기 위한 데이터의 가공과 분류, 클러스터링, 패턴 분석을 처리하는 기술
  • 데이터 가공을 위한 대표적인 솔루션에는 피그(Pig), 하이브(Hive)가 있고, 데이터 마이닝을 위한 대표적인 솔루션에는 머하웃(Mahout)이 있음

빅데이터 실시간 처리

  • 하둡 기반의 실시간 SQL 질의 처리와 요청된 작업을 최적화하기 위한 워크플로우 관리 기술
  • 실시간 SQL 질의를 위한 대표적인 솔루션은 임팔라(Impala)이고, 워크플로 관리를 위한 대표적인 솔루션은 우지(Oozie)가 있음

분산 코디네이션

  • 분산 환경에서 서버들 간에 상호 조정이 필요한 다양한 서비스를 분산 및 동시처리 제공 기술
  • 분산 코디네이션을 위한 대표적인 솔루션은 주키퍼(Zookeeper)가 있음

분석 및 시각화

  • 빅데이터 분석 기술을 통해 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 기술
  • 분석 및 시각화를 위한 대표적인 솔루션은 알(R)이 있음

NoSQL

NoSQL(Not Only SQL)의 개념

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

NoSQL의 특성(BASE)

Basically Available

  • 언제든지 데이터는 접근할 수 있어야 하는 속성
  • 분산 시스템이기 때문에 항상 가용성 중시

Soft-State

  • 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성
  • 특정 시점에서는 데이터의 일관성이 보장되지 않음

Eventually Consistency

  • 일정 시간이 지나면 데이터의 일관성이 유지되는 속성
  • 일관성을 중시하고 지향

NoSQL의 유형

-값(Key-Value) Store

  • 유일한(Unique) Key에 하나의 Value를 가지고 있는 형태
  • 키 기반 Get / Put / Delete 연산 제공하는 빅데이터 처리 가능 DB
  • 예를 들어, Redis, DynamoDB

럼 기반 데이터 저장(Column Family Data Store)

  • Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 dB
  • 테이블 기반, 조인 미지원, 컬럼 기반, 구글의 Bigtable 기반으로 구현
  • 예를 들어, HBase, Cassandra

서 저장(Document Store)

  • 값(Value)의 데이터 타입이 문서(Document)라는 타입을 사용하는 DB
  • Document 타입은 XML, JSON, YAML과 같이 구조화된 데이터 타입으로, 복잡한 계층 구조를 표현할 수 있음
  • 예를 들어, MongoDB, Couchbase

래프(Graph) Store

  • 시맨틱 웹(Semantic Web)과 온톨로지(Ontology) 분야에서 활용되는 그래프로 데이터를 표현하는 DB
  • 예를 들어, Neo4j, AllegroGraph

데이터 마이닝(Data Mining)

데이터 마이닝 개념

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

데이터 마이닝 절차

1단계 목적 설정

  • 데이터 마이닝을 통해 얻을 명확한 목적 설정
  • 목적에 따라 사용할 모델과 필요 데이터 정의

2단계 데이터 준비

  • 거래 정보, 웹로그 데이터, 고객 정보, 데이터 사용량, 소셜 데이터 등 다양한 데이터 활용
  • 사전에 운영 데이터 접근에 따른 부하 고려
  • 필요시 작업 서버에 저장하여 운영에 지장이 없도록 데이터 준비
  • 데이터 정제를 통해 데이터의 품질을 보장하고, 필요시 데이터 추가 등을 통해 충분한 양의 데이터 확보

3단계 가공

  • 모델링 목적에 따라 목적 변수 정의
  • 필요한 데이터를 데이터 마이닝 소프트웨어에 적용할 수 있는 형식으로 가공 처리

4단계 마이닝 기법 적용

  • 1단계의 명확한 목적에 맞도록 데이터 마이닝 기법을 적용하여 정보 추출

5단계 정보 검증

  • 데이터 마이닝으로 추출된 정보 검증
  • 테스트 데이터와 과거 데이터를 활용하여 최적의 모델 선정
  • 데이터 마이닝 결과의 업무 적용 보고서 작성 및 활용

데이터 마이닝 주요 기법

류 규칙(Classification)

  • 과거 데이터로부터 특성을 찾아내어 분류 모형을 만들어 이를 토대로 새로운 레코드의 결괏값을 예측하는 기법
  • 마케팅, 고객 신용평가 모형에 활용
  • 예를 들어, 우수 고객의 분류 모형 구축으로 마케팅 활용

관 규칙(Association)

  • 데이터 안에 존재하는 항목 간의 종속관계를 찾아내는 기법
  • 제품이나 서비스의 교차판매, 매장 진열, 사기 적발 등 다양한 분야에서 활용
  • 예를 들어, 넥타이 구매 고객의 50% 이상이 셔츠를 구매한다는 정보 분석을 통해 매장의 상품 진열

속 규칙(Sequence)

  • 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
  • 개인별 트랜잭션 이력 데이터를 시계열적으로 분석하여 트랜잭션의 향후 발생 가능성 예측
  • 예를 들어, A 품목을 구매한 회원이 B 품목을 구매할 확률은 75%

이터 군집화(Clustering)

  • 대상 레코드들을 유사한 특성이 있는 몇 개의 소그룹으로 분할하는 작업으로 작업의 특성이 분류 규칙(Classification)과 유사
  • 정보가 없는 상태에서 데이터를 분류하는 기법
  • 분석 대상에 결괏값이 없으며, 판촉 활동이나 이벤트 대상을 선정하는 데 활용
  • 예를 들어, 고객의 지역/연령/성별에 따른 차별화 홍보 전략