데이터베이스 종류
데이터베이스 기술 트랜드
빅데이터
빅데이터(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)과 유사
- 정보가 없는 상태에서 데이터를 분류하는 기법
- 분석 대상에 결괏값이 없으며, 판촉 활동이나 이벤트 대상을 선정하는 데 활용
- 예를 들어, 고객의 지역/연령/성별에 따른 차별화 홍보 전략
'정보처리 > 소프트웨어개발' 카테고리의 다른 글
통합 구현 내외부 연계 모듈 구현 (0) | 2025.04.20 |
---|---|
통합 구현 연계 메커니즘 구성 (1) | 2025.04.19 |
데이터 입출력 구현 데이터베이스 기초 활용하기 1/2 (0) | 2025.04.17 |
데이터 입출력 구현 물리 데이터 저장소 설계 (0) | 2025.04.16 |
데이터 입출력 구현 논리 데이터 저장소 확인 2/2 (0) | 2025.04.15 |