SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
Atlas Data Lake 기술 심층 분석
Stephen Steneker
기술 서비스 담당 디렉터
Atlas Data Lake 기술 심층 분석
1. 설계 목표
2. Atlas Data Lake 생성 방법
3. Atlas Data Lake 아키텍처
4. 추가 개선
설계 목표
Atlas Data Lake를 구축하려는 이유
• 기업들은 엄청난 양의 데이터를 보유하고 있습니다.
• 클라우드 스토리지는 장기 데이터를 보관하는 데 비용
효과적이지만
• 운영이 까다롭습니다.
IDC는 2025년이면 전 세계 데이터가
175제타바이트에 육박하게 될 것이고,
이 가운데 49%는 퍼블릭 클라우드에
상주할 것으로 전망하고 있습니다.
Atlas Data Lake의 이점
액세스– 다양한 형식으로 오랜 기간을 저장하는 데이터
쿼리 실행 - MQL을 이용한 쿼리
분석 - 온디맨드 방식을 기반으로 데이터 분석
Atlas Data Lake의 특징
다양한 데이터 형식
확장성
MongoDB 쿼리 언어
서버리스
온디맨드
Atlas에 통합
구현 요구 사항
• MongoDB와 동일한 인터페이스 및 작동 방식
• 장기 실행 쿼리를 처리
• 고객 데이터에 안전하게 액세스
• 고객이 완벽한 제어권을 보유
• 대량의 데이터에 대한 쿼리 실행 지원
• 효율적인 리소스 사용
• 다양한 데이터 형식 지원
MongoDB 와이어 프로토콜 지원
요구 사항
MongoDB와 유사한 외관 및
작동 방식
솔루션
GO기반의 TCP 서버를 실행
MongoDB Go Driver의 와이어
프로토콜 패키지 사용
MongoDB Go Driver의 BSON 패키지
사용
MongoDB 쿼리 언어(MQL) 지원
요구 사항
MongoDB와 유사한 인터페이스
및 작동 방식
장기 실행 쿼리 처리
솔루션
읽기 전용 mongod 서버에서 명령어
실행
커서와 getMore 명령 지원 포함
서버의 집계(aggregation) 엔진 사용
MongoDB 보안 모델
요구 사항
MongoDB와 유사한 인터페이스
및 작동 방식
고객 데이터에 안전하게 액세스
솔루션
MongoDB Atlas에서 사용자 구성
TLS와 SNI의 동시 사용 필요성
고객 데이터 보안
요구 사항
고객이 완벽한 제어권을 보유
솔루션
사용자에게 IAM 역할 제공
버킷 구성
Atlas에서 사용자 구성
확장 가능한 처리
요구 사항
대량의 데이터에 대한 쿼리
실행 지원
효율적인 리소스 사용
솔루션
분산된 MQL 처리
지능적인 파일 타겟팅
데이터 형식
요구 사항
다양한 데이터 형식 지원
솔루션
Apache Avro
Apache Parquet
BSON
JSON
CSV/TSV
(더 많은 형식 추가 중)
Atlas Data Lake 생성 방법
데이터 레이아웃 제어
저장소
데이터베이스
컬렉션
데이터 소스
컬렉션컬렉션
저장소 저장소
데이터베
이스
데이터
소스
데이터
소스
데이터
소스
사전 조건
• MongoDB Atlas M10+ 클러스터
• 동일한 AWS 계정에 하나 이상의 S3 버킷
• AWS 계정에 액세스하거나 IAM 역할 생성 권한이 있는
관리 콘솔에 액세스할 수 있도록 AWS CLI를 구성
Data Lake 시나리오
• 고객 데이터(JSON)
• 2018 ~ 2019년 동안의 인보이스 데이터(Parquet 형식)
• 인보이스 데이터(JSON gzip 압축)
Data Lake 구성
1. Atlas에서 새 Data Lake 구성
2. Data Lake 연결
3. 데이터베이스 및 컬렉션 구성
4. Data Lake 쿼리 실행
Files in S3 bucket: ent-archive
/archive/customers
- a-m.json
- n-z.json
/archive/invoices
- 2019
- 1.parquet
- 2.parquet
- 2018
- 1.parquet
- 2017.json.gz
- 2016.json.gz
Atlas에서 새 Data Lake 구성
Data Lake 구성
1. Atlas에서 새 Data Lake 구성
2. Data Lake 연결
3. 데이터베이스 및 컬렉션 구성
4. Data Lake 쿼리 실행
Data Lake 연결: 화이트리스트 추가
Data Lake 연결: 사용자 생성
Data Lake 구성
1. Atlas에서 새 Data Lake 구성
2. Data Lake 연결
3. 데이터베이스 및 컬렉션 구성
4. Data Lake 쿼리 실행
구성: S3 저장소
let DataLakeS3 = {
"s3": {
name: "ent-archive", // S3 store name for Data Lake config
bucket: "ent-archive", // Name of the S3 bucket
region: "ap-northeast-2", // Bucket region code
prefix: "/archive/" // Base path in the S3 bucket
}
}
구성: 데이터베이스 및 컬렉션
let DataLakeDatabases = {
history: {
customers: [{
store: "ent-archive",
definition: "/customers/*"
}],
invoices: [{
store: "ent-archive",
definition: "/invoices/{year int}/*"
}, {
store: "ent-archive",
definition: "/invoices/{year int}.json.gz"
}]
}}
구성: 데이터베이스 및 컬렉션
let DataLakeDatabases = {
history: {
customers: [{
store: "ent-archive",
definition: "/customers/*"
}],
invoices: [{
store: "ent-archive",
definition: "/invoices/{year int}/*"
}, {
store: "ent-archive",
definition: "/invoices/{year int}.json.gz"
}]
}}
고객 컬렉션에서 히스토리 데이터베이스를 정의합니다. 이
정의는 일치하는 파일이 어떤 것인지 판단합니다.
구성: 데이터베이스 및 컬렉션
let DataLakeDatabases = {
history: {
customers: [{
store: "ent-archive",
definition: "/customers/*"
}],
invoices: [{
store: "ent-archive",
definition: "/invoices/{year int}/*"
}, {
store: "ent-archive",
definition: "/invoices/{year int}.json.gz"
}]
}}
정의에 * 와일드카드 문자를 추가하면 Data Lake에게 경로의 해당
지점에서 모든 파일과 폴더를 포함시키도록 명령할 수 있습니다.
구성: 데이터베이스 및 컬렉션
let DataLakeDatabases = {
history: {
customers: [{
store: "ent-archive",
definition: "/customers/*"
}],
invoices: [{
store: "ent-archive",
definition: "/invoices/{year int}/*"
}, {
store: "ent-archive",
definition: "/invoices/{year int}.json.gz"
}]
}}
파일 이름에 대해 여러 개의 구문 분석 함수를 지정할 수 있습니다.
구성: 데이터베이스 및 컬렉션
let DataLakeDatabases = {
history: {
customers: [{
store: "ent-archive",
definition: "/customers/*"
}],
invoices: [{
store: "ent-archive",
definition: "/invoices/{year int}/*"
}, {
store: "ent-archive",
definition: "/invoices/{year int}.json.gz"
}]
}}
파일 이름에서 정적 문자열과 더불어 구문 분석 함수를 지정할 수
있습니다.
Data Lake 구성 저장
db.adminCommand({"storageSetConfig": {
"stores": [
DataLakeS3
],
databases": DataLakeDatabases
})
Data Lake 구성
1. Atlas에서 새 Data Lake 구성
2. Data Lake 연결
3. 데이터베이스 및 컬렉션 구성
4. Data Lake 쿼리 실행
MongoDB Atlas를 통한 쿼리 실행
• Atlas 사용자에게는 readWriteAnyDatabase 또는 readAnyDatabase
역할이 필요
• Mongo 셸 및 MongoDB Compass가 포함된 MongoDB
드라이버/클라이언트 사용
• MQL(MongoDB Query Language)로 쿼리 작성
MQL을 사용한 쿼리 실행
> use history
> show collections
customers
> db.customers.find({…})
> db.customers.aggregate({…})
Atlas Data Lake 아키텍처
MQL à 분산 MQL
쿼리 구문 분석
병렬 방식 처리
워크로드 분산
Atlas Data Lake 아키텍처
Atlas
제어
제어
플레인
컴퓨팅
플레인
데이터
플레인
DataLake
프론트엔
드
DataLake
에이전트
로드 밸런서
로드 밸런서
DataLake
프론트엔드
DataLake
에이전트
로드 밸런서
로드 밸런서
DataLake
프론트엔
드
DataLake
에이전트
로드 밸런서
로드 밸런서
지능적 파일 타겟팅
invoices: [{
store: "ent-archive",
definition: "/invoices/{year int}/*"
}, {
store: "ent-archive",
definition: "/invoices/{year int}.json.gz"
}]
Data Lake가 연도 필드에서 쿼리를 수신할 때 쿼리와 일치하는
데이터가 포함된 파일을 식별할 수 있습니다.
추가 개선
향후: MongoDB 연산자 추가
$out
$merge
$graphLookup
공간 연산자
전체 텍스트 검색
향후: 성능 최적화
• 어그리게이션 파이프라인 단계에 대해 coalesce 또는
reorder 함수 실행
• 인덱스 생성/사용
• 데이터에 대한 통계 구축
향후: 추가 파일 형식
• Apache ORC(Optimised Row Columnar)
• Excel
• PDF
향후: 통합
• MongoDB Atlas
• Microsoft Azure
• Google Cloud
요약
Atlas Data Lake의 이점:
액세스- 여러 형식으로 장기 데이터에 액세스
쿼리 실행 - MQL을 사용하여 장기 데이터 대상
분석 - 온디맨드 방식으로 장기 데이터 분석
감사합니다!
@stennie
MongoDB Atlas Data Lake
집중 분석
[Stephen Steneker]
https://www.research.net/r/DataLakeSeoul

Contenu connexe

Tendances

AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
Amazon Web Services Korea
 

Tendances (20)

데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
 
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
 
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
 
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lake
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
 
ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례
 
AWS App Runner를 활용한 컨테이너 서버리스 활용기
AWS App Runner를 활용한 컨테이너 서버리스 활용기AWS App Runner를 활용한 컨테이너 서버리스 활용기
AWS App Runner를 활용한 컨테이너 서버리스 활용기
 
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
 
[보험사를 위한 AWS Data Analytics Day] 4_신한금융그룹의 데이터 댐_Do...
[보험사를 위한 AWS Data Analytics Day] 4_신한금융그룹의 데이터 댐_Do...[보험사를 위한 AWS Data Analytics Day] 4_신한금융그룹의 데이터 댐_Do...
[보험사를 위한 AWS Data Analytics Day] 4_신한금융그룹의 데이터 댐_Do...
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
SSL/TLS 1.3 Deep Dive
SSL/TLS 1.3 Deep Dive SSL/TLS 1.3 Deep Dive
SSL/TLS 1.3 Deep Dive
 

Similaire à MongoDB Atlas Data Lake 집중 분석 [MongoDB]

AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
Amazon Web Services Korea
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
sung ki choi
 
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
Amazon Web Services Korea
 
모든 데이터를 위한 단 하나의 저장소, Amazon S3 기반 데이터 레이크::정세웅::AWS Summit Seoul 2018
모든 데이터를 위한 단 하나의 저장소, Amazon S3 기반 데이터 레이크::정세웅::AWS Summit Seoul 2018모든 데이터를 위한 단 하나의 저장소, Amazon S3 기반 데이터 레이크::정세웅::AWS Summit Seoul 2018
모든 데이터를 위한 단 하나의 저장소, Amazon S3 기반 데이터 레이크::정세웅::AWS Summit Seoul 2018
Amazon Web Services Korea
 
Amazon S3 고급 활용 기법 - AWS Summit Seoul 2017
Amazon S3 고급 활용 기법  - AWS Summit Seoul 2017Amazon S3 고급 활용 기법  - AWS Summit Seoul 2017
Amazon S3 고급 활용 기법 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

Similaire à MongoDB Atlas Data Lake 집중 분석 [MongoDB] (20)

AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
 
클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트
클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트
클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트
 
AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기
 
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
 
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
 
Object storage의 이해와 활용
Object storage의 이해와 활용Object storage의 이해와 활용
Object storage의 이해와 활용
 
[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명
[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명
[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명
 
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
 
분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축
 
AWS Summit Seoul 2023 | 데이터, 분석 및 AI를 통합하는 단 하나의 레이크하우스, Databricks on AWS 로 ...
AWS Summit Seoul 2023 | 데이터, 분석 및 AI를 통합하는 단 하나의 레이크하우스, Databricks on AWS 로 ...AWS Summit Seoul 2023 | 데이터, 분석 및 AI를 통합하는 단 하나의 레이크하우스, Databricks on AWS 로 ...
AWS Summit Seoul 2023 | 데이터, 분석 및 AI를 통합하는 단 하나의 레이크하우스, Databricks on AWS 로 ...
 
손쉬운 데이터 연결 방법(라이브바인딩 활용)
손쉬운 데이터 연결 방법(라이브바인딩 활용)손쉬운 데이터 연결 방법(라이브바인딩 활용)
손쉬운 데이터 연결 방법(라이브바인딩 활용)
 
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
 
민첩하고 비용효율적인 Data Lake 구축 - 문종민 솔루션즈 아키텍트, AWS
민첩하고 비용효율적인 Data Lake 구축 - 문종민 솔루션즈 아키텍트, AWS민첩하고 비용효율적인 Data Lake 구축 - 문종민 솔루션즈 아키텍트, AWS
민첩하고 비용효율적인 Data Lake 구축 - 문종민 솔루션즈 아키텍트, AWS
 
모든 데이터를 위한 단 하나의 저장소, Amazon S3 기반 데이터 레이크::정세웅::AWS Summit Seoul 2018
모든 데이터를 위한 단 하나의 저장소, Amazon S3 기반 데이터 레이크::정세웅::AWS Summit Seoul 2018모든 데이터를 위한 단 하나의 저장소, Amazon S3 기반 데이터 레이크::정세웅::AWS Summit Seoul 2018
모든 데이터를 위한 단 하나의 저장소, Amazon S3 기반 데이터 레이크::정세웅::AWS Summit Seoul 2018
 
Amazon S3 고급 활용 기법 - AWS Summit Seoul 2017
Amazon S3 고급 활용 기법  - AWS Summit Seoul 2017Amazon S3 고급 활용 기법  - AWS Summit Seoul 2017
Amazon S3 고급 활용 기법 - AWS Summit Seoul 2017
 
AWS Summit Seoul 2023 | MongoDB Atlas와 함께하는 Developer Data Platform
AWS Summit Seoul 2023 | MongoDB Atlas와 함께하는 Developer Data PlatformAWS Summit Seoul 2023 | MongoDB Atlas와 함께하는 Developer Data Platform
AWS Summit Seoul 2023 | MongoDB Atlas와 함께하는 Developer Data Platform
 
기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...
기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...
기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...
 

Plus de MongoDB

Plus de MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Dernier

Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
Wonjun Hwang
 

Dernier (7)

Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 

MongoDB Atlas Data Lake 집중 분석 [MongoDB]

  • 1. Atlas Data Lake 기술 심층 분석 Stephen Steneker 기술 서비스 담당 디렉터
  • 2. Atlas Data Lake 기술 심층 분석 1. 설계 목표 2. Atlas Data Lake 생성 방법 3. Atlas Data Lake 아키텍처 4. 추가 개선
  • 4. Atlas Data Lake를 구축하려는 이유 • 기업들은 엄청난 양의 데이터를 보유하고 있습니다. • 클라우드 스토리지는 장기 데이터를 보관하는 데 비용 효과적이지만 • 운영이 까다롭습니다. IDC는 2025년이면 전 세계 데이터가 175제타바이트에 육박하게 될 것이고, 이 가운데 49%는 퍼블릭 클라우드에 상주할 것으로 전망하고 있습니다.
  • 5. Atlas Data Lake의 이점 액세스– 다양한 형식으로 오랜 기간을 저장하는 데이터 쿼리 실행 - MQL을 이용한 쿼리 분석 - 온디맨드 방식을 기반으로 데이터 분석
  • 6. Atlas Data Lake의 특징 다양한 데이터 형식 확장성 MongoDB 쿼리 언어 서버리스 온디맨드 Atlas에 통합
  • 7. 구현 요구 사항 • MongoDB와 동일한 인터페이스 및 작동 방식 • 장기 실행 쿼리를 처리 • 고객 데이터에 안전하게 액세스 • 고객이 완벽한 제어권을 보유 • 대량의 데이터에 대한 쿼리 실행 지원 • 효율적인 리소스 사용 • 다양한 데이터 형식 지원
  • 8. MongoDB 와이어 프로토콜 지원 요구 사항 MongoDB와 유사한 외관 및 작동 방식 솔루션 GO기반의 TCP 서버를 실행 MongoDB Go Driver의 와이어 프로토콜 패키지 사용 MongoDB Go Driver의 BSON 패키지 사용
  • 9. MongoDB 쿼리 언어(MQL) 지원 요구 사항 MongoDB와 유사한 인터페이스 및 작동 방식 장기 실행 쿼리 처리 솔루션 읽기 전용 mongod 서버에서 명령어 실행 커서와 getMore 명령 지원 포함 서버의 집계(aggregation) 엔진 사용
  • 10. MongoDB 보안 모델 요구 사항 MongoDB와 유사한 인터페이스 및 작동 방식 고객 데이터에 안전하게 액세스 솔루션 MongoDB Atlas에서 사용자 구성 TLS와 SNI의 동시 사용 필요성
  • 11. 고객 데이터 보안 요구 사항 고객이 완벽한 제어권을 보유 솔루션 사용자에게 IAM 역할 제공 버킷 구성 Atlas에서 사용자 구성
  • 12. 확장 가능한 처리 요구 사항 대량의 데이터에 대한 쿼리 실행 지원 효율적인 리소스 사용 솔루션 분산된 MQL 처리 지능적인 파일 타겟팅
  • 13. 데이터 형식 요구 사항 다양한 데이터 형식 지원 솔루션 Apache Avro Apache Parquet BSON JSON CSV/TSV (더 많은 형식 추가 중)
  • 14. Atlas Data Lake 생성 방법
  • 15. 데이터 레이아웃 제어 저장소 데이터베이스 컬렉션 데이터 소스 컬렉션컬렉션 저장소 저장소 데이터베 이스 데이터 소스 데이터 소스 데이터 소스
  • 16. 사전 조건 • MongoDB Atlas M10+ 클러스터 • 동일한 AWS 계정에 하나 이상의 S3 버킷 • AWS 계정에 액세스하거나 IAM 역할 생성 권한이 있는 관리 콘솔에 액세스할 수 있도록 AWS CLI를 구성
  • 17. Data Lake 시나리오 • 고객 데이터(JSON) • 2018 ~ 2019년 동안의 인보이스 데이터(Parquet 형식) • 인보이스 데이터(JSON gzip 압축)
  • 18. Data Lake 구성 1. Atlas에서 새 Data Lake 구성 2. Data Lake 연결 3. 데이터베이스 및 컬렉션 구성 4. Data Lake 쿼리 실행
  • 19. Files in S3 bucket: ent-archive /archive/customers - a-m.json - n-z.json /archive/invoices - 2019 - 1.parquet - 2.parquet - 2018 - 1.parquet - 2017.json.gz - 2016.json.gz
  • 20. Atlas에서 새 Data Lake 구성
  • 21. Data Lake 구성 1. Atlas에서 새 Data Lake 구성 2. Data Lake 연결 3. 데이터베이스 및 컬렉션 구성 4. Data Lake 쿼리 실행
  • 22. Data Lake 연결: 화이트리스트 추가
  • 23. Data Lake 연결: 사용자 생성
  • 24. Data Lake 구성 1. Atlas에서 새 Data Lake 구성 2. Data Lake 연결 3. 데이터베이스 및 컬렉션 구성 4. Data Lake 쿼리 실행
  • 25. 구성: S3 저장소 let DataLakeS3 = { "s3": { name: "ent-archive", // S3 store name for Data Lake config bucket: "ent-archive", // Name of the S3 bucket region: "ap-northeast-2", // Bucket region code prefix: "/archive/" // Base path in the S3 bucket } }
  • 26. 구성: 데이터베이스 및 컬렉션 let DataLakeDatabases = { history: { customers: [{ store: "ent-archive", definition: "/customers/*" }], invoices: [{ store: "ent-archive", definition: "/invoices/{year int}/*" }, { store: "ent-archive", definition: "/invoices/{year int}.json.gz" }] }}
  • 27. 구성: 데이터베이스 및 컬렉션 let DataLakeDatabases = { history: { customers: [{ store: "ent-archive", definition: "/customers/*" }], invoices: [{ store: "ent-archive", definition: "/invoices/{year int}/*" }, { store: "ent-archive", definition: "/invoices/{year int}.json.gz" }] }} 고객 컬렉션에서 히스토리 데이터베이스를 정의합니다. 이 정의는 일치하는 파일이 어떤 것인지 판단합니다.
  • 28. 구성: 데이터베이스 및 컬렉션 let DataLakeDatabases = { history: { customers: [{ store: "ent-archive", definition: "/customers/*" }], invoices: [{ store: "ent-archive", definition: "/invoices/{year int}/*" }, { store: "ent-archive", definition: "/invoices/{year int}.json.gz" }] }} 정의에 * 와일드카드 문자를 추가하면 Data Lake에게 경로의 해당 지점에서 모든 파일과 폴더를 포함시키도록 명령할 수 있습니다.
  • 29. 구성: 데이터베이스 및 컬렉션 let DataLakeDatabases = { history: { customers: [{ store: "ent-archive", definition: "/customers/*" }], invoices: [{ store: "ent-archive", definition: "/invoices/{year int}/*" }, { store: "ent-archive", definition: "/invoices/{year int}.json.gz" }] }} 파일 이름에 대해 여러 개의 구문 분석 함수를 지정할 수 있습니다.
  • 30. 구성: 데이터베이스 및 컬렉션 let DataLakeDatabases = { history: { customers: [{ store: "ent-archive", definition: "/customers/*" }], invoices: [{ store: "ent-archive", definition: "/invoices/{year int}/*" }, { store: "ent-archive", definition: "/invoices/{year int}.json.gz" }] }} 파일 이름에서 정적 문자열과 더불어 구문 분석 함수를 지정할 수 있습니다.
  • 31. Data Lake 구성 저장 db.adminCommand({"storageSetConfig": { "stores": [ DataLakeS3 ], databases": DataLakeDatabases })
  • 32. Data Lake 구성 1. Atlas에서 새 Data Lake 구성 2. Data Lake 연결 3. 데이터베이스 및 컬렉션 구성 4. Data Lake 쿼리 실행
  • 33. MongoDB Atlas를 통한 쿼리 실행 • Atlas 사용자에게는 readWriteAnyDatabase 또는 readAnyDatabase 역할이 필요 • Mongo 셸 및 MongoDB Compass가 포함된 MongoDB 드라이버/클라이언트 사용 • MQL(MongoDB Query Language)로 쿼리 작성
  • 34. MQL을 사용한 쿼리 실행 > use history > show collections customers > db.customers.find({…}) > db.customers.aggregate({…})
  • 35. Atlas Data Lake 아키텍처
  • 36. MQL à 분산 MQL 쿼리 구문 분석 병렬 방식 처리 워크로드 분산
  • 37. Atlas Data Lake 아키텍처 Atlas 제어 제어 플레인 컴퓨팅 플레인 데이터 플레인 DataLake 프론트엔 드 DataLake 에이전트 로드 밸런서 로드 밸런서 DataLake 프론트엔드 DataLake 에이전트 로드 밸런서 로드 밸런서 DataLake 프론트엔 드 DataLake 에이전트 로드 밸런서 로드 밸런서
  • 38. 지능적 파일 타겟팅 invoices: [{ store: "ent-archive", definition: "/invoices/{year int}/*" }, { store: "ent-archive", definition: "/invoices/{year int}.json.gz" }] Data Lake가 연도 필드에서 쿼리를 수신할 때 쿼리와 일치하는 데이터가 포함된 파일을 식별할 수 있습니다.
  • 40. 향후: MongoDB 연산자 추가 $out $merge $graphLookup 공간 연산자 전체 텍스트 검색
  • 41. 향후: 성능 최적화 • 어그리게이션 파이프라인 단계에 대해 coalesce 또는 reorder 함수 실행 • 인덱스 생성/사용 • 데이터에 대한 통계 구축
  • 42. 향후: 추가 파일 형식 • Apache ORC(Optimised Row Columnar) • Excel • PDF
  • 43. 향후: 통합 • MongoDB Atlas • Microsoft Azure • Google Cloud
  • 45. Atlas Data Lake의 이점: 액세스- 여러 형식으로 장기 데이터에 액세스 쿼리 실행 - MQL을 사용하여 장기 데이터 대상 분석 - 온디맨드 방식으로 장기 데이터 분석
  • 47. MongoDB Atlas Data Lake 집중 분석 [Stephen Steneker] https://www.research.net/r/DataLakeSeoul