전체보기 (73) 썸네일형 리스트형 [조대협 대용량 아키텍처]실시간 분석 시스템 OLAP나 Map & Reduce 방식은 일반적으로 배치(Batch) 방식이라고 이야기한다. 이러한 방식은 로그 데이터가 생성된 지 하루나 이틀 이후에 리포트가 생성되기 때문에 신속한 의사 결정이 어렵다 그래서 실시간으로 리포트를 받아보고 거기에 따른 의사결정이 어렵기 때문에 이를 해결하기 위해서 실시간 데이터 분석으로 개발 환경을 바꾸고 있다. OLAP에서는 실시간 BI(Busindess Intelligence)로 발전하였고 근래에 주목받는 형태의 중의 하나인 CEP(Complex Event Processiong)이라는 개념을 사용한다. 실시간 데이터 분석은 스트리밍 기술이 필요하다. 실시간으로 흐르는 데이터에 대해서 통계 분석을 할 수 있는 기술이 필요하다. 이러한 기술들은 Storm이나 Spark .. [조대협 대용량 아키텍처]Map & Reduce + OLAP Map & Reduce가 대용량 데이터를 분석하기에는 좋은 기술이지만 데이터를 분석 할때마다 여러가지 알고리즘을 직접 작성해야하는 불편요소가 있다. 다각적인 각도에서 데이터를 분석하기에는 기존의 OLAP 기반의 분석 시스템을 이용하면 SQL문을 사용 할 수 있기 때문에 더 유연한 데이터 리포팅이 가능하다. 또한 기존의 다양한 리포팅 도구와도 연계 할 수 있다. ETL이나 기타 여러 가지 로그 수집 시스템을 통해서 데이터를 수집 하고 하둡과 같은 대용량 파일 시스템에 데이터를 저장한 후에 하둡 인프라를 이용해서 데이터를 정제 및 가공한 후에 OLAP 데이터 베이스에 저장한다. 이후에 OLAP에 저장된 데이터를 리포팅 도구를 이용해서 여러 형태의 뷰로 생성한다. 이전 글 Map & Reduce 기반의 분석 .. [조대협 대용량 아키텍처]Map & Reduce 기반의 분석 시스템 기존의 전통적인 OLAP RDBMS을 이용한 데이터 분석이 용량의 한계로 다른 접근 방법을 사용하게 되었다. 대표적인 방법으로 Map & Reduce라는 방법을 사용한 데이터 분석이 있다. Map & Reduce는 프로그래밍 아키텍처의 개념으로 Map & Reduce는 하나의 큰 데이터를 여러 개의 조각으로 나눠서 처리하는 단계 (Map) 처리 결과를 모아서 하나로 합쳐서 결과를 내는 단계(Reduce)로 나뉘어 진다. 예를 들면 어떤 기업의 사원들의 월급을 더한다고 가정을 해보자. 사원들의 월급이 적혀 있는 텍스트 파일이 하나 있다고 전제로 생각을 하자 각각 월급을 차례대로 더 할수도 있지만 전체 파일을 여러 조각으로 나눠서 월급을 합하고 그 결과를 하나로 더 하면 조각을 나눈 만큼의 계산을 병렬로 처.. [조대협 대용량 아키텍처]전통적인 OLAP 방식의 분석 시스템 전통적인 기업형 업무에서는 RDBMS 기반의 분석 시스템을 사용했다. OLAP(OnLine Anlaytics Processiong)이라는 형태의 분석에 최적화된 데이터베이스를 사용하여 데이터를 분석하여 리포트를 생성한다. 구조는 아래와 같다 ETL(Extract Transform Loading) 여러 데이터 소스로부터 수집해서 변환 및 저장하는 역할 E(Extract) : 다양한 데이터 소스로 부터 데이터를 추출, 텍스트 기반 파일에서 데이터를 추출하거나 다른 RDBMS로부터 데이터를 추출하는 기능을 수행한다. T(Transform) : 추출된 데이터를 수신 변환 하는 역할을 수행, 필요한 데이터만 선별 추출하거나 필드를 합치거나 특정 규칙에 따라 데이터를 변환한다. L(Loading) : 변환된 데이터.. [조대협 대용량 아키텍처]Analysis Layer Analysis Layer는 트랜잭션 처리에 의한 결과와 로그를 분석하는 계층이다. Analysis Layer 또는 BSS(Business Support System) 그리고 금융권에서는 정보계라는 용어로 사용한다. Transaction Processing 계층에서 생성된 각종 로그와 비즈니스 데이터를 Gathering 컴포넌트에서 수집한 후에 Transform(변환) 컴포넌트에서 이를 분석을 위한 저장소에 저장하고자 포맷을 변경한다. 예를 들면 웹 서버의 텍스트 로그를 수집해서 RDBMS에 저장한다고 할 때 분석을 위한 데이터는 Stroe 컴포넌트에 정제된 형태로 저장한 후에 사용자가 보고 싶은 리포트 형태로 View 컴포넌트에 의해서 리포트나 대시 보드 형태로 출력한다. 다음 글 전통적인 OLAP 방.. [조대협 대용량 아키텍처]Persistent Layer - NoSQL NoSQL 단순한 데이터를 대용량으로 저장 가능 빠른 성능을 제공한다 데이터 간의 관계를 지원하지 않는다. 과연 NoSQL이 필요한가? RDBMS만으로도 충분하고 필요에 따라 Querry off Loading과 샤딩 조합으로 서비스 가능 대용량의 서비스를 빠른 성능으로 제공할 때 고려할 필요가 있다. NoSQL에 저장할 데이터는 무엇이며 어떤 NoSQL을 사용할 것인가? 제품에 따라 데이터 모델도 다르고 기능과 특성 모두 다르다. 하나의 NoSQL에 모든 데이터를 저장하겠다는 생각을 하지 않는 게 좋다 RDBMS와 NoSQL를 함께 사용할 방법을 고려해야 한다. 이전글 Persistent Layer - 파일 시스템 Persistent Layer - 파일 시스템 파일 시스템은 일반적인 파일 시스템이다. 파.. [조대협 대용량 아키텍처]Persistent Layer - 파일 시스템 파일 시스템은 일반적인 파일 시스템이다. 파일 시스템의 구조 SDK 운영 체제 계층 파일 시스템 스토리지 하드웨어 SDK 프로그래밍 언어에서 지원되는 파일 시스템 접근용 API C의 fopen, JAVA의 java.io.*의 파일 시스템 관련 라이브러리 등 운영 체제 계층 여러 종류의 다햐안 파일 시스템을 같은 형태의 스토리지로 추상화 해준다. ex)Linux의 VFS 각 다양한 파일 시스템의 메타 정보를 inode에 저장하고 파일 자체를 블록 단위로 나눠서 저장하는 구조 추상화된 파일은 System Call Interface로 추상화 돼서 접근 할 수 있게 된다. inode는 파일이나 디렉터리에 대한 메타 정보를 저장하는 데이터 구조 파일 시스템 디스크를 포맷 할때 어떤 파일 시스템으로 포맷할 것인가를.. [조대협 대용량 아키텍처]Persistent Layer - RDBMS RDBMS를 이용한 설계에 관해서 Query off Loading 과 샤딩에 대해서 이야기 해보겠다 Query off Loading Query off Loading는 DB의 성능 향상을 위한 기법 쓰기와 읽기 트랜잭션을 분리 하는 기법이다. 먼저 DB에는 Master DB와 Slave DB가 존재한다. Master DB는 읽기와 쓰기가 가능하고 SlaveDB는 읽기만 가능하다. (Master DB는 주로 쓰기만 한다.) Slave DB는 Master DB를 복제하는 DB라고 생각하면 좋을 것 같다. Master DB는 쓰기만 허용하고 Master DB의 내용을 중간의 Staging DB라는 곳에 복사한다 그리고 Staging DB는 복제된 내용을 N개의 Slave DB로 복제한다. 애플리케이션은 DB에 .. 이전 1 ··· 6 7 8 9 10 다음