NoSQL 개요 NoSQL 개념 NoSQL은 키(Key)와 값(Value)의 형태로 자료를 저장하고, 빠르게 조회할 수 있는 자료 구조를 제공하는 저장소이다. 일반적인 DB인 RDBMS의 경우 조인(Join)을 수행할 수 있지만, NoSQL은 DB의 특성에 따라 Join 연산을 지원하거나 복잡한 Join을 지원하지 않으며 일반적으로 대용량 데이터와 대규모 확장성을 지원한다. NoSQL은 원래 non-SQL(비 SQL) 혹은 non-relational(비 관계형)라는 의미로 쓰였으나, NoSQL DB에서 SQL을 지원하는 경우가 속속 등장하면서 현재는 Not only SQL이라고 말하기도 한다. [2] NoSQL의 경우 4가지 대표 유형의 DB가 존재하는데 키-값(KeyValue), 컬럼 기반(Column..
데이터베이스 클러스터의 개요 개념 - 데이터를 통합할 때 성능 향상과 가용성을 높이기 위해 DB 차원의 파티셔닝(Partitioning) 또는 클러스터링(Clustering)을 이용한다. - 파티셔닝은 용량이 큰 테이블이나 인덱스를 관리하기 쉬운 단위로 분리하는 방법이다 - 클러스터링은 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 방법으로, 자주 같이 사용되는 데이터를 같은 위치에 저장시키는 기법이다. 장점 - 파티션 사이의 병렬 처리를 통해 빠른 검색 및 처리 성능 얻음 - 성능의 선형적인 증가 효과 - 특정 파티션의 장애가 발생하더라도 서비스가 중단되지 않는 고가용성(High Availability, HA) 확보 파티셔닝의 종류 파티셔닝은 DB 구성 형태에 따라 단일 서버 내의 파티셔닝과 다..
1. 구글 파일 시스템(Google File System, GFS) - 구글 파일 시스템은 구글의 대규모 클러스터 서비스 플랫폼의 기반이 되는 파일 시스템으로 개발 가. GFS의 가정 - 저가형 서버로 구성된 환경으로 서버의 고장이 빈번히 발생할 수 있다 가정 - 대부분의 파일은 대용량이라 가정하며 효과적으로 관리할 수 있는 방법 요구 - 작업 부하는 연속적으로 많은 데이터를 읽는 연산이나 임의의 영역에서 적은 데이터를 읽는 연산 - 파일 쓰기는 순차적으로 데이터를 추가하며 파일에 대한 갱신은 드물에 이루어짐 - 동시에 파일을 추가하는 환경에서 동기화 오버헤드를 최소화할 방법 요구 - 낮은 응답 지연시간보다 높은 처리율이 중요 나. GFS의 구성 - GFS는 아래와 같이 클라이언트, 마스터, Chunk ..
1. 대용량 로그 데이터 수집 - 로그(Log)는 기업에서 발생하는 대표적인 비정형 데이터 - 과거에는 시스템의 문제 상황, 서비스 접근, 사용 로그를 기록하는 용도 - 최근에는 사용자 행태 분석, 마케팅, 영업 전략 필수 정보 생성 - 비정형 로그는 용량이 방대하기에 성능과 확정성 시스템 필요 가. 초고속 수집 성능과 확장성 - 수집 대상 서버가 증가하면 수만큼 에이전트 수를 늘리는 방식 나. 데이터 전송 보장 메커니즘 - 다양한 저장소의 종류에 따라 수집에서 저장소까지의 양 종단점 간에 데이터 전송 안정성 수준 제어 필요 - 여러 단계를 거쳐 저장소에 도착할 수 있는데 단계별로 신호를 주고 받아서 이벤트 유실 방지 - 성능과 안정성은 트레이드 오프(Trade-Off)가 존재하며 비즈니스 특성 고려해 ..
데이터 연계 및 통합 유형 (동기화 기준) - 데이터 연기 및 통합 시 일괄(Batch) 작업, 비동기식 근접 실시간(Near Real Time), 동기식 실시간(Real Time) 방식이 혼용 사용 될 수 있음 - 일괄 작업 시 대용량 처리가 가능하며, 실시간 작업은 관심 대상 영역 상태에 대한 빠른 파악 및 대응 가능 일괄 및 실시간 사례 일괄 작업 사례 - ETL 기능을 통해 운영 시스템으로부터 ODS를 구성하고, 데이터 웨어하우스나 데이터 마트를 구성한 뒤 OLAP 정형/비정형 질의를 통한 경영 분석 수행 작업 실시간 데이터 통합 사례 - 컨테이터 터미널, 공장 등의 센서들로부터 데이터를 실시간으로 획득해 운영 상태 모니터링 및 통제 (Complex Event Processing이라는 SW 및 데..
1. EAI(Enterprise Application Integration)의 개요 가. EAI의 개념 - EAI는 기업 정보 시스템들의 데이터를 연계ㆍ통합하는 소프트웨어 및 정보 시스템 아키텍처 프레임워크 - 기업, 기관, 단체 등에서 사용하는 모든 응용 프로그램을 상호 연계하여 통합하는 것 나. Point to Point 문제 - 기존 레거시 시스템들을 직접 연결하는 포인트 투 포인트(Point to Point) 방식으로 데이터를 연계하게 되면 그림 1과 같은 복잡성이 발생할 수 있음 - Point to Point 연계 시, N개의 연결 대상 노드가 존재할 경우 연결은 N(N-1)/2개가 발생한다. - 그림 1의 경우 연결 대상이 6개이므로 6(6-1)/2 = 30/2 = 15개의 연결이 필요하다 다..
1. CDC(Chage Data Capture)의 개요 가. CDC의 개념 - 데이터베이스(Database) 내 데이터에 대한 변경을 식별해 필요한 후속 처리(데이터 전송/공유 등)를 자동화하는 기술 또는 설계 기법이자 구조 (데이터 분석 전문가 가이드) [1] - 변경된 데이터를 사용하여 동작을 취할 수 있도록 데이터를 결정하고 추적하기 위해 사용되는 여러 소프트웨어 디자인 패턴들의 모임 (위키피디아) [2] 나. CDC의 방식 - 푸시 방식 : 데이터 원천(Source)에서 변경을 식별하고 대상 시스템 변경 데이터를 적재 - 풀 방식 : 대상 시스템(Target)에서 데이터 원천을 정기적으로 살펴서 필요시 데이터를 다운로드 2. CDC 구현 기법 - 시스템 개발자들은 수많은 방식으로 또 애플리케이션 ..
1. 데이터 웨어하우스의 개념 - 데이터 웨어하우스는 ODS를 통해 정제 및 통합된 데이터가 데이터 분석과 보고서 생성을 위해 적재되는 곳 (데이터 분석 전문가 가이드) - 데이터 웨어하우스는 보다 정보에 입각한 의사 결정을 내릴 수 있도록 분석 가능한 정보의 중앙 리포지토리(Repository)이다. (AWS 사이트) - 데이터 웨어하우스는 다양한 소스의 데이터를 하나의 중앙 데이터 저장소로 집계함으로써 분석, 데이터 마이닝, 머신 러닝 및 AI를 지원하는 시스템 (IBM 사이트) 2. 데이터 웨어하우스의 특징 주제 중심(Subject Oriented) - 실 업무 상황의 특정 이벤트나 업무 항목을 기준으로 구조화 된다. 영속성(Non Volatile) - 최초 저장 이후에는 읽기 전용(Read Onl..
1. ODS(Operation Data Store)의 개념 - 데이터에 추가 작업을 위해 다양한 데이터 원천(Source)들로 부터 데이터를 추출·통합한 데이터베이스 (데이터 분석 전문가 가이드) [1] - 보고, 제어 및 운영 의사 결정 지원을 위해 데이터에 대한 추가 작업을 위해 여러 소스의 데이터를 통합 하도록 설계된 데이터베이스(위키피디아) [2] ODS 내의 데이터는 향후 비즈니스 지원을 위해서 타 정보 시스템으로 이관하거나 다양한 보고서 생성을 위해 데이터 웨어하우스(Data Warehouse, DW)로 이관된다. ODS의 구성 단계 가. 인터페이스(interface) 단계 - 다양한 데이터 원천(웹사이트, RDBMS, 스프레드시트 등)으로부터 데이터를 획득 하는 단계 - 획득 프로토콜로는 O..
1. ETL의 개요 가. ETL의 개념 - ETL은 Extraction, Transformation and Load의 약어로 이뤄졌으며 데이터 이동과 변환 절차에 관련된 업계 표준 용어 - 데이터 웨어하우스(DW, Data Warehouse), 운영 데이터 스토어(ODS, Operation Data Store), 데이터 마트(DW, Data Mart)에 대한 데이터 적재 작업의 핵심 구성요소 - 데이터 통합(Data Integration), 데이터 이동(Data Migration), 마스터 데이터 관리(MDM, Master Data Management)등 폭넓게 활용 - ETL을 위한 여러 상용 소프트웨어가 있으며, 일괄(Batch) ETL과 실시간(Real Time) ETL로 구분됨 나. ETL의 3가..